是否可以指示 GRUB 在例行更新时不包含高级选项条目?我的意思是这个代码片段,/boot/grub/grub.cfg
每次某些软件包更新请求重新创建 GRUB 配置时,我都会强制手动删除它:
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-7abbf46a-25c1-4ac5-b8fc-eff98778e924' {
menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-amd64-advanced-7abbf46a-25c1-4ac5-b8fc-eff98778e924' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod lvm
insmod ext2
set root='lvmid/iLJBEP-k39n-9Orf-iYFY-szXc-GiFC-hw19FQ/R5kb0j-PEbc-THWn-fH8a-rECU-z7x2-Mr200e'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/iLJBEP-k39n-9Orf-iYFY-szXc-GiFC-hw19FQ/R5kb0j-PEbc-THWn-fH8a-rECU-z7x2-Mr200e' 7abbf46a-25c1-4ac5-b8fc-eff98778e924
else
search --no-floppy --fs-uuid --set=root 7abbf46a-25c1-4ac5-b8fc-eff98778e924
fi
echo 'Loading Linux 3.16.0-4-amd64 ...'
linux /boot/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/debianvg-mainlv ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-4-amd64
}
系统为Debian Stable(Jessie 8.5),安装了GRUB版本2.02~beta2-22+deb8u1。
答案1
- 添加
GRUB_DISABLE_SUBMENU=y
/etc/default/grub
- 重新生成 grub 配置:
grub-mkconfig -o /boot/grub/grub.cfg
看Arch Linux 维基更多解释:
如果您安装了多个内核,例如 linux 和 linux-lts,默认情况下 grub-mkconfig 会将它们分组到子菜单中。如果您不喜欢这种行为,可以通过将以下行添加到 来返回单个菜单
/etc/default/grub
:
GRUB_DISABLE_SUBMENU=y