GRUB 破坏了我的 Windows 启动,如何修复?

GRUB 破坏了我的 Windows 启动,如何修复?

我有一台运行 Windows 10 的笔记本电脑,运行得很好。我使用 Ubuntu 安装程序尝试安装双引导系统。当它问我是否要让它在引导记录中安装 grub 时,我尖锐地说不。

不管怎样它还是做到了。下次启动时,grub 出现,但没有明显的方式启动到 Windows。一个朋友不住在附近,所以我不能一直问他,研究了这个问题一段时间,想出了一个hackish方法:

  1. 在启动菜单中,选择“启动 EFI shell”
  2. 有类型:fs2:\efi\microsoft\boot\bootmgfw.efi

我不会说那种语言,我不明白该文件系统参考如何转换为常规 Linux 或常规 Windows。但希望这里有人这样做吗?特别是可以配置 grub 来做到这一点吗?

并且,有谁知道如何在不破坏 Windows 的情况下更正确地安装双启动?

答案1

您可以采取以下措施来解决问题:(
先检查第三种方法,这只可能解决问题)

  1. 尝试手动将菜单项添加到 grub 菜单:-

    • nano /boot/grub/custom.cfg= 使用文本编辑器打开 grub-config 文件
      sudo apt-get install nano如果您尚未安装)。

    • if [ "${grub_platform}" == "efi" ]; then menuentry "Microsoft Windows 10 UEFI/GPT" { insmod part_gpt insmod fat insmod chain search --no-floppy --fs-uuid --set=root $hints_string $fs_uuid chainloader /EFI/Microsoft/Boot/bootmgfw.efi } fi
      在文件末尾添加(如果 Windows 安装为 UEFI 模式/GPT 驱动器)
  2. 尝试更新 grub 菜单:

    • sudo os-prober= 此命令将检查其他已安装的操作系统。检查输出中是否列出了 Windows 10。
    • sudo update-grubsudo update-grub2(如果您有较新的 Ubuntu 版本,则后者是首选)= 此命令将使用上一个命令找到的操作系统启动选项的菜单项来更新 grub 菜单
    • reboot= 重新启动系统并检查其是否正常工作。
  3. 默认情况下,Ubuntu 22.04 (grub 2.06) 中禁用 os-prober。也许这就是导致问题的原因,因此您需要执行以下操作才能启用它(来源):

    • nano /etc/default/grub= 使用文本编辑器打开 grub 文件
      sudo apt-get install nano如果您没有安装)
    • 在文档末尾添加行:GRUB_DISABLE_OS_PROBER=false,或取消注释该行(如果存在)
    • 按 Ctrl+O,然后按 Enter 键保存更改,然后按 Ctrl+X 退出文件。使用 更新 grub 菜单sudo update-grub2

答案2

GRUB 的安装不会破坏 Windows。事实上,情况通常是相反的——Windows 10 更新擦除了 Linux 引导加载程序。

如果 GRUB 没有显示您的 Windows 分区,您可以尝试启动修复盘修复 GRUB。这是一个 ISO,您必须将其刻录到可启动设备中,然后从那里启动您的系统。

之后,如果它仍然只显示启动 Linux 的选项,您可以尝试运行(从您的 Ubuntu 安装):

os-prober 

作为信息,我前段时间在 Debian 上尝试过这些,它们运行得很好。在 Ubuntu 上,您可能还需要关闭 GRUB_DISABLE_OS_PROBER在 GRUB 选项中。

相关内容