Linux啟動(dòng)流程

Linux的啟動(dòng)流程如下:

1.計(jì)算機(jī)加載BISO,它其中一項(xiàng)很重要的功能是對(duì)自身的健康進(jìn)行檢查,只有在硬件沒(méi)有問(wèn)題的情況下,才會(huì)運(yùn)行軟件,這種方式叫作‘Power On SelfTest’ (加電自檢),簡(jiǎn)稱POST,如果所有的硬件都自檢通過(guò),就會(huì)發(fā)出滴的短聲提示,說(shuō)明硬件正常。
2.加載引導(dǎo)系統(tǒng),這個(gè)動(dòng)作是BIOS設(shè)定的,BISO默認(rèn)會(huì)從硬盤上的第0柱面、第0磁道、第一個(gè)扇區(qū)中讀取被稱為MBR的東西,即主引導(dǎo)記錄。一個(gè)扇區(qū)的大小是512個(gè)字節(jié),存放的內(nèi)容是一段引導(dǎo)程序和分區(qū)信息,其中引導(dǎo)程序部分在用446個(gè)字節(jié),另外64字節(jié)是磁盤分區(qū)表DPT,最后兩個(gè)字節(jié)是MBR的結(jié)束位。由于RedHat、Centos默認(rèn)會(huì)使用Grub作為其引導(dǎo)操作系統(tǒng)的程序,而Grub本身又比較大,所以常見(jiàn)的方式是在MBR中寫入Grub的地址,這樣系統(tǒng)實(shí)際會(huì)載入Grub作為操作系統(tǒng)的引導(dǎo)程序。
3.運(yùn)行Grub,Grub最重要的功能就是根據(jù)其配置文件加載kernel鏡像,并運(yùn)行內(nèi)核加載后的第一個(gè)程序/sbin/init。這個(gè)程序會(huì)根據(jù)/etc/inittab來(lái)進(jìn)行初始化工作。
4.linux將根據(jù)/etc/inittab中定義的系統(tǒng)初始化配置si::sysinit:/etc/rc.d/rc.sysinit執(zhí)行/etc/rc.sysinit腳本,該腳本將會(huì)設(shè)置系統(tǒng)變量、網(wǎng)絡(luò)配置,并啟動(dòng)swap、設(shè)定/proc、加載用戶自定義模塊、加載內(nèi)核設(shè)置等。
5.根據(jù)第三步讀到的runlevel值來(lái)啟動(dòng)對(duì)應(yīng)的服務(wù),如果值為3,就會(huì)運(yùn)行/etc/rc3.d/下所有的腳本,如果值是5,就會(huì)運(yùn)行/etc/rc5.d/下所有腳本。
6.將運(yùn)行/etc/rc.local
7.生成終端或X window界面。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容