Centos7系统怎么启动吗?

  

这篇文章给大家分享的是Centos7系统启动流程,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

熟悉系统启动流程对于我们学习Linux系统是非常有帮助的,虽然基础,但能帮助我们更加理解Linux系统的工作机制。以下将以CentOS发行版为例来介绍Linux系统的启动流程,因为在CentOS 5, CentOS 6以及CentOS 7使用的初始化程序init各不相同,虽然CentOS 6和CentOS 7都有向后兼容,但在工作机制上仍有一些差异,因此以下主要介绍CentOS 5/6系统启动流程。

CentOS的启动流程总体顺序如下(以CentOS 6为例):

POST——比;引导顺序——比;引导装载程序(MBR)——比;内核——比;加载rootfs——比;switchroot——比;/sbin/init——比;(配置文件:/etc/inittab,/etc/init/* . conf)——比;根据init配置文件设置默认运行级别——比;运行系统初始化脚本到/etc/rc。sysinit,完成系统初始化——比;开启或关闭用户选定的对应运行级别下所对应的服务——比;启动终端,打印登录提示符。

注意:红色部分代表内核空间的系统启动流程,紫色部分代表用户空间的系统启动流程。

接下来逐一详解:

第一步:贴加电自检

,,主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的罗(主要代表为CMOS)芯片上的BIOS(基本输入/输出系统)程序,例如BIOS会检测CPU、内存以及I/O设备是否能够正常运行,如果是个人计算机的话可能还会检测一下显示器。只要一通电,CPU就会自动去加载罗芯片上的BIOS程序,是这样来实现的。而检测完成之后就进行硬件设备的初始化。

第二步:启动顺序(选择启动设备以加载MBR)

,,主要实现的功能是选择要启动的硬件设备,选择了之后就可以读取这个设备上位于MBR里头的引导装载程序了。这一步的实现是这样的:根据BIOS中对启动顺序的设定,BIOS自己会依次扫描各个引导设备,然后第一个被扫描到具有引导程序(引导装载程序)的设备就被作为要启动的引导设备。

第三步:加载引导装载程序(MBR)

,,这一步实现起来的步骤比较多,前面的BIOS通过读取并执行启动设备的MBR中的引导装载程序,而引导装载程序要实现的功能就是提供一个菜单给用户,让用户去选择要启动的系统或不同的内核版本,然后把用户选择的内核版本加载至内存中的特定空间,接着在RAM中解压,展开,而后把系统控制权移交给内核。

,grub是才能引导装载程序中的一种,就grub来说,为了打破在MBR中只有446字节用于存放引导装载程序这一限制,所以这一步的实现是这样的:grub是通过分成三个阶段来实现加载内核这一功能的,这三个阶段分别是:stage1, stage1.5以及stage2。其中:

,stage1:才能存放于MBR的前446字节,用于加载stage1.5阶段,目的是为了识别并驱动stage2(或者/boot)所在分区的文件系统;

,stage1.5:才能存放于MBR之后的扇区,加载stage2所在分区的文件系统驱动,让stage1中的引导装载程序能识别stage2所在分区的文件系统;

,stage2:才能存放于磁盘分区之上,具体存放于/boot/grub目录之下,主要用于加载内核文件(vmlinuz-VERSION-RELEASE)以及ramdisk这个临时根文件系统(initrd-VERSION-RELEASE.img或initramfs-VERSION-RELEASE.img)。

,,概述:假如要启动的是硬盘设备,首先我们的硬件平台主板BIOS必须能够识别硬盘,然后BIOS才能加载硬盘中的引导装载程序,而引导装载程序自身加载后就能够直接识别当前主机上的硬盘设备了;不过,能够识别硬盘设备不代表能够识别硬盘设备中的文件系统,因为文件系统是额外附加的一层软件组织的文件结构,所以要对接一种文件系统,就必须要有对应的能够识别和理解这种文件系统的驱动,这种驱动就称为文件系统驱动。而stage1.5就是向grub提供文件系统驱动的,这样stage1就能访问stage2及内核所在的分区(/boot)了。

<代码>注意:内核和initramfs的文件路径均以grub的 <代码>“根” <代码>作为起始目录,且存放于stage2所在分区上;

,,需要注意的是,stage2内核以及ramdisk文件通常放置于一个基本磁盘分区之上,因为grub无法驱动lvm,高级软raid等复杂逻辑设备,除非提供一个复杂的驱动接口,否则如果stage2及内核等文件都存放在lvm等复杂逻辑设备上将无法被stage1所识别,更别说加载了!

第四步:内核自身初始化

,,Kerenl在得到系统控制权之后,首先要进行自身初始化,而初始化的主要作用是:

,,(1)探测可识别到的所有硬件设备,

Centos7系统怎么启动吗?