一、CentOS系统启动流程图解
创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、做网站、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
二、启动详解
1.开机自检
服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多数时候会移交给本机硬盘。
2. MBR 引导
当从本机硬盘中启动系统时,首先根据硬盘第1个扇区中MBR(Master Boot Record主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单(GRUB)。
3. GRUM菜单
对于Linux系统来说,GRUB算是使用最为广泛的多系统引导器程序了。系统控制权传递给GRUB以后,将会显示启动菜单提供给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。
4.加裁Linux内核
Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。
5.INIT进程初始化
为了完成进一步的系统引导过程,Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行(运行中的程序称为进程),init进程负责完成一系列的系统初始化过程
init进程
与使用数字标记用户账号、组账号类似,Linux系统中的进程(运行中的程序)也使用数字进行标记,每个进程的身份标记号称为PID。在引导Linux系统的过程中,init进程是系统中第一个进程,PID(进程标记)号永远为1
init进程运行以后将陆续执行系统中的其他程序,不断生成新的进程,这些进程称为init进程的子进程,反过来说init进程是这些进程的父进程。当然,这些子进程也可以进一步生成各自的子进程,依次不断繁衍下去,最终构成一棵枝繁叶茂的进程树,共同为用户提供服务。
从以上描述可以看出,init进程正是维持整个Linux系统运行的所有进程的"始祖",因此init进程是不允许被轻易终止的。需要切换不同的系统运行状态时,可以向init进程发送正确的执行参数,由init自身来完成相关操作。
三.Systemd单元类型
四.运行级别
Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。
运行级别(runlevel)的分类:
五.MBR扇区故障修复
MBR引导记录位于物理硬盘的第一个扇区(512B),该扇区又称为主引导扇区(MBR扇区),除了包含系统引导程序的部分数据以外,还包含了整个硬盘的分区表记录。主引导扇区发生故障时,将可能无法进入引导菜单,或者因无法找到正确的分区位置而无法加载系统,通过该硬盘引导主机时很可能进入黑屏状态。
(1)事先准备一块磁盘
(2).将MBR引导文件备份到新磁盘中
dd if=/dev/sda of=/data/sda.mbr.bak bs=512 count=1
(3).模拟破坏mbr引导扇区
dd if=/dev/zero of=/dev/sda bs=512 count=1
(4).重启 reboot 会出现下面dhcp搜索的情况
(5).将系统镜像文件的驱动盘放入,重启,并在读条的过程按下ESC键,选择CD-ROM Drive
(6).选择Troubleshooting 疑难问题
(6).选择Rescue a Centos system
(7).等待一段时间后,出现下面界面 输入1 选择继续
(8).这个时候输入ls 你会发现我们放备份文件的挂载点不在列表中
(9).我们新建一个挂载点,将sdb1挂载到该文件夹,你会看到我们前面备份的文件
(10).将该备份文件覆盖我们的mbr扇区引导文件
(11).输入reboot 重启
这样修复就完成了