Linux系統的啟動過程

本文參考:《鳥哥的Linux私房菜》第二十章

Linux系統的啟動過程

  1. 加載BIOS的硬件信息與進行自我檢測,并依據設置取得第一可啟動的設備;
  2. 讀取并執行第一啟動設備內MBR的boot loader(grub,spfdisk等程序);
  3. 依據boot loader的設置加載kernel,kernel會自動檢測硬件與加載驅動程序;
  4. 在硬件驅動成功后,kernel會自動調用init進程,讀取/etc/inittab配置文件,init會取得run-level信息;
  5. init執行/etc/rc.d/rc.sysinit文件準備軟件執行的操作環境(如網絡、時區等);
  6. init執行run-level的各個服務的啟動(以script方式);
  7. init執行/etc/rc.d/rc.local文件;
  8. init執行終端模擬程序mingetty來啟動login進程,最后等待用戶登錄。

從上面的過程中可以看到,在系統啟動的過程中是需要讀取配置文件的。以下說明系統在啟動過程中讀取的文件及注意的地方:

Linux系統的啟動過程

  1. boot loader加載kernel的同時,也同時加載initrd(inital RAM disk虛擬文件系統);
  2. /etc/inittab是init進程第一個讀取的配置文件,從上到下分別定義了:系統默認的運行級別(id:N:initdefault,N為運行級別,下同)、系統軟件執行的環境的腳本執行文件(/etc/rc.d/rc.sysinit)、7個不同run level的script放置路徑(/etc/rc.d/rcN.d),啟動mingetty的6個終端機(tty1-tty6);
  3. /etc/rc.d/rc.local的讀取在/etc/rc.d/rcN.d最后一個進程S99local。S99local實際是一個符號鏈接,鏈接到/etc/rc.d/rc.local;
  4. 讀取配置文件或目錄的順序為:/etc/inittab,/etc/rc.d/rc.sysinit,/etc/rc.d/rcN.d,/etc/rc.d/rc.local。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容