辛星浅析Linux的启动流程

       对于Linux系统来说,系统的整个启动过程分为六个部分,我们分别介绍如下:

     

     第一部分:BIOS

        所谓BIOS,也就是basic   input   ouput  system,可以称之为基本输入输出系统,一般都是保存在主板上的BIOS芯片中。计算机启动时第一个运行的就是BIOS,它主要负责对硬件的检测,当电脑的硬件检测不通过时,电脑会发出滴滴的声音,这个时候我们就要对硬件进行检查了。

   


    第二部分:MBR

        所谓MBR,也就是Master   Boot  Recorder,我们可以称之为主引导记录。在分区的时候,硬盘的第一个扇区512字节存放的就是这个MBR,如果该设备可启动,那么该扇区的最后两个字节就应该是55AA,因此在寻找可启动设备时,如果该设备的最后两个字节是这个,那么该设备就是可启动的,BIOS在找到可启动设备后会执行其引导代码。MBR除去分区表的64字节,再除去最后的两个标志字节,则MBR的引导代码就是MBR的前446个字节,这446个字节存放的是启动引导程序的一些代码。

    


     第三部分:GRUB

          所谓GRUB,也就是GRand  Unified  Bootloader,它是一个多重操作系统启动管理器,它是现在Linux使用的主流的引导程序,它不仅可以用来引导Linux,还可以用来引导BSD、Mac OS、Windows等等,GRUB的配置保存在//boot/grub这个目录下,它里面有个stage1,这个文件就是MBR的一个备份,如果MBR出问题了,我们可以用他来恢复。当我们的GRUB引导程序运行完就要去加载文件系统中的操作系统内核,也就是kernel了,这个对于不同的操作系统可能就差距很大了。在我们执行完stage1之后会加载一些文件,它的目的就是去找操作系统的内核以及驱动信息,在这些执行完就会去执行stage2这个文件,它包含了整个操作系统的引导程序的代码。


     第四部分:Kernel

           MBR引导代码就是为了启动GRUB去加载操作系统的内核,而Linux系统的内核是放在/boot目录下的,我们在系统启动完之后可以用dmesg来查看本次启动时操作系统的内核输出信息,它和/var/log/demsg的内容一般是一样的。

  

     第五部分:init

          在操作系统加载完内核之后,这时操作系统上的第一个进程init就启动了,这个进程会一直启动,直到系统退出关机,而init进程会调用   /etc/rc.d/rc.sysinit这个脚本来对系统进行初始化,并且根据它来运行启动基本的服务。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。