閱讀206 返回首頁    go 技術社區[雲棲]


在 Kali Linux 中更改 GRUB2 背景的 5 種方式

這是一個關於如何在 Kali Linux 中更改 GRUB 背景的簡單指南(實際上它是 Kali Linux 的 GRUB 啟動圖像)。 Kali 開發團隊在這方麵做的不多,他們好像太忙了,所以在這篇文章中,我會對 GRUB 解釋一二,但是不會冗長到我失去寫作的激情。 那麼我們開始吧……

這通常是所有人首先會遇到的一個問題,在哪裏設置?有很多方法來查找 GRUB 設置。每個人都可能有自己的方法,但我發現 update-grub 是最簡單的。如果在 VMWare 或 VirtualBox 中執行 update-grub,你將看到如下所示的內容:


  1. root@kali:~# update-grub
  2. Generating grub configuration file ...
  3. Found background image: /usr/share/images/desktop-base/desktop-grub.png
  4. Found linux image: /boot/vmlinuz-4.0.0-kali1-amd64
  5. Found initrd image: /boot/initrd.img-4.0.0-kali1-amd64
  6. No volume groups found
  7. done
  8. root@kali:~#

如果您是雙係統,或者三係統,那麼您將看到 GRUB 以及其他操作係統入口。然而,我們感興趣的部分是背景圖像,這是在我這裏看到的(你會看到完全相同的內容):


  1. Found background image: /usr/share/images/desktop-base/desktop-grub.png

GRUB 啟動圖像搜索順序

在 grub-2.02 中,對基於 Debian 的係統來說,它將按照以下順序搜索啟動背景:

  1. /etc/default/grub 裏的 GRUB_BACKGROUND 行 
  2. 在 /boot/grub/ 裏找到的第一個圖像(如果發現多張,將以字母順序排序)
  3. 在 /usr/share/desktop-base/grub_background.sh 中指定的
  4. 在 /etc/grub.d/05_debian_theme 裏 WALLPAPER 行列出的

現在將此信息留在這裏,我們會盡快重新檢查它。

Kali Linux GRUB 啟動圖像

在我使用 Kali Linux 時(因為我喜歡用它做事),會發現 Kali 正在使用這裏的背景圖像:/usr/share/images/desktop-base/desktop-grub.png

為了確定,我們來檢查一下這個 .png 文件的屬性。


  1. root@kali:~#
  2. root@kali:~# ls -l /usr/share/images/desktop-base/desktop-grub.png
  3. lrwxrwxrwx 1 root root 30 Oct 8 00:31 /usr/share/images/desktop-base/desktop-grub.png -> /etc/alternatives/desktop-grub
  4. root@kali:~#

Change GRUB background in Kali Linux - blackMORE OPs -1

Change GRUB background in Kali Linux - blackMORE OPs -1

什麼?它隻是 /etc/alternatives/desktop-grub 的一個符號鏈接? 但是 /etc/alternatives/desktop-grub 不是圖片文件。看來我也要檢查一下它的屬性。


  1. root@kali:~#
  2. root@kali:~# ls -l /etc/alternatives/desktop-grub
  3. lrwxrwxrwx 1 root root 44 Oct 8 00:27 /etc/alternatives/desktop-grub -> /usr/share/images/desktop-base/kali-grub.png
  4. root@kali:~#

Change GRUB background in Kali Linux - blackMORE OPs -3

Change GRUB background in Kali Linux - blackMORE OPs -3

好吧,真讓人費解。 /etc/alternatives/desktop-grub 也是一個符號鏈接,它指向/usr/share/images/desktop-base/kali-grub.png,來自最初同樣的文件夾。呃! 無語。 但是現在我們至少可以替換該文件並將其解決。

在替換之前,我們需要檢查 /usr/share/images/desktop-base/kali-grub.png 的屬性,以確保下載相同類型和大小的文件。


  1. root@kali:~#
  2. root@kali:~# file /usr/share/images/desktop-base/kali-grub.png
  3. /usr/share/images/desktop-base/kali-grub.png: PNG image data, 640 x 480, 8-bit/color RGB, non-interlaced
  4. root@kali:~#

可以確定這是一個 PNG 圖像文件,像素尺寸為 640 x 480。

GRUB 背景圖像屬性

可以使用 PNGJPG/JPEG 以及 TGA 類型的圖像文件作為 GRUB 2 的背景。必須符合以下規範:

  • JPG/JPEG 圖像必須是 8-bit (256 色)
  • 圖像應該是非索引的,RGB

默認情況下,如果安裝了 desktop-base 軟件包,符合上述規範的圖像將放在 /usr/share/images/desktop-base/ 目錄中。在穀歌上很容易找到類似的文件。我也找了一個。


  1. root@kali:~#
  2. root@kali:~# file Downloads/wallpaper-1.png
  3. Downloads/wallpaper-1.png: PNG image data, 640 x 480, 8-bit/color RGB, non-interlaced
  4. root@kali:~#

Change GRUB background in Kali Linux - blackMORE OPs -6

Change GRUB background in Kali Linux - blackMORE OPs -6

方式 1:替換圖像

現在我們隻需簡單的用新文件將 /usr/share/images/desktop-base/kali-grub.png 替換掉。值得注意這是最簡單的方法,不需要修改 grub-config 文件。 如果你對 GRUB 很熟,建議你簡單的修改 GRUB 的默認配置文件,然後執行 update-grub

像往常一樣,我會將原文件重命名為 kali-grub.png.bkp 進行備份。


  1. root@kali:~#
  2. root@kali:~# mv /usr/share/images/desktop-base/kali-grub.png /usr/share/images/desktop-base/kali-grub.png.bkp
  3. root@kali:~#

Change GRUB background in Kali Linux - blackMORE OPs -4

Change GRUB background in Kali Linux - blackMORE OPs -4

現在我們將下載的文件重命名為 kali-grub.png


  1. root@kali:~#
  2. root@kali:~# cp Downloads/wallpaper-1.png /usr/share/images/desktop-base/kali-grub.png
  3. root@kali:~#

Change GRUB background in Kali Linux - blackMORE OPs -5

Change GRUB background in Kali Linux - blackMORE OPs -5

最後執行命令 update-grub


  1. root@kali:~# update-grub
  2. Generating grub configuration file ...
  3. Found background image: /usr/share/images/desktop-base/desktop-grub.png
  4. Found linux image: /boot/vmlinuz-4.0.0-kali1-amd64
  5. Found initrd image: /boot/initrd.img-4.0.0-kali1-amd64
  6. No volume groups found
  7. done
  8. root@kali:~#

Change GRUB background in Kali Linux - blackMORE OPs -7

Change GRUB background in Kali Linux - blackMORE OPs -7

下次重新啟動你的 Kali Linux 時,你會看到 GRUB 背景變成了你自己的圖像(GRUB 啟動界麵)。

下麵是我現在正在使用的新 GRUB 啟動背景。你呢?要不要試試這個辦法?

Change GRUB background in Kali Linux - blackMORE OPs -9

Change GRUB background in Kali Linux - blackMORE OPs -9

這是最簡單最安全的辦法,最糟的情況也不過是在 GRUB 看到一個藍色的背景,但你依然可以登錄後修複它們。現在如果你有信心,讓我們嚐試一個改變 GRUB 設置的更好的方法(有點複雜)。後續步驟更加有趣,而且可以在任何使用 GRUB 引導的 Linux 上使用。

現在回憶一下 GRUB 在哪 4 個地方尋找啟動背景圖像?再看一遍:

  1. /etc/default/grub 裏的 GRUB_BACKGROUND 行 
  2. 在 /boot/grub/ 裏找到的第一個圖像(如果發現多張,將以字母順序排序)
  3. 在 /usr/share/desktop-base/grub_background.sh 中指定的
  4. 在 /etc/grub.d/05_debian_theme 裏 WALLPAPER 行列出的

那麼我們再在 Kali Linux 上(或任意使用 GRUB2 的 Linux係統)試一下新的選擇。

方式 2:在 GRUB_BACKGROUND 中定義圖像路徑

所以你可以根據上述的查找優先級使用上述任一項,將 GRUB 背景圖像改為自己的。以下是我自己係統上  /etc/default/grub 的內容。


  1. root@kali:~# vi /etc/default/grub

按照 GRUB_BACKGROUND="/root/World-Map.jpg" 的格式添加一行,其中 World-Map.jpg 是你要作為 GRUB 背景的圖像文件。


  1. # If you change this file, run 'update-grub' afterwards to update
  2. # /boot/grub/grub.cfg.
  3. # For full documentation of the options in this file, see:
  4. #   info -f grub -n 'Simple configuration'
  5. GRUB_DEFAULT=0
  6. GRUB_TIMEOUT=15
  7. GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
  8. GRUB_CMDLINE_LINUX_DEFAULT="quiet"
  9. GRUB_CMDLINE_LINUX="initrd=/install/gtk/initrd.gz"
  10. GRUB_BACKGROUND="/root/World-Map.jpg"

一旦使用上述方式完成更改,務必執行 update-grub 命令,如下所示。


  1. root@kali:~# update-grub
  2. Generating grub configuration file ...
  3. Found background: /root/World-Map.jpg
  4. Found background image: /root/World-Map.jpg
  5. Found linux image: /boot/vmlinuz-4.0.0-kali1-amd64
  6. Found initrd image: /boot/initrd.img-4.0.0-kali1-amd64
  7.   No volume groups found
  8. done
  9. root@kali:~#

現在重啟機器,你會在 GRUB 看到自定義的圖像。

方式 3:把圖像文件放到 /boot/grub/ 文件夾

如果沒有在 /etc/default/grub 文件中指定 GRUB_BACKGROUND 項,理論上 GRUB 應當使用在 /boot/grub/ 文件夾找到的第一個圖像文件作為背景。如果 GRUB 在 /boot/grub/ 找到多個圖像文件,它會按字母排序並使用第一個圖像文件。

方式 4:在 grub_background.sh 指定圖像路徑

如果沒有在 /etc/default/grub 文件中指定 GRUB_BACKGROUND 項,而且 /boot/grub/ 目錄下沒有圖像文件,GRUB 將會開始在 /usr/share/desktop-base/grub_background.sh 文件中指定的圖像路徑中搜索。Kali Linux 是在這裏指定的。每個 Linux 發行版都有自己的特色。

方式 5:在 /etc/grub.d/05_debian_theme 文件的 WALLPAPER 一行指定圖像

這是 GRUB 搜尋背景圖像的最後一個位置。如果在其他部分都沒有找到,它將會在這裏查找。

原文發布時間為:2017-03-31

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-23 15:04:30

  上一篇:go  雲翼計劃年付優惠領取流程
  下一篇:go  幹貨 | 東南大學教授漆桂林:知識圖譜中的推理技術進展及應用