linux系統開機流程說明

來源:互聯網
上載者:User

BIOS是由兩部分組成:POST代碼和運行時的服務。當POST完成之後就會被從記憶體中清理出來,但是BIOS運行時服務依然會保留在記憶體中。BIOS會按照設定中定義的順序來搜尋處於活動狀態並且可以引導的裝置。
引導裝置可以是硬碟上的某個分區、CD-ROM、磁碟片、網路上的某個裝置或者是USB裝置。linux通常是從硬碟上進行引導的,其中主引分區MBR包含了主引導載入程式。當MBR載入到RAM中後,BIOS將控制權轉交給MBR,MBR 又叫主開機磁區,是電腦開機後訪問硬碟時必須要讀取的首個扇區,位於0柱面,0磁軌,1扇區。MBR的主引導程式是一個512位元組的映像。前446位元組是主引導載入程式,接下來的64個位元組包含了分區表的資訊,還有兩個特殊的位元組OxAA55用來檢查MBR的有效性。
如果系統要想啟動就必須啟動核心,顯然MBR是放不下核心的,但是MBR中有個小程式可以載入其他位置的核心,這個小程式就是boot loader 即GRUB。GRUB允許使用者可以選擇要啟動的作業系統。GRUB包裹三個重要的檔案,Stage1、Stage2、Stage1.5. Stage1通常放在MBR中,作用就是在系統啟動時用於載入Stage2,並將控制權轉交給它。Stage2就是GRUB的核心,所有的功能都由它完成。Stage1.5介於Stage1和Stage2之間,是他們之間的橋樑,因為Stage2較大,通常放在檔案系統中,但是Stage1不能識別檔案系統,Stage1.5來引導位於某個檔案系統中的Stage2。Stage2是GRUB的核心但不是linux的核心,grub載入以後就是為了載入linux的核心,grub的配置

在核心完成引導後,就在本進程空間內載入init程式,進程號是1,init進程是所有進程的發起者和控制者,它是第一個啟動並執行進程,init進程會根據/etc/inittab判斷要進入的運行層級,然後直接執行/etc/rc.d/rc.sysinit進行系統初始化,並將啟動的相關資訊載入到/var/log/dmesg檔案中。系統所有的服務啟動之後在執行/etc/rc.d/rc.local指令碼,將需要開機啟動並執行程式啟動。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.