to Linux引導過程基本指南

每次您打開Linux計算機時,它都會經過一系列步驟,直到最終顯示要求您輸入用戶名或密碼的登錄屏幕。

每個Linux發行版在其典型的引導過程中經歷了4個不同的階段。

to Linux引導過程基本指南

在本指南中,我們將重點介紹Linux從開機到登錄所採取的各種步驟。

請注意,本指南僅考慮了GRUB2引導加載程序和systemd init,因為當前大多數現代Linux發行版都在使用它們。

下載過程包括以下4個步驟,我們將對其進行詳細討論:

  • BIOS完整性檢查(POST)
  • 加載引導加載程序(GRUB2)
  • 內核初始化
  • 啟動systemd,所有進程的父級

1. BIOS完整性檢查(POST)

通常,當用戶按下電源按鈕(如果計算機已經關閉)或使用圖形界面或命令行重新引導系統時,就會啟動引導過程。

Linux開機後,BIOS(基本輸入/輸出系統)開機並執行開機自檢- 開機自檢 (POST)。

它是執行各種診斷檢查的完整性檢查。

POST檢查硬件組件(例如硬盤或固態驅動器,鍵盤,RAM,USB端口和任何其他硬件)的運行狀況。

如果未找到任何硬件設備,或者任何設備發生故障(例如硬盤驅動器或固態驅動器損壞),則屏幕上會顯示一條錯誤消息,提示您進行干預。

在某些情況下,會發出嗶聲,尤其是在沒有RAM模塊的情況下。

但是,如果存在預期的硬件並按預期運行,則引導過程將繼續進行下一步。

2.引導加載程序(GRUB2)

POST完成後,系統將檢查MBR(主引導記錄)中的引導加載程序和磁盤分區信息。

MBR是位於硬盤驅動器第一扇區中的512字節代碼,通常取決於您的硬盤驅動器體系結構/ dev / sda或/ dev / hda。

但是請注意,有時MBR可能位於Live USB或Linux DVD上。

Linux中有三種主要類型的引導加載程序:LILO,GRUB和GRUB2。

GRUB2引導加載程序是現代Linux發行版中最新的主引導加載程序。

GRUB2代表GRand Unified Bootloader版本2。

BIOS一旦檢測到grub2引導程序,就會啟動並將其加載到主內存(RAM)中。

使用grub2菜單,您可以做幾件事。

它允許您選擇要使用的Linux內核版本。

如果您已多次更新系統,則可能會看到列出的不同內核版本。

另外,它使您能夠通過按鍵盤快捷鍵來編輯某些內核參數。

to Linux引導過程基本指南

另外,在雙引導系統上,當您安裝了多個操作系統時,可以使用grub菜單選擇要引導到的操作系統。 grub2配置文件是一個文件 /boot/grub2/grub2.cfg。

GRUB的主要目的是將Linux內核加載到主內存中。

3.內核初始化

內核是任何Linux系統的核心。

它將PC硬件連接到基本過程。

內核控制Linux系統上的所有進程。

引導加載程序加載選定的Linux內核後,它必須先從壓縮版本中自解壓縮,然後再執行任何任務。

自解壓後,選擇的內核將掛載根文件系統並初始化/ sbin / init程序,通常稱為init。

to Linux引導過程基本指南

初始化始終由第一個程序執行,並分配有進程ID或PID 1。

這是一個初始化過程,將產生各種守護程序並掛載/ etc / fstab中指定的所有分區。

然後,內核會掛載一個初始RAM磁盤(initrd),該磁盤是一個臨時的根文件系統,直到安裝了真正的根文件系統為止。

所有內核以及初始RAM磁盤映像都位於/ boot目錄中。

4.啟動Systemd

最後,內核加載Systemd,以替換舊的SysV init。

Systemd是所有Linux進程的源頭,除其他功能外,它還管理文件系統的掛載,啟動和停止服務等。

Systemd使用/etc/systemd/system/default.target文件來確定Linux系統應引導的狀態或級別。

  • 對於台式機工作站(具有圖形用戶界面),默認目標為5,它等效於舊SystemV init的運行級別5。
  • 對於服務器,默認值為multi-user.target,它對應於SysV init中的運行級別3。

要檢查系統上的當前級別,請運行以下命令:

$ systemctl get-default

您可以通過在終端上運行以下命令從一個級別切換到另一個級別:

$ init runlevel-value

例如,初始化3將系統置於非圖形狀態。

初始化6重新啟動系統,初始化0關閉系統。

要切換到這兩個級別時,請確保使用sudo命令。

當systemd裝入所有守護程序並設置目標或運行級別值時,引導過程結束。

此時,系統將提示您輸入用戶名和密碼,之後您便可以訪問Linux系統。

Sidebar