Grub 與 Systemd-boot:您應該使用哪一個作為引導加載程序

Grub 與 Systemd-boot:您應該使用哪一個作為引導加載程序

Systemd-boot,以前稱為“gummiboot”,是 Grub 的新競爭對手。在兼容的 EFI 系統上,您可以使用 systemd-boot 代替 Grub 來引導系統的操作系統。從高層次的角度來看,systemd-boot 鏈接到 UEFI 中已有的引導加載程序,為選擇操作系統提供最基本的功能集。另一方面,Grub 加載有時被稱為“整個操作系統”的內容來管理用戶操作系統的引導,從而提供更強大的功能。

什麼是引導加載程序?

引導加載程序加載操作系統。它被機器的 BIOS 從磁盤的第一個有效塊複製到內存中,並在任何操作系統啟動之前運行。從那裡,它提供了一組基本功能,允許您修改您希望機器為該會話啟動的方式。例如,GRUB 為您提供了為 Linux 發行版加載不同內核的選項。

GRUB 2 中 Linux 內核選擇屏幕的屏幕截圖。

如果引導加載程序檢測到多個可引導系統映像,它允許用戶選擇要加載的系統。引導加載程序然後引導操作系統並將硬件控制權移交給操作系統。在大多數係統上,引導加載程序會出現在主板啟動畫面之後。

主板 BIOS 啟動畫面的照片。

僅供參考: BIOS 和 UEFI 是當今 x86_64 主板中的兩種固件。了解它們的特點以及如何確定最適合您的固件

Grub 與 systemd-boot:什麼是 Grub?

GNU GRUB,通常稱為 Grub 或 GRUB 2,代表GR統一引導接口。它基於自由軟件基金會的多重啟動規範。它的開發人員將其設計為可在任何硬件平台上運行,並從幾乎任何啟動媒體和文件系統啟動幾乎任何類 Unix 操作系統。

Ubuntu Linux 中默認的 GRUB 2 引導加載程序的屏幕截圖。

因為它涵蓋了廣泛的平台和發行版,所以 Grub 通常是大多數 Linux 發行版中的默認引導加載程序。如果您使用過 Linux 引導加載程序,它可能就是 Grub。它還提供視覺配置選項,如文本、背景顏色和圖形啟動圖像。例如,Debian 版本的 Grub 為其提示使用獨特的藍綠色背景。

Debian 11 中 GRUB 2 引導加載程序菜單的屏幕截圖。

Grub 支持多引導系統,它的開發人員專門為此目的編寫了它。但是,如果出現任何問題,可能會有點棘手。在現有多引導系統上安裝 Grub、刪除操作系統和安裝新操作系統時,問題最常發生。Grub 使用一個 conf 文件,因此每個操作系統都包含在同一個文件中,該文件經過編輯以反映更改。

Debian 中顯示 grub.cfg 文件的終端窗口的屏幕截圖。

主要操作系統的引導加載程序位於 MBR 中,其他操作系統通過引導加載程序鍊式加載到它們自己的分區上。這行得通,並且對於大多數用例來說,這絕對足夠了。但這是一個也很容易被打亂的系統。例如,如果您沒有正確配置鏈加載內核,多個 Linux 安裝最終可能會“爭奪”MBR 的控制權。

Grub 與 Systemd-boot:什麼是 Systemd-boot?

Linux 愛好者可能以前遇到過“ systemd ”這個名字。Systemd 是“系統守護進程”的縮寫,是運行 Linux 系統所需的基本先決條件守護進程的集合。Systemd-boot 是一個幾千行的代碼,並且在 systemd 套件的其餘部分沒有依賴性。

Pop!_OS 中 Systemd-boot 引導加載程序的屏幕截圖。

然而,由於其簡單性,gummiboot 被添加到 systemd 並重命名為“systemd-boot”以匹配 systemd 的組件命名約定。Systemd 的總體目標是通過啟動更少的東西並並行啟動更多的東西來快速啟動系統,而 systemd-boot 也有這個目標。

顯示 Pop!_OS 的默認 EFI 配置的終端窗口屏幕截圖。

作為純文本引導加載程序,systemd-boot 具有明顯的老式外觀。可用的引導設備按其標題列出,該標題在 systemd-boot 的配置文件中處理。systemd-boot 基本上是 EFI 中包含的啟動邏輯的接口,這就是它只能與兼容的 EFI 系統一起使用的原因。它是一個比 Grub 可配置性低得多的系統,並且它使用模塊化。為每個要啟動的操作系統創建 conf 文件。

顯示機器 /boot/efi 分區內容的終端窗口屏幕截圖。

由於其有限的接口,systemd-boot 是一個比 Grub 小得多的引導加載程序。有些人安裝它是為了提高速度或更有效地管理多個操作系統。由於 systemd-boot 使用拆分配置文件(每個內核或操作系統都有一個 .conf 文件),因此手動維護具有多個內核或操作系統的系統會更簡單。安裝新內核時,可以將這些插入式配置文本文件簡單地複製到 systemd 的目錄中。這簡化了多引導系統的配置。

哪個更好:Grub 還是 Systemd-boot?

如果您在使用 Grub 時遇到問題,systemd-boot 提供了一個大大簡化的引導基礎結構,帶有插入式文件配置。它更健壯,但也不像 Grub 那樣可配置或適應。如果您運行的是多引導 EFI 系統,systemd-boot 可以提供更輕鬆的引導管理,甚至可以減少引導時間。在其他系統配置上,或者對於需要比 systemd-boot 提供的更大靈活性的用途,Grub 仍然是您的最佳選擇。

經常問的問題

是否可以將我的 GRUB 2 系統轉換為 Systemd-boot?

是的。在大多數情況下,GRUB 和 Systemd-boot 應該能夠在同一系統中共存。這意味著您可以將使用 GRUB 的機器轉換為 Systemd-boot。

請務必記住,安裝 Systemd-boot 會因您的 Linux 發行版而異。然而,在大多數情況下,這將涉及以 UEFI 模式加載操作系統並運行su && bootctl install.

BIOS 系統可以運行 Systemd-boot 嗎?

是的。僅 BIOS 系統可以通過模擬類似 UEFI 的環境來運行 Systemd-boot。可以執行此操作的最受歡迎的程序之一是Clover。這是 Hackintosh 機器的引導加載程序替代品,您可以將其與 Linux 發行版配合使用。

是否可以加速 GRUB 2?

是的。在引導期間加速 GRUB 2 的最簡單方法之一是減少等待提示的時間。您可以通過運行sudo nano /etc/default/grub,然後將GRUB_TIMEOUT值更改為 1 來執行此操作。

另一方面,您還可以通過將該GRUB_TIMEOUT值更改為 -1 來確保 GRUB 始終等待用戶響應。完成後,您需要運行sudo update-grub以應用新配置。

圖片來源:Unsplash。Ramces Red 的所有更改和屏幕截圖。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *