Linux啟動過程以及7種執行級別

迷路小可乐發表於2024-04-26

Linux啟動過程

Linux啟動需要經歷一些步驟,這些步驟確保系統能夠在各種不同的硬體和配置條件下可靠地啟動和執行,並且具有足夠的靈活性以適應不同的使用場景和需求,具體步驟如下:

  1. BIOS/UEFI初始化(硬體初始化):執行基本輸入輸出系統(BIOS)或統一可擴充套件介面(UEFI)中的初始化程式。這些程式負責硬體的自檢、載入載入程式等操作,這確保了系統能夠正確地與硬體互動,並且提供了基本的硬體支援。
  2. 引導載入程式(Boot Loader):BIOS/UEFI初始化後,控制權被傳遞給引導載入程式,從而載入作業系統的核心映像和必要的初始化RAM磁碟映像,以及傳遞啟動引數給核心;這個過程是系統啟動的關鍵一步,確保了正確的核心被載入並且系統啟動引數被正確傳遞。
  3. Linux核心啟動:引導載入程式將控制權交給Linux核心。核心啟動時,會初始化硬體、載入必要的驅動程式以及建立第一個使用者程序(init程序);這確保了系統能夠正確地與硬體互動,並且能夠訪問儲存在磁碟上的檔案系統。
  4. init程序啟動:init 程序是 Linux 系統的第一個使用者空間程序,它負責啟動系統的其他程序和服務;透過 init 程序,系統可以在啟動時根據需要啟動不同的服務,並且提供了系統執行級別的管理和切換功能。
  5. 執行級別初始化:根據系統的預設執行級別,init 程序會啟動相應的執行級別。每個執行級別都定義了一組需要啟動的系統服務和程序。透過執行級別,管理員可以根據需要輕鬆地切換系統的執行狀態,並且可以根據需要啟動或停止不同的服務。
  6. 系統初始化和使用者登入:一旦系統處於適當的執行級別並啟動了所需的服務,系統就會初始化各種設定和環境。如果是多使用者環境,系統會等待使用者登入。登入後,使用者可以開始使用系統。

Linux中的7種執行級別

透過設定不同的執行級別,管理員可以實現系統啟動時的自定義配置,例如啟用或禁用特定服務、載入特定的核心模組等。這種靈活性使得 Linux 系統可以更好地適應不同的使用場景和需求。

  1. 單使用者模式(runlevel 1):也稱為救援模式,系統在此模式下只啟動最基本的服務和程序,通常用於系統修復和維護。
  2. 多使用者模式(runlevel 2、3、4):這些執行級別通常用於多使用者環境下,系統啟動基本的網路服務,但不包含圖形使用者介面。
  3. 多使用者圖形介面模式(runlevel 5):系統啟動圖形使用者介面和相關服務,適用於桌面系統或需要圖形介面的伺服器環境。
  4. 關機(runlevel 0):系統關閉所有服務並停止執行;
  5. 重新啟動(runlevel 6):系統重新啟動;

與執行級別相關的 Bash 指令通常用於管理系統的執行級別以及執行與執行級別相關的操作。以下是一些常用的與執行級別相關的 Bash 指令:

runlevel #顯示當前系統的執行級別
telinit <執行級別> #用於改變系統的執行級別
init <執行級別> #傳統的系統初始化程式,也可用來改變系統的執行級別
chkconfig --list       # 顯示所有系統服務及其在各個執行級別下的啟用情況
chkconfig <服務名> on  # 將指定服務在啟動時自動啟用
chkconfig <服務名> off # 將指定服務在啟動時取消自動啟用

相關文章