Grub 禁用恢复在检测到的操作系统上不起作用

Grub 禁用恢复在检测到的操作系统上不起作用

我有一台笔记本电脑,安装了三个 Linux 系统:Kali Linux 2.0 和两个 Debian 8.2(一个用于游戏,一个用于开发)。我想禁用恢复选项,所以我取消#GRUB_DISABLE_RECOVERY="true"/etc/default/grub.

这成功地从 Kali Linux(运行 update-grub 的系统)中删除了恢复选项。然而,这并没有禁用两个 Debian 安装的恢复选项。如何在不手动编辑的情况下禁用两个 Debian 安装的恢复选项/boot/grub/grub.cfg

取消注释前的结果cat /boot/grub/grub.cfg | grep 'recovery'

menuentry 'Kali GNU/Linux, with Linux 4.0.0-kali1-amd64 (recovery mode)' --class kali --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.0.0-kali1-amd64-recovery-1a2ddb7f-7fc3-40b5-b226-ed5cf940205e' {
menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode) (on /dev/mapper/ROOT--VG-DEBIAN--DEV)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-amd64-root=/dev/mapper/ROOT--VG-DEBIAN--DEV ro single-60442acd-d36a-4d7d-90c8-515281fe68d8' {
menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode) (on /dev/mapper/ROOT--VG-GAME--ROOT)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-amd64-root=/dev/mapper/ROOT--VG-GAME--ROOT ro single-1b27071e-4fcb-41c2-b9c8-01bccf90a10c' {

之后:

menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode) (on /dev/mapper/ROOT--VG-DEBIAN--DEV)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-amd64-root=/dev/mapper/ROOT--VG-DEBIAN--DEV ro single-60442acd-d36a-4d7d-90c8-515281fe68d8' {
menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode) (on /dev/mapper/ROOT--VG-GAME--ROOT)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-amd64-root=/dev/mapper/ROOT--VG-GAME--ROOT ro single-1b27071e-4fcb-41c2-b9c8-01bccf90a10c' {

如果重要的话,这是我的磁盘布局:

  • /dev/sda1 安装到 /boot
  • /dev/sda2 扩展分区
    • /dev/sda5 lvm 卷与 ROOT-VG 卷组
      • /dev/ROOT-VG/游戏根
        • ext4 分区安装到/游戏机中
      • /dev/ROOT-VG/DEBIAN-DEV
        • ext4 分区安装到/在开发机器中
    • /dev/sda6 luks 加密卷
      • Kali Linux 中 ext4 分区挂载到 /

Grub版本:2.02~beta2-22+deb8u1

答案1

在研究了 grub os-prober 脚本的工作原理后,我发现它linux-boot-prober负责检测 Linux 操作系统上的选项。linux-boot-prober寻找/boot/grub/grub.cfg确定选项。要禁用恢复,您必须 chroot 进入操作系统,编辑文件/etc/default/grub以禁用恢复选项,然后运行update-grub​​.但请小心,这可能会更新您的 grub 配置。为了防止这种情况发生,请install-grub /dev/sda && update-grub && install-grub /dev/sda在退出 chroot 后运行。

相关内容