grub 引导流程

来源:互联网 发布:java swing 日期控件 编辑:程序博客网 时间:2024/05/16 10:16

①固件自检fireware(CMOS/BIOS)----->POST加电自检过程. BIOS(basic input/output system)其为固化在主板上的一段程序.主要用于硬件的连接是否

| 正确和读取硬盘信息.

|

|

自举程序Bootloader(GRUB)->载入内核 这里注意: MBR(Master Boot Record)中的第一块硬盘,第0个盘面,第0个磁道,

读取配置文件 /etc/grub.conf  其实是/boot/grub/grub.conf的软连接..第一个扇区内的512个字节.其中446字节为grub程序 64字节为磁盘分区表,2字节为

| magic number 磁盘号.

|

|

载入内核 Kernel -->驱动硬件其实系统是通过多次载入到内存中的.首先是要进行解压操作.

读取/boot/vmlinz文件,不要以为linux内核是好多文件,其实就是这一个压缩文件.

|

|

|

④启动进程init init进程的PID永远是1.init进程是所有进程的父进程.init进程结束,系统重启.

|

|

|

⑤系统读取的第一个配置文件/etcinittab文件. inittab文件的格式为 id:runlevel:action:process

读取其默认运行级别(runlevel). id不用讲,唯一标示runlevel标示在哪些运行级别下,该条配置会被读取.

执行脚本 /etc/rc.d/rc.sysinit,/etc/rc.d/rc等等. action是指需要进行的怎样的动作. process标示需要执行的脚本.

|

|

|

⑥根据运行级别,启动/etc/rcN.d目录下的相应服务程序. 以S开头的文件标示需要启动的程序,K开头的表示需要杀死的进程.

系统启动完毕了. 后面的数字表示开启或者关闭的优先级.数字越小,优先级越高.



0 0
原创粉丝点击