Linux的引导过程包括两步:
第1步:从BIOS到Kernel
计算机在接通电源之后首先由BIOS进行自检,即进行所谓的POST(Power On Self Test),然后依据BIOS内设置的引导顺序从硬盘、软盘或CDROM中读入“引导块”。如果BIOS中设的引导顺序为C在最前面,那么就把第一个IDE硬盘的第0柱,第0面,第1扇区读入内存,然后跳到那里开始执行。这个扇区有一个名字叫做MBR(Master Boot Record,主引导记录)。MBR里存放的是一小段程序以及分区表的数据。在使用Windows时,这里面放的代码就把分区表里标记为Active的分区的第一个扇区(一般存放着操作系统的引导代码)读入内存并跳转到那里开始执行,而在用GRUB引导Linux时,有两种选择:
(1)把GRUB安装在MBR
这时就由BIOS直接把GRUB代码调入内存,然后执行GRUB。即 BIOS→GRUB(在MBR中)→Kernel。
(2) 把GRUB安装在Linux分区把GRUB安装在Linux分区,并把Linux分区设为Active。这时,BIOS调入的是Windows下的MBR代码,然后由这段代码来调入GRUB的代码(位于活动分区的第1个扇区)。即BIOS→MBR→GRUB(在活动分区的第1个扇区)→Kernel。
第2步:从Kernel到Login Prompt(登录提示)
在Kernel执行之后,将生成第一个进程,即init,也就是执行/sbin/init。init的工作是根据/etc/inittab来执行相应的脚本,进行系统的初始化,如设置键盘、字体、装载模块和设置网络等。