答案1
根据提供的信息,我不认为 Windows 替换或损坏了 GRUB;相反,我认为 Windows 只是将其自己的引导加载程序移到了引导列表的开头。证据如下,来自 Boot Repair 输出:
efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0005,0000,0003,0006,0002,0001
Boot0000* ubuntu HD(2,96800,32000,1026f553-af9e-4aac-b975-418a07be36f0)File(EFIubuntushimx64.efi)
Boot0001* Hard Drive BIOS(2,0,00)AMGOAMNO........o.S.T.5.0.0.D.M.0.0.2.-.1.B.D.1.4.2....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .2.S.G.A.J.N.C.M......AMBO
Boot0002 UEFI: Wbudowana EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)AMBO
Boot0003* grub HD(2,96800,32000,1026f553-af9e-4aac-b975-418a07be36f0)File(EFIgrubgrubx64.efi)
Boot0005* Windows Boot Manager HD(2,96800,32000,1026f553-af9e-4aac-b975-418a07be36f0)File(EFIMicrosoftBootbootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0006* ubuntu HD(2,96800,32000,1026f553-af9e-4aac-b975-418a07be36f0)File(EFIUbuntugrubx64.efi)
请特别注意该BootOrder
行,它指定了 EFI 尝试运行引导程序的顺序。该行中的第一个条目是0005
,它指的Boot0005
是 Windows 引导加载程序。
这个问题在 Windows 中很容易解决,只需bcdedit
使用行政人员命令提示符窗口:
bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
bcdedit /set {bootmgr} description "Ubuntu"
这些命令将 Ubuntu 版本的 Shim(进而启动 GRUB)设置为默认启动程序,并设置在某些 EFI 的启动加载程序中显示的名称。(如果您已禁用安全启动,则可以更改为shimx64.efi
,grubx64.efi
事实上,如果未安装 Shim,您可能需要这样做。)此解决方案比运行启动修复或以其他方式重新安装 GRUB 要简单得多,因此不太可能导致意外问题。
一些 EFI 允许您在其用户界面中更改启动顺序,并且您可以使用efibootmgr
Linux 中的实用程序执行相同的操作。我描述该bcdedit
解决方案只是因为我知道您现在可以启动 Windows。
答案2
** 刚刚回答了一个非常相似的问题,所以我只是复制粘贴我的答案,希望它有所帮助。祝你好运*
windows 将覆盖 GRUB 启动菜单(即您所指的双启动屏幕)我相信通过 windows 在线重新安装 GRUB 将解决您的问题。另一个解决方法是重新安装 Ubuntu,这将再次安装 GRUB 启动菜单,您可以在其中选择 windows 还是 Ubuntu。这样可以保留您以前的 Ubuntu 文件。我会首先尝试安装 GRUB 启动菜单并确保它安装在第一个分区的根目录中。虽然我不是专家,很抱歉,但我相信这将解决您的问题。祝你好运
**** 我知道必须在启动过程最初使用的分区上安装并运行 GRUB。Gparted 是修复此问题的绝佳方法,不幸的是它是一个 Linux 程序。我很难使用 Windows 磁盘管理器找到解决方案,并且无法更改默认启动顺序。我建议尝试实时启动到 Ubuntu,如果您还有磁盘,如果没有,请制作一个,然后使用 Gparted 重新应用启动顺序。只需右键单击您正在从中启动 Ubuntu 的分区并选择“管理标志”,然后选中“启动”,然后尝试重新启动您的电脑,看看是否有帮助。