歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 10.10啟動流程分析

Ubuntu 10.10啟動流程分析

日期:2017/2/28 16:19:08   编辑:Linux教程

1.加電自檢,BIOS找出存儲設備中的MBR,加在MBR中的引導程序。

2.找出1-62扇區中的引導程序,並運行他。或者找出MBR中的磁盤分區表,找出活動的磁盤分區。加載並運行位於/或者/boot分區中的第二階段引導程序

3.讀取/boot/grub/grub.cfg配置文件,根據裡面的配置,此時在控制台上會出現一個啟動菜單。如果是雙系統的話,此時讓你選擇啟動windows還是Linux。

4.根據用戶的選擇,加載系統內核文件和磁盤內存映像文件,將控制權交給內核

5.解壓磁盤內存映像文件到/dev/ram0設備中。釋放磁盤內存映像占有的內存空間

6.安裝/dev/ram0設備,把初始內存映像文件安裝成一個臨時/文件系統。

7.系統檢查硬件 環境,配置硬件驅動程序。根據需要加載各種驅動模塊。

8.如果系統存在/linuxrc文件,以超級用戶執行他。

9.卸載臨時/文件系統,釋放內存空間,安裝實際的/文件系統。

10.訪問/文件系統。運行/sbin/init程序,把引導控制權交給init進程。有init進程完成系統的生成過程。

11.init檢索/etc/init目錄,找出並運行其中的rc-sysinit.conf文件。設置默認的運行水平為2.在這裡我們要根據倒數最後兩行的腳本文件即:||etc/init.d/rcS這一句。以及下面的切換到默認的運行水平。我們可以看到在rcS腳本中只有一句命令:exec /etc/init.d/rc S.執行/init.d中的rc腳本文件,參數為S。

12.rc腳本文件會根據傳遞的參數啟動/etc/rcS.d中的shell腳本。我們可以看到rcS.d中全是以S和數字為開頭的符號鏈接,腳本文件會根據符號鏈接執行相應的腳本。

13:執行完後,執行rc-sysinit.conf中的最後一句,即調度運行telinit程序。切換到默認運行水平

14:根據/etc/init/rc.conf腳本來執行相應運行水平的系統調用etc/init.d/rc $runlevel

15:rc腳本文件會根據傳遞的參數啟動/etc/rc"runlevel".d中的shell腳本.啟動各種服務與進程,直到出現一個登錄界面。

Copyright © Linux教程網 All Rights Reserved