如何修改 Linux 的 GRUB 啟動背景

MANMOHAN MIRKAR發表於2017-03-14

何為 GRUB 背景( Splash )?

GRUB 背景( Splash )只不過是一張影像,在 Linux 系統啟動的時候顯示為背景。你可能知道 Grub (GRand Unified Bootloader 的簡寫) 是主流 Linux 發行版中廣泛使用的啟動裝載程式 bootloader。以 RedHat 為例,你會發現它在系統啟動之時顯示為空白或者是一個黑色背景。

GRUB 背景( Splash )的相關定義在 grub.conf 檔案中,並且 splash 背景影像應該儲存在 /boot 分割槽中。如果你覺得預設的空白屏相當無趣,同時又想按照自己的意願來修改它,那麼趕緊閱讀下方的每個步驟吧。

開始前需要哪些準備工作

  1. ImageMagick (僅在命令列中使用) 或者 GIMP (GUI 中使用)
  2. 一個樣例影像

使用 GUI 修改 Grub 的 Splash 背景

首先然我們來使用 GUI 來進行操作吧,這裡我們使用 GIMP 來作為影像編輯器。

步驟 1、 使用 GIMP 開啟影像 (路徑為:應用 Applications --> 影像 Graphics --> GIMP 程式 GNU Image Manipulation Program)

步驟 2、 現在我們需要按實際情況將影像縮放到 640x480 大小。為此,需要點選 影像 Image --> 縮放影像 Scale Image。記住,要如下圖引數進行設定。修改寬度為 640,高度為 480。其他保持不變。

縮放 image

點選 縮放 Scale按鈕

步驟 3、 然後,我們需要索引影像,讓它僅使用 14 色。為此,點選 影像 Image --> 模式 Mode --> 索引 Indexed。點選 生成最優調色盤 generate optimum palette 選項,並設定顏色最大值 maximum number of colors 為 14 (如下)。

最優調色盤限制為 14 色 

點選 轉換 convert按鈕

步驟 4、 儲存檔案。這裡以檔名為 “UxTechno.xpm” 來儲存。

儲存影像檔案

步驟 5、 以 Zip 方式壓縮檔案。為此,轉到檔案的儲存位置 --> 右擊並選擇 壓縮 Compress 選項,選擇 gzip 方法來壓縮。

步驟 6、 現在複製或移動 "UxTechno.xpm.gz" 到 /boot/grub/UxTechno.xpm.gz

步驟 7、 這一步,開啟 /boot/grub/grub.conf 檔案編輯 splashimage 引數如下,並儲存檔案。

最後,檔案的內容應該是像這樣的:

# grub.conf
generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means
    that # all kernel and initrd paths are relative to /boot/, eg. # root
    (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda2 # initrd
    /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5
    splashimage=(hd0,0)/grub/UxTechno.xpm.gz
    hiddenmenu   
    title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=1d8c5075-1a5b-4fdc-ba15-0458b65c6012 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb
    crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM initrd
    /initramfs-2.6.32-220.el6.x86_64.img

當你重啟伺服器之後,你講看到如下效果的 splash 背景影像:

使用命令列修改 Grub 的 Splash 背景

如果說你是命令列的超級粉絲,那就使用如下方法吧。

步驟 1、 開始之前,我們需要修改影像的畫素解析度。為此,我們還需要在 Linux 系統上安裝好 ImageMagick。在 CentOS / RHEL 上使用如下命令來進行交叉檢查。

# rpm -qa|grep -i ImageMagick

如果命令沒有返回輸出 (即空白),這意味這你的系統上還沒有安裝 ImageMagick。你必須執行下面的命令來安裝它。

# yum install ImageMagick

安裝好了重新複核一下,你會得到類似如下的輸出:

# rpm -qa|grep -i ImageMagick

ImageMagick-6.5.4.7-5.el6.x86_64

然後,繼續接下來的配置。這裡我使用 UxTechno 的 logo 來做 splash 背景影像。

步驟 2、 使用如下命令來轉換畫素深度。

# convert -depth 8 -colors 14 -resize 640x480 uxtechno_logo.jpg uxtechno_logo.xpm

上述選項的意義如下:

  1. 最大使用 14 色
  2. 解析度為 640x480
  3. 使用 xpm 格式

步驟 3、 以 Zip 方式壓縮檔案。

# gzip uxtechno_logo.xpm

步驟 4、 複製檔案到 /boot 分割槽。

# cp uxtechno_logo.xpm.gz /boot/grub/

步驟 5、 在 /boot/grub/grub.conf 檔案中修改 splashimage 引數如下,並儲存檔案。

splashimage=(hd0,0)/grub/uxtechno_logo.xpm

步驟 6、 最後,使用 reboot 命令重啟伺服器。啟動介面將顯示使用 GUI 方式第 7 步中的影像。

(題圖原圖在 wallconvert.com


譯者簡介:

GHLandy —— 生活中所有歡樂與苦悶都應藏在心中,有些事兒註定無人知曉,自己也無從說起。


via: https://www.howtoforge.com/tutorial/how-to-change-the-linux-splash-screen/

作者:MANMOHAN MIRKAR 譯者:GHLandy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章