Linux开机启动顺序简述

Linux的开机启动顺序

第一步:当然是加电了


第二步:加载BIOS设置,选择启动盘。这是因为因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。在BIOS将系统的控制权交给启动硬盘第一个扇区之后,就开始由Linux来控制系统了。


第三步:加载磁盘中MBR中的grub

MBR(Master Boot Record):即主引导分区,是启动盘的前512字节,里面存放了预启动信息和分区信息。前446个字节,即是grub引导程序后66个字节是分区表的信息


第四步:加载Linux内核系统到内存当中,运行超级进程/sbin/init进程。在Linux系统中,init进程的进程号永远是1,也就是说,系统中的所有进程的父进程都是init进程。可以使用命令pstree进行查看。


第五步:加载配置文件。init程序启动之后,会读取/etc/inittab文件,来决定系统的运行级别,Linux系统的运行级别有7中,从0-6

    # 0 - 关机模式(千万不要把initdefault设置为0 ,要不然你永远开不了机) 

    # 1 - 单用户模式 (此模式相当于救援模式,内核损坏,root忘记密码等可以使用此模式进行恢复。相当于windows下的安全模式)

    # 2 - 多用户,但是没有NFS 

    # 3 - 完全多用户模式 (文本命令行界面,一般服务器都是此模式)

    # 4 - 保留未使用 

    # 5 - 图形桌面(系统启动之后会进入到图形化桌面系统中)

    # 6 - 重新启动(千万不要把initdefault设置为6 )

平时我们常用的也就是1,3,5。可以使用init 3 ,init 5进行切换。运行级别决定之后,加载相应的配置文件。第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等


第六步:加载内核模块,具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。


第七步:根据运行级别,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。


第八步:启动init.d下的系统进程


第九步:出现登录系统的画面。


至此,Linux开启启动完成。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章