禁用 GRUB 中的高级选项条目自动生成

禁用 GRUB 中的高级选项条目自动生成

是否可以指示 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

相关内容