[grub2]使用心得筆記

摘要:[grub2]使用心得筆記

 

 

以下這段一段要參透

/etc/grub.d/(目錄)(參考淺談 Ubuntu 的 Grub2)

  • 在此目錄中的檔案將會於執行 update-grub 指令的時候讀取,並將其中的指令合併至 /boot/grub/grub.cfg 中。
  • 在 grub.cfg 選單中的選單選項順序是依照在此目錄中檔案的順序來決定。具有較小數字前綴檔名的檔案將會先執行。10_linux 將會在 20_memtest 之前執行,而 40_custom 將在最後執行。若有檔名全為英文字母名稱,那麼將會在數字名稱的檔名後執行。
  • 自訂選項可以加入在 40_custom 檔案中,或新建立的檔案中。自訂檔案開頭為 06_ 將會出現在選單的最上方,因為他的字母排序將會在 10_ 和 40_ 之前。
  • 在 update-grub 執行過程中只有可執行檔會輸出至 grub.cfg。
  • 在此目錄中的預設檔案為:
    • 00_header 設定初始顯示項目,例如圖形模式、預設選項、時間限制等等。這些設定資訊一般由 /etc/default/grub 中匯入。使用者一般不需要對此檔案做任何更動。
    • 05_debian_theme 此檔案中的設定用來設定開機影像、文字顏色、高亮度選項及佈景主題。再沒有開機影像的情況下,此檔案會設定一個單色的佈景主題來顯示初始選單畫面。如何設定字型顯現及開機影像將會在開機影像和佈景主題小節中討論。
    • 10_hurd 指定 Hurd 核心位置。目前未使用。
    • 10_linux 指定作業系統目前使用中的 root 裝置核心位置。此資訊將會取用來建立這些核心顯示在選單中的名稱。
    • 20_memtest86+ 搜尋 /boot/memtest86+.bin 並將之包含在 GRUB 2 開機選單選項中。目前沒有選項能將此條目從開機選單中移除。memtest86+ 選項顯示可透過移除此檔案的執行權限:sudo chmod -x /etc/grub.d/20_memtest86+ 接著執行 sudo update-grub 來屏蔽。
    • 30_os-prober 此檔案和 os-prober,用來搜尋 Linux 和其他作業系統。結果將會依據此檔案中的內容而放至 grub.cfg 中。此檔案被劃分成四個段落,代表由命令稿所處理的四種作業系統類型:Windows, Linux, OSX 和 Hurd。此檔案中的變數用來指定在 /boot/grub/grub.cfg 和 GRUB 2 選單中的名稱顯示格式。熟悉基本命令稿的使用者可以修改這些變數來改變選單選項的顯示格式。此外,使用者可以插入任何選項至 /etc/default/grub 中以關閉這個命令稿。(參考下方)
    • 40_costom 用來加入自訂選單選項的樣板,將會在執行 update-grub 指令時嵌入至 grub.cfg 中。此檔案中的內容,在「exec tail -n +3 $0」這一行和預設的註解後,會毫無改變地直接匯入至 /etc/default/grub.cfg 中。
  • 在這些目錄中的檔案必須要設為可執行才能被 update-grub 使用。沒有設為可執行的檔案將會被忽略。欲將檔案設為可執行,執行
    sudo chmod +x /etc/grub.d/foldfilename
---------------------------------------------------
以上這段有點類似以前學GWBASIC,程式前要加行號,不要執行要加 REMARK
--------------------------------
以下實做

sudo ls -al /etc/grub.d/

sudo chmod -x /etc/grub.d/20_memtest86+ 



重新執行 update-grub
sudo update-grub
選單中已沒有了 memtest86+ 




也執行
sudo chmod -x /etc/grub.d/30_os-prober

並將 grub.cfg 中的/etc/grub.d/30_os-prober內容COPY至(將40_custom另存新檔41_custom) 41_custom 中

sudo chmod +x /etc/grub.d/41_custom


再執行update-grub 即完成