centos作業系統啟動過程

來源:互聯網
上載者:User

標籤:設定檔   作業系統   程式   硬體   

1、硬體引導啟動

通電,BIOS加電自檢,找到啟動介質,在啟動介質中找到MBR.MBR是啟動介質(比如硬碟)第一個分區的第一個扇區,大小為512位元組。其中前面446位元組是bootloader(centos是Grub),緊接著64位元組是分區表,最後2個位元組是用來校正的,我們把它叫做55AA。

2、Grub引導程式

找到了MBR,就找到了grub這個引導程式。grub引導分為兩個階段stage1和stage2,stage1是直接在bootloader裡面,stage2比較大是放在檔案系統裡面的。對於新的檔案系統(如ext4)來說,stage2是不能識別到的,所以還得藉助中間橋樑stage1_5來識別stage2檔案系統。stage2執行後,它就會去解析設定檔grup.conf,找到核心和核心映像(initrd)的位置。

3、核心引導階段

核心和核心映像(initrd)找到後,接管了控制權,核心只包含最基本的硬體驅動,其它的硬體驅動都在initrd中。所以initrd先釋放到記憶體中,臨時構成一個唯讀檔案系統,在這個唯讀檔案系統中,核心去執行臨時檔案系統裡面的init進程,載入各種硬體的驅動,完成後核心再次掛載真正的根檔案系統,核心把控制器教給了/sbin/init進程。

4、系統初始化階段

/sbin/init進程是 系統其他所有進程的父進程,接管了系統的控制權後,首先會去讀取/etc/inittab檔案來執行相應的指令碼進行系統初始化,如設定鍵盤、字型、裝載模組、設定網路等。主要包括

1)執行系統初始化指令碼(/etc/rc.d/rc.sysinit),對系統進行基本的配置,以讀寫方式掛載根檔案系統及其它檔案系統,並進行運行層級的確定及相應服務的啟動。

2)執行/etc/rc.d/rc指令碼,該指令碼定義了服務啟動的順序是先K後S,而具體的每個運行層級的服務狀態是放在/etc/rc.d/rc*.d(*=0-6)目錄下,所有檔案均是指向/etc/init.d下相應檔案的符號連結。

3)執行使用者自訂引導程式/etc/rc.d/rc.local

4)完成了系統所有的啟動任務後,Linux會啟動終端或X-Window來等待使用者登入。


本文出自 “Linux技術交流” 部落格,請務必保留此出處http://9678130.blog.51cto.com/9668130/1736135

centos作業系統啟動過程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.