在双引导设置中暂时禁用/卸载 grub,然后将 grub 恢复到启动时的状态

在双引导设置中暂时禁用/卸载 grub,然后将 grub 恢复到启动时的状态

我使用 grub 2.02-beta2 的双引导设置,它允许我在 x64 台式机上在 Windows 7 和 arch linux 之间切换。它们都安装在我的 C: 驱动器上的同一物理 HDD 上。 (一个常见的解决方案是在BIOS中切换为从Windows HDD启动,这对我来说是不可能的)

现在,Microsoft 发布了一个麻烦的 2016 年 10 月安全更新,当您使用 GRUB 引导加载程序时,该更新的安装会在重新启动时失败。因此我试图实现以下目标:

  • 以某种方式禁用 GRUB 引导加载程序,以便我的 PC 自动引导到 Windows,而不会丢失任何 Linux 数据(C 上的一个分区和 D 上的一个分区)
  • 安装所有更新,重新启动几次
  • 使用 Live CD 或类似工具,恢复我之前的 GRUB 配置,而不会丢失数据

答案1

好吧,今天我终于有时间做了这个。做好准备,这需要一段时间。在执行任何这些命令之前,请确保您知道您是否有 UEFI 或 BIOS 系统以及 GPT 或 MBR 分区表。显然,这具有 0 保修,这正是对我有用的,我使用了许多 StackOverflow 和其他论坛答案。遗憾的是我只被允许链接2。

步骤0:备份备份备份。我使用 Reflect,它是免费的,它可以完成工作,还有很多其他选择。买一些大的外部硬盘,把你的文件放在云端(如果你担心隐私,我可以推荐 Cryptomator。例如,Google 硬盘免费为你提供 15 Gig。)说真的,各种东西都可能出错,而且很有可能出错您可能需要重新安装至少 1 个操作系统。

步骤1:卸载/覆盖GRUB。

对我来说,这个是花费时间最长的。基本上,您要做的就是覆盖 MBR(我对这些技术不是最了解的。您需要检查您是否有 UEFI 或 BIOS - 我有 UEFI - 以及您的分区表是否是 GPT或 MBR。出于某种原因,我有 MBR,这是较旧的标准。)的 GRUB 直接指向 Windows,然后您可以安装更新。

可以找到如何执行此操作的说明这里。我建议先在 Windows 中尝试一下,这花了我很长时间,因为我的 Windows 在 2 小时左右的时间里根本没有启动。最终,启动修复并没有起作用。我必须在 BIOS 中选择 USB: not UEFI: 并在提示符下运行很多命令:

bootrec /fixmbr
bootrec /fixboot

我的修复启动失败,出现“找不到元素”。然后我就跟着文章,特别是(小心!将驱动器号更改为适合您的驱动器号) bcdboot C:\Windows /SC:执行 bootrec 内容,将分区设置为活动分区,执行一次启动帮助,希望您的 Windows 现在可以启动。

一旦达到此状态,我们就可以重新启动 Windows 几次,安装所有更新并对我们的新安全系统感到满意。然后我们意识到我们想要 Linux 回来。

第2步: 重新安装grub

为此,我曾经从 HDD 启动 arch linux。在这里,我必须执行 mv /dev/disk/by-label/MYLINUXLIVE /dev/disk/by-label/ARCH_ 才能启动它。然后我使用 sudo fdisk -l 查找 Linux 分区。现在您想要挂载它并对其进行 chroot sudo mount /dev/sdXY /mnt sudo arch-chroot 现在我们想要安装 grub,这将再次覆盖 MBR。 sudo grub-install --target=i386-pc --recheck /dev/sdUV grub-mkconfig -o /boot/grub/grub.cfg 退出重新启动

希望现在可以引导到 grub。现在对我来说,一开始没有找到窗口,但这很容易修复。

步骤3:将 windows 条目添加回 grub(可选)

启动到旧的 arch/Linux 安装,运行os-probe,它将检测 Windows,并运行sudo grub-update。 Arch 默认情况下没有 grub-update,所以源代码如下:

#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

在此之后,一切都和以前一样,除了安装了有问题的更新,我失去了一些神经。

答案2

杰夫的回答是一个很好的答案。我强烈推荐启动修复:

https://sourceforge.net/projects/boot-repair-cd/

这允许我重置 MBR 以直接启动到 Windows,然后在更新 Windows 后允许重新安装 Grub 并返回到双启动模式。

相关内容