Linux grub是「GRand Unified Bootloader」的縮寫,它的功能是在啟動時從BIOS接管掌控、載入自身、載入Linux核心到內存,然後再把執行權交給核心;一旦核心開始掌控,GRUB就完成了它的任務,也就不再需要了。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
Linux grub是什麼意思?
GRUB 來自 GRand Unified Bootloader 的縮寫。它的功能是在啟動時從 BIOS 接管掌控、載入自身、載入 Linux 核心到內存,然後再把執行權交給核心。一旦核心開始掌控,GRUB 就完成了它的任務,也就不再需要了。
GRUB 支援多種 Linux 內核,並允許使用者在啟動時透過選單在其中選擇。我發現這是一個非常有用的工具,因為我有很多次遇到一個應用程式或系統服務在特定核心版本下失敗的問題。有好幾次,引導到一個較舊的核心時就可以避免類似的問題。預設情況下,使用 yum 或 dnf 進行更新時會儲存三個核心 - 最新的以及兩個比較舊的。在被套件管理器刪除之前所保留的核心數目可以在 /etc/dnf/dnf.conf 或 /etc/yum.conf 檔案中配置。我通常把 installonly_limit 的值修改為 9 以便保留 9 個核心。當我不得不恢復到低幾個版本的核心時這非常有用。
GRUB 選單
GRUB 選單的功能是當預設的核心不是想要的時,允許使用者從已經安裝的核心中選擇一個進行引導。透過上下箭頭鍵允許你選取想要的內核,敲擊回車鍵會使用選取的內核繼續引導進程。
GRUB 選單也提供了逾時機制,因此如果使用者沒有做任何選擇,GRUB 就會在沒有使用者乾預的情況下使用預設核心繼續引導。敲擊鍵盤上除了回車鍵之外的任何按鍵會停止終端上顯示的倒數計時器。立即敲擊回車鍵會使用預設核心或選取的核心繼續引導進程。
GRUB 選單提供了一個 “救援rescue” 內核,用於故障排除或由於某些原因導致的常規內核無法完成啟動過程。不幸的是,這個救援內核不會引導到救援模式。文章後面會更詳細介紹這方面的東西。
grub.cfg 檔案
grub.cfg 檔案是 GRUB 設定檔。它是由 grub2-mkconfig 程式根據使用者的配置使用一組主設定檔以及 grub 預設檔而產生。 /boot/grub2/grub.cfg 檔案在 Linux 安裝時會初次生成,安裝新核心時會重新生成。
grub.cfg 檔案包含了類似 Bash 腳本的程式碼以及一個按照安裝順序排序的已安裝核心清單。例如,如果你有 4 個已安裝內核,最新的內核索引是 0,前一個內核索引是 1,最舊的內核索引是 3。如果你能存取 grub.cfg 文件,你應該去看看感受一下它看起來是什麼樣子。 grub.cfg 太大也就沒有包含在這篇文章中。
GRUB 設定檔
grub.cfg 的主要設定檔都在 /etc/grub.d 目錄。該目錄中的每個檔案都包含了最終會整合到 grub.cfg 檔案中的 GRUB 程式碼。這些設定檔的命名模式以排序方式設計,這使得最終的 grub.cfg 檔案可以以正確的順序整合而成。每個文件都有註釋表明該部分的開始和結束,這些註釋也是最終的 grub.cfg 檔案的一部分,從而可以看出每個部分是由哪個檔案產生。分隔註釋看起來像這樣:
### BEGIN /etc/grub.d/10_linux ### ### END /etc/grub.d/10_linux ###
不要修改這些文件,除非你是一個 GRUB 專家並明白更改會發生什麼。無論如何,修改 grub.cfg 檔案時你也總是應該保留一個原始檔案的備份。 40_custom 和 41_custom 這兩個特別的檔案用於產生使用者對 GRUB 配置的修改。你仍然要注意這些檔案的更改的後果,並保存一份原始 grub.cfg 檔案的備份。
你也可以把自己的檔案加入到 /etc/grub.d 目錄。這樣做的一個可能的原因是為非 Linux 作業系統新增選單行。若要注意遵循命名規則,請確保設定檔中額外的選單選項剛好在 10_linux 條目之前或之後。
相關推薦:《Linux影片教學》
以上是Linux grub是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!