linux系统启动流程

1.power on

2.硬件引导阶段。
BIOS(basic input/output system)加电自检。初始化硬件,例如内存,显卡,磁盘等。然后查找启动介质,例如光驱,USB,硬盘等。查找启动介质中第一扇区0头0道1扇区。也 就是MBR的所在。(MBR占512字节分为3个部分,第一,Bootloader占用446字节,第二,分区表,占用64自己,第三,校验,占用2字 节)。其他GRUB安装在Bootloader中。

3.GRUB启动引导阶段
这一阶段分为stage1和stage2,还有stage1_5,stage1是在Bootloader中。stage2比较大,存在硬盘中,但是1和2不能直接交流,所以有1_5来做桥梁的作用。通过/boot/grub/grub.conf文件找到内核与内核镜像。

4.内核引导阶段
执行/boot/initrd
在内存中释放供kernel使用的root-filesystem,执行真正的根文件系统中的/sbin/init进程。(/sbin/init进程是所有进程的祖宗进程)

5.初始化阶段
/sbin/init进程通过/etc/inittab文件获得启动的级别。然后通过/etc/rc.sysinit 执行系统的初始化(网络,时间,防火墙等),其中还会执行/etc/rc.d/rc.local这个文件,来执行用户自定义的一些开机启动。接下来,通过 之前查到的启动级别,执行/etc/rc.d/rc*.d/目录下的脚本。(*为0-6)(脚本中以k开头的不启动,以s开头的启动。)
接下来启动/sbin/mingetty 来启动6个tty,如果有界面的话还会启动一个界面的。

6.启动完成。
这时可以输入密码,登录系统。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章