這章主要來講解一下在GRUB2裡面的『splash image』機制,也就是為GRUB2加一個背景圖片(非使用GRUB2 theme)。
Splash Images
GRUB2的sample splash images都包含在grub2-splashimages套件裡面,要安裝的話可以用下面這個指令:
sudo apt-get install grub2-splashimages
一旦安裝完了以後,所有的影像檔都會在路徑『/usr/share/images/grub』底下。
(是『grub2-splashimages』不是『grub-splashimages』不要裝錯了!)
影像限制
GRUB2背景影像可以使用PNG,JPG/JPEG和TGA格式的影像,除了影像格式以外,還需要有底下的幾個限制:
- JPG/JPEG必須是8-bit(256色),否則你會得到如下的訊息『Too many Huffman tables』,如果你不想要被限制只能用256色的話,你就得要用PNG格式的影像。
- 影像的格式必須是『non-indexed RGB』。
- 如果你不確定你的影像格式,可以使用軟體GIMP來確認。可以使用選單路徑 Image > Mode ,將properties設定成RGB來確保它不會是Indexed的格式。
影像優先權
如果GRUB2有許多適合的影像的可選擇的話,選擇的優先權如底下:
- 在『/etc/default/grub』底下的『GRUB_BACKGROUND』設定。
- 第一個在『/boot/grub』裡面找到的影像,檔案格式的順序為『jpg, JPG, jpeg, JPEG, png, PNG, tga, TGA』。如果有多張影像為相同格式/副檔名的話,就會用字母排序。
- 如果找的到『desktop-base』的話,在『/usr/share/desktop-base/grub_background.sh』裡面指定的桌布。
- 預設的theme主題,會指定在『/etc/grub.d/05_debian_theme』裡面的『default_theme color』,這部份是沒有影像的。
設定影像 (GRUB 1.99 and later)
剛剛講解了怎麼下載相關影像和影像的限制,這一節介紹怎麼設定,主要版本是在GRUB1.99以後。
兩種方式可以加入相關的splash image,第一種是修改GRUB2的組態檔,第二種則是將相關的影像給複製到grub資料夾底下。
方法一
- 編輯檔案『/etc/default/grub』,加入這一行:
GRUB_BACKGROUND=/path/filename eg. GRUB_BACKGROUND="~/Pictures/grubbackround.png"
- 更新『grub.cfg』:
sudo update-grub
方法二
第二種方法是將相關的影像給複製到GRUB資料夾底下,預設的話是『/boot/grub』,如果這個資料夾底下有許多適合的影像的話,GRUB選擇的優先權為:
- 第一個在『/boot/grub』裡面找到的影像,檔案格式的順序為『jpg, JPG, jpeg, JPEG, png, PNG, tga, TGA』。
- 如果有多張影像為相同格式/副檔名的話,就會用字母排序。
- 更新『grub.cfg』:
如果在『update-grup』時有找到相關影像的話,就會出現底下的訊息,但是這邊注意的是,它有抓到影像訊息,不代表這張影像可以用,請注意上面提到過的限制。sudo update-grub
然後重新開機後,沒意外的話就會出現相關影像了: