linux grub是什么

linux中,grub是一個用于加載和管理系統(tǒng)啟動的完整程序,是一種引導(dǎo)程序;它是計算機(jī)啟動時運(yùn)行的第一個軟件,會加載操作系統(tǒng)的內(nèi)核,再由內(nèi)核初始化操作系統(tǒng)的其他部分。grub支持LBA,可將用于查找文件的尋址轉(zhuǎn)換放入硬盤驅(qū)動器的固件中。

linux grub是什么

本教程操作環(huán)境:Ubuntu 16.04系統(tǒng)、Dell G3電腦。

Linux 中的 GRUB

GRUB?是一個用于加載和管理系統(tǒng)啟動的完整程序。它是 Linux 發(fā)行版中最常見的引導(dǎo)加載程序(bootloader)。引導(dǎo)加載程序非常重要,因為沒有它就無法啟動操作系統(tǒng)。

引導(dǎo)程序是計算機(jī)啟動時運(yùn)行的第一個軟件。引導(dǎo)加載程序?qū)⒖刂茩?quán)轉(zhuǎn)移到操作系統(tǒng)內(nèi)核。

它加載?操作系統(tǒng)的內(nèi)核,然后再由內(nèi)核初始化操作系統(tǒng)的其他部分(包括 Shell、顯示管理器、桌面環(huán)境?等等)。

GRUB是許多Linux發(fā)行版的默認(rèn)引導(dǎo)程序。這是因為它比許多先前版本的引導(dǎo)程序更好。它的一些功能是:

  • GRUB支持LBA(邏輯塊尋址模式),它將用于查找文件的尋址轉(zhuǎn)換放入硬盤驅(qū)動器的固件中

  • GRUB提供了最大的靈活性,可以使用基于命令的預(yù)操作系統(tǒng)環(huán)境為操作系統(tǒng)加載所需的選項。

  • 可以使用GRUB命令行修改諸如內(nèi)核參數(shù)之類的引導(dǎo)選項。

  • 無需為GRUB指定Linux內(nèi)核的物理位置。它只需要內(nèi)核的硬盤號,分區(qū)號和文件名。

  • GRUB可以使用直接加載和鏈?zhǔn)郊虞d啟動方法來啟動幾乎所有操作系統(tǒng)。

引導(dǎo)程序和引導(dǎo)管理器

我不想現(xiàn)在就把你搞糊涂,但是我認(rèn)為這個話題是不可避免的。引導(dǎo)程序(boot loader)和引導(dǎo)管理器(boot manager)之間有著一條模糊的界限。

你已經(jīng)知道了引導(dǎo)程序是什么。它會首先啟動,然后將內(nèi)核加載到內(nèi)存中并執(zhí)行它。引導(dǎo)管理器則允許你在不同的操作系統(tǒng)之間進(jìn)行選擇(如果你的電腦上不止一個操作系統(tǒng)的話)。引導(dǎo)管理器并不會直接加載系統(tǒng)。

隨著 Linux 內(nèi)核 3.3 版本的推出,Linux 內(nèi)核包括了一個內(nèi)置的 EFI 引導(dǎo)程序。事實上,任何一個支持 EFI 的系統(tǒng)都包括一個 EFI 引導(dǎo)程序。在支持 EFI 的系統(tǒng)中,固件會讀取?EFI 系統(tǒng)分區(qū)(EFI System Partition)(ESP)中的 EFI 文件,從而獲得啟動信息。

這里插入一張圖片,圖中顯示了帶有 ESP 分區(qū)的分區(qū)表:

linux grub是什么

GRUB 既是一個引導(dǎo)程序,也是一個引導(dǎo)管理器。一會兒我再來談 GRUB。讓我們先看看其他類似 GRUB 的程序。

小知識:GRUB 是?GRand?Unified?Bootloader(大一統(tǒng)引導(dǎo)程序) 的首字母縮寫。

GRUB 屏幕上的那些行是什么意思?

你會在 GRUB 屏幕上看到幾行字。這些行對于不同的設(shè)置、不同的發(fā)行版會有所不同。

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

當(dāng)你的 Linux 發(fā)行版更新內(nèi)核版本時,它至少會保留一個舊版本。你可以選擇啟動到舊的 Linux 內(nèi)核,以防你的系統(tǒng)遇到新更新的 Linux 內(nèi)核的任何問題。

在基于 Ubuntu 的發(fā)行版中,你也可以看到一個恢復(fù)選項。

linux grub是什么

在最后,你可能會看到一個條目,如系統(tǒng)設(shè)置或 UEFI 設(shè)置,以訪問系統(tǒng)的 BIOS 設(shè)置。

還有哪些類似 GRUB 的引導(dǎo)管理器?

GRUB 是 Linux 中最流行的引導(dǎo)管理器。但它并不是唯一的一個。有一個高度可定制的引導(dǎo)管理器,名字叫做 rEFInd 引導(dǎo)管理器,它同樣受到了一些 Linux 用戶的喜愛。

linux grub是什么

還有一個基于文本的引導(dǎo)管理器,名字叫做?systemd-boot。你可以猜到這是專為基于 systemd 的 Linux 發(fā)行版準(zhǔn)備的。有一些發(fā)行版正在使用 systemd-boot,比如 Pop OS。

linux grub是什么

訪問或編輯 GRUB

通常你看到的 GRUB 屏幕是它的菜單界面。如果你安裝了一個以上的操作系統(tǒng),它會允許你在其中選擇一個來啟動。如果你的 Linux 發(fā)行版安裝了不止一個內(nèi)核,你也可以選擇加載不同的內(nèi)核。

根據(jù)不同的 Linux 發(fā)行版的配置,你的 GRUB 菜單上可能會有一些其他選項。

你可以在 GRUB 菜單界面按 e 鍵來編輯菜單項。這樣你就可以在內(nèi)核加載前修改它的參數(shù)。例如,在某些情況下,禁用內(nèi)核提供的圖形驅(qū)動可以幫助你解決 Linux 系統(tǒng)在啟動時卡住的問題。

linux grub是什么

你也可以在 GRUB 菜單界面上按 c 鍵來進(jìn)入 GRUB 的命令行菜單。

GRUB 配置文件

你在菜單界面里對 GRUB 所做的任何改變都是暫時的。如果你想對 GRUB 做一些永久性的改變,比如改變默認(rèn)的超時時間,你可以在 Linux 系統(tǒng)啟動后修改 GRUB 配置文件。

默認(rèn)的 GRUB 配置文件是 /etc/default/grub。還有一個 /etc/default/grub.d 目錄,里面也存放一些配置。你可以直接編輯 /etc/default/grub 文件,但是我還是建議通過在這個目錄中添加配置文件(.cfg 文件)進(jìn)行額外的修改。

linux grub是什么

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

使用 GRUB 定制器來定制 GRUB

如果你不太習(xí)慣 在終端里使用文本編輯器編輯文件,你可以 使用一個叫做 GRUB 定制器的圖形工具。

它允許你改變啟動順序、默認(rèn)超時時間等等。你還可以用它來把 GRUB 的背景設(shè)置成一張自定義的墻紙。

linux grub是什么

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

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享