Linux 黑話解釋:Linux 中的 GRUB 是什麼? | Linux 中國

語言: CN / TW / HK

我將告訴你 GRUB 是什麼,以及它有什麼用處。

(本文字數:2751,閱讀時長大約:4 分鐘)

如果你曾經使用過 Linux 桌面,你一定見過這個螢幕。這就是所謂的 GRUB 螢幕。是的,它的字母全部都是大寫的。

Remember this screen? This is GRUB

在 “ Linux 黑話解釋(Linux Jargon Buster) ”系列的這一個章節中,我將告訴你 GRUB 是什麼,以及它有什麼用處。此外,我還會簡要地介紹一下配置和定製的部分。

GRUB 是什麼?

GRUB 是一個用於載入和管理系統啟動的完整程式。它是 Linux 發行版中最常見的 載入程式(bootloader) 。載入程式是計算機啟動時執行的第一個軟體。它載入作業系統的核心,然後再由核心初始化作業系統的其他部分(包括 Shell、顯示管理器、桌面環境 等等)。

載入程式和引導管理器

我不想現在就把你搞糊塗,但是我認為這個話題是不可避免的。 載入程式(boot loader)引導管理器(boot manager) 之間有著一條模糊的界限。

你已經知道了載入程式是什麼。它會首先啟動,然後將核心載入到記憶體中並執行它。引導管理器則允許你在不同的作業系統之間進行選擇(如果你的電腦上不止一個作業系統的話)。引導管理器並不會直接載入系統。

隨著 Linux 核心 3.3 版本的推出, Linux 核心包括了一個內建的 EFI 載入程式 。事實上,任何一個 支援 EFI 的系統都包括一個 EFI 載入程式 。在支援 EFI 的系統中,韌體會讀取 EFI 系統分割槽(EFI System Partition) (ESP)中的 EFI 檔案,從而獲得啟動資訊。

這裡插入一張圖片,圖中顯示了帶有 ESP 分割槽的分割槽表:

GRUB 既是一個載入程式,也是一個引導管理器。一會兒我再來談 GRUB。讓我們先看看其他類似 GRUB 的程式。

小知識:GRUB 是 GR and U nified B ootloader(大一統載入程式) 的首字母縮寫。

GRUB 螢幕上的那些行是什麼意思?

你會在 GRUB 螢幕上看到幾行字。這些行對於不同的設定、不同的發行版會有所不同。

通常情況下,第一行是你的 Linux 發行版。如果你看到類似高階選項的東西,你可以進入其中,找到一些以 “linux-generic-x-y-z” 等開頭的行。

當你的 Linux 發行版更新核心版本時,它至少會保留一箇舊版本。你可以選擇啟動到舊的 Linux 核心,以防你的系統遇到新更新的 Linux 核心的任何問題。

在基於 Ubuntu 的發行版中,你也可以看到一個恢復選項。

在高階選項下,通常有一箇舊的核心版本和恢復選項

在最後,你可能會看到一個條目,如系統設定或 UEFI 設定,以訪問系統的 BIOS 設定。

還有哪些類似 GRUB 的引導管理器?

GRUB 是 Linux 中最流行的引導管理器。但它並不是唯一的一個。有一個高度可定製的引導管理器,名字叫做rEFInd 引導管理器,它同樣受到了一些 Linux 使用者的喜愛。

定製化的 rEFInd 引導管理器螢幕 | 圖片來源:kofler.info/pop_os

還有一個基於文字的引導管理器,名字叫做systemd-boot。你可以猜到這是專為基於 systemd 的 Linux 發行版準備的。有一些發行版正在使用 systemd-boot,比如 Pop OS。

Pop OS 中的 systemd-boot | 圖片來源:kofler.info/pop_os

訪問或編輯 GRUB

通常你看到的 GRUB 螢幕是它的選單介面。如果你安裝了一個以上的作業系統,它會允許你在其中選擇一個來啟動。如果你的 Linux 發行版安裝了不止一個核心,你也可以選擇載入不同的核心。

根據不同的 Linux 發行版的配置,你的 GRUB 選單上可能會有一些其他選項。

你可以在 GRUB 選單介面按 e 鍵來編輯選單項。這樣你就可以在核心載入前修改它的引數。例如,在某些情況下, 禁用核心提供的圖形驅動可以幫助你解決 Linux 系統在啟動時卡住的問題

你也可以在 GRUB 選單介面上按 c 鍵來進入 GRUB 的命令列選單。

GRUB 配置檔案

你在選單介面裡對 GRUB 所做的任何改變都是暫時的。如果你想對 GRUB 做一些永久性的改變,比如改變預設的超時時間,你可以在 Linux 系統啟動後修改 GRUB 配置檔案。

預設的 GRUB 配置檔案是 /etc/default/grub 。還有一個 /etc/default/grub.d 目錄,裡面也存放一些配置。你可以直接編輯 /etc/default/grub 檔案,但是我還是建議通過在這個目錄中新增配置檔案( .cfg 檔案)進行額外的修改。

預設的 GRUB 配置檔案

你必須 更新 GRUB 才能使這些修改生效

使用 GRUB 定製器來定製 GRUB

如果你不太習慣 在終端裡使用文字編輯器編輯檔案 ,你可以 使用一個叫做 GRUB 定製器的圖形工具

它允許你改變啟動順序、預設超時時間等等。你還可以用它來把 GRUB 的背景設定成一張自定義的牆紙。

GRUB 定製器可以在 Ubuntu 20.04 中從 Universe 倉庫安裝,在 Ubuntu 18.04 中通過 PPA 安裝。它可以通過 AUR 在基於 Arch Linux 的發行版中使用。

總結

至此,本文幾乎涉及到了所有與 GRUB 相關的簡單內容。至於 EFI、引導載入和 GRUB 本身,它們都是詳細而複雜的話題,因此不在本文的討論範圍之內。這篇文章旨在給你一個關於 GRUB 載入程式的總體概述。

或許我以後會寫一篇關於 GRUB 的詳細指南,解釋它底層的一些細節。目前,如果你想了解更多關於 GRUB 的資訊,你可以在你的 Linux 終端裡使用 info grub 命令訪問到 GRUB 文件。

你可以在終端中訪問 GRUB 手冊

我希望你現在對什麼是 GRUB 有了一點點的瞭解。這裡有一個 GIF 動圖供你一樂。

什麼是 GRUB? UEFI 再也傷害不到我了 :)

或許我沒有回答你關於 GRUB 的所有疑問,但請隨時在評論區告訴我。我可能會根據你的問題或建議來更新這篇文章。

via: https:// itsfoss.com/what-is-gru b/

作者:Abhishek Prakash 選題: lujun9972 譯者: lkxed 校對: wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出