![Grub 禁用恢复在检测到的操作系统上不起作用](https://linux22.com/image/79840/Grub%20%E7%A6%81%E7%94%A8%E6%81%A2%E5%A4%8D%E5%9C%A8%E6%A3%80%E6%B5%8B%E5%88%B0%E7%9A%84%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%B8%8A%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我有一台笔记本电脑,安装了三个 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/ROOT-VG/游戏根
- /dev/sda6 luks 加密卷
- Kali Linux 中 ext4 分区挂载到 /
- /dev/sda5 lvm 卷与 ROOT-VG 卷组
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 后运行。