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開啓啓動完成。


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