/etc/default/grub.d/
關於「/etc/default/grub.d/」
延續/etc/default/grub提到的,
除了可以直接修改「/etc/default/grub
」這個檔案,
也可以分成不同的檔案,副檔名為「.cfg」,
放在「/etc/default/grub.d/
」這個資料夾。
舉例 1:
可以產生一個檔案「/etc/default/grub.d/background.cfg
」,內容如下
GRUB_BACKGROUND="/boot/grub/backgrounds/console-background.png"
或是執行下面指令產生
sudo sh -c 'echo GRUB_BACKGROUND=\"/boot/grub/backgrounds/console-background.png\" > /etc/default/grub.d/background.cfg'
舉例 2:
可以產生另一個檔案「/etc/default/grub.d/theme.cfg
」,內容如下
GRUB_THEME="/boot/grub/themes/poly-dark/theme.txt"
或是執行下面指令產生
sudo sh -c 'echo GRUB_THEME=\"/boot/grub/themes/poly-dark/theme.txt\" > /etc/default/grub.d/theme.cfg'
舉例 3:
或是上面兩個例子的設定,放在同一個檔案「/etc/default/grub.d/theme.cfg
」,內容如下
GRUB_BACKGROUND="/boot/grub/backgrounds/console-background.png"
GRUB_THEME="/boot/grub/themes/poly-dark/theme.txt"
或是執行下面指令產生
cat << EOF | sudo tee /etc/default/grub.d/theme.cfg
GRUB_BACKGROUND='/boot/grub/backgrounds/console-background.png'
GRUB_THEME='/boot/grub/themes/poly-dark/theme.txt'
EOF
重新產生「/boot/grub/grub.cfg」
上面三個例子,最後要執行下面指令,重新產生「/boot/grub/grub.cfg
」
sudo update-grub
或是執行下面指令,重新產生「/boot/grub/grub.cfg
」
sudo grub-mkconfig -o /boot/grub/grub.cfg
會顯示類似下面的提示訊息
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/background.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Sourcing file `/etc/default/grub.d/theme.cfg'
Generating grub configuration file ...
Found theme: /boot/grub/themes/poly-dark/theme.txt
Found background image: /boot/grub/backgrounds/console-background.png
...略...
案例
可以在「filelist」
找到「/etc/default/grub.d/lubuntu-grub-theme.cfg」。
深入探索
which grub-mkconfig
顯示
/usr/sbin/grub-mkconfig
執行
grep 'default/grub.d' /usr/sbin/grub-mkconfig -A 5
顯示
for x in ${sysconfdir}/default/grub.d/*.cfg ; do
if [ -e "${x}" ]; then
gettext_printf "Sourcing file \`%s'\n" "${x}" 1>&2
. "${x}"
fi
done
執行
grep 'default/grub.d' /usr/sbin/grub-mkconfig -A 5
顯示
if test -f ${sysconfdir}/default/grub ; then
gettext_printf "Sourcing file \`%s'\n" "${sysconfdir}/default/grub" 1>&2
. ${sysconfdir}/default/grub
fi
for x in ${sysconfdir}/default/grub.d/*.cfg ; do
if [ -e "${x}" ]; then
gettext_printf "Sourcing file \`%s'\n" "${x}" 1>&2
. "${x}"
fi
done
接下來
接下來,來探索「/etc/grub.d」這個資料夾。