附錄 F. 開機過程、init 和關機

Red Hat Enterprise Linux 最重要、最強大的特點在於它是一個開放式、使用者配置的作業系統。使用者能設定多種開機方式,包括指定在開機時啟動某些程式。同樣的,系統關機也能在有系統能夠改變設定的模式下結束關機程序,但鮮少需要自訂關機程序。
正確了解開機關機過程不只是能讓您能自訂模式,更能夠讓您在遇到開關機相關問題時,有效地針對問題進行疑難排解。

F.1. 開機過程

以下為開機程序的基本步驟:
  1. 系統會載入並執行開機載入程式。此程序的規格取決於系統架構。比方說:
    • 基於 BIOS 的 x86 系統會由主硬碟的 MBR 執行第一階段的開機載入程式,並且依次載入額外的開機載入程式,GRUB
    • 基於 UEFI 的 x86 系統會掛載一個包含了某版本 GRUB 開機載入程式 的 EFI 系統分割區。EFI 開機管理程式會載入並將 GRUB 作為一項 EFI 應用程式來執行。
    • Power System 會掛載一個包含了 Yaboot 開機載入程式的 PPC PReP 分割區。系統管理服務(SMS)開機管理程式會載入並執行 yaboot
    • IBM System z 會由一個當您 IPL 包含了 Red Hat Enterprise Linux 的分割區時指定的 DASD,或是連接了 FCP 的裝置來執行 z/IPL 開機載入程式。
  2. 開機載入程式皆下來會將 kernel 載入記憶體,依序載入必要的模組,並將 root 分割區掛載為唯讀。
  3. Kernel 會將開機過程的控制權轉移給 /sbin/init 程式。
  4. /sbin/init 程式會將所有服務與使用者工具載入,並掛載所有列於 /etc/fstab 中的分割區。
  5. 對於第一次啟動 Linux 系統的使用者,螢幕上會顯示登入畫面。
因為開機過程設定比關機過程自訂普遍,因此本章將詳細討論開機過程如何運作,以及如何針對特別需求來自訂開機過程。