2016/02/17

設定 GRUB 畫面

【前言】

本文敘述修改開機 GRUB 外觀的方法,並非指令內容。所用作業系統為由 Mini-Ubuntu 製成



【方法】

〔背景〕

有兩個方法可以設定背景圖:

a. 將圖片放在 /boot/grub/ 資料夾中。

可用格式有 pngtgajpg

update-grub 會以第一個圖為背景。

下圖為示範的背景。


b. /etc/default/grub 檔中,設定GRUB_BACKGROUND="/path/image"


註:若兩處皆有,取設定者,即後者。


〔顏色〕

編輯 /etc/grub.d/40_custom 檔,附加:

set color_normal=blue/green
set color_highlight=green/blue
set menu_color_normal=red/black
set menu_color_highlight=yellow/red

註一:前色為文字色/後色為背景色。可用顏色有:black, blue, brown, cyan, dark-gray, green, light-blue, light-cyan, light-gray, light-green, light-magenta, light-red, magenta, red, white, yellow

註二:要看改變的效果不須一直重新開機。在 GRUB 畫面按 [c] 鍵進入指令行模式,即可測試這四個設定。按 [Esc] 鍵回到選單即立刻顯示新的結果。選定顏色後,才加到 40_custom 檔。至於背景圖,則用 background_image /path/image 指令來測試。在此界面可多利用 [Tab] 鍵,有自動完成和列出資料夾內容的功能。

註三:若上述背景圖和顏色都有設定,顏色會覆蓋在上,背景圖只能看到邊緣,除非上面 _normal 的背景色設為 black(透明效果),如第三個 set


〔字體〕

GRUB 使用 .pf2 字體。

/usr/share/grub/ 資料夾有 asciieurounicode 三種。

可以新增,以系統的 FreeMonoBold.ttf 為例:

a. 先轉換為 .pf2 格式:

sudo grub-mkfont -s 22 -o /usr/share/grub/FreeMonoBold.pf2 /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf

 -s 尺寸
 -o 輸出
 最後為來源檔。


b. 然後在 /etc/default/grub 檔設定:

GRUB_FONT=/usr/share/grub/FreeMonoBold.pf2


註一:GRUB 只顯示等寬字,即使用比例字去轉換也一樣。

註二:若 grub 檔直接設定用 .ttf 字型,不論用何字型,結果都一樣,是較低解析度的大字,且不顯示背景圖。

註三:字型檔也可放在 /boot/grub/fonts/ 資料夾中。

註四:若只要放大字體,可在 grub 檔降低解析度,如:GRUB_GFXMODE=800x600。在 GRUB 指令行執行 vbeinfo 可知所有可用的模式。


〔更新〕

為使新設定生效:

sudo update-grub


【後語】

順便提及 /etc/default/grub 檔中設定 GRUB 選單的等待時間:

GRUB_HIDDEN_TIMEOUT=
GRUB_TIMEOUT=5


GRUB_HIDDEN_TIMEOUT=5
GRUB_TIMEOUT=0

兩項皆設定非零時,會有警告訊息;故將前者去除,只設定後者;或設定前者,而後者為 0

沒有留言:

張貼留言