我的系统中有 10 个 SSD,全部带有 Windows/NTFS 分区 - 一些带有 MBR,一些没有(请参阅这里)。我曾经通过 WSL 和 hyper-v 机器运行 Ubuntu,但我决定要拥有一个双启动的 Ubuntu-Windows 系统,以获得完整的 Ubuntu 体验(例如,能够使用带有“正确”驱动程序的超宽屏幕)。我按照说明从 Windows 安装 Ubuntu,但总是卡在“更新”部分。我尝试了能找到的所有“解决方案”,但都没有用。然后我尝试从 USB 棒安装 - 同样的问题是。尝试启动修复也不起作用(请参阅这里报告)。当我查看 gparted 时,我发现许多磁盘前面都有红色圆圈中的红色感叹号,但我找不到解决方法。因此,作为最后的手段,我拔掉了所有 SSD 的电源,只留下一个,然后从可启动的 Ubuntu 安装 USB 棒上将 Ubuntu 安装到该 SSD 上。这很完美。但我现在可以启动 Ubuntu,可以“看到”我所有的其他驱动器,但无法再进入我的任何 Windows 驱动器。还有办法解决这个问题吗?理想情况下,我希望获得一个允许我启动所有可启动分区的 grub。感谢您的帮助!
答案1
首先,你的启动修复输出显示 BIOS 模式和 EFI 模式 Windows 安装的证据,以及 BIOS 模式和 EFI 模式 GRUB(Linux 引导加载程序)安装的证据。由于磁盘数量太多,很难判断这两种操作系统是如何启动的。重要的是,GRUB 无法进行混合模式启动 - 也就是说,如果 GRUB 安装在 EFI 模式下,那么它应该能够链式加载到 EFI 模式 Windows,如果 GRUB 安装在 BIOS 模式下,那么它应该能够链式加载到 BIOS 模式 Windows;但 EFI 模式 GRUB 无法链式加载到 BIOS 模式 Windows,BIOS 模式 GRUB 无法链式加载到 EFI 模式 Windows。因此,在开始像您这样的操作之前,您必须知道 Windows 是在 BIOS 模式下启动还是在 EFI 模式下启动,并确保在相同的模式。今天,我建议在任何电脑上都坚持使用 EFI 模式启动,但最老的电脑除外;但如果您现有的 Windows 安装处于 BIOS 模式,这可能是更简单的方法。另一方面,如果启用了兼容性支持模块 (CSM;EFI 提供 BIOS 兼容性的方式),则很难控制启动模式。有关此主题的更多信息,请参阅我在 CSM 上的页面。
其次,如果您以与 Windows 相同的模式启动 Ubuntu,则运行sudo update-grub
应该会导致它重新扫描操作系统,从而检测 Windows 并将其添加到 GRUB 配置文件中。即使 Ubuntu 和 Windows 不是以相同的模式启动,此命令也不太可能导致新问题,尽管您的配置的复杂性可能是一个反指示。原则上,Boot Repair 应该能够做类似的事情;但是如果您以错误的模式启动了 Boot Repair(如果 Ubuntu 和 Windows 安装在 EFI 模式下,则在 BIOS 模式下启动,反之亦然),那么告诉 Boot Repair 修复问题不太可能有帮助,甚至可能会损坏正在运行的 Ubuntu 安装。
第三,如果您的 Ubuntu 和 Windows 安装处于不同的启动模式(EFI 与 BIOS),那么最好的办法就是协调它们。如何做到这一点取决于哪个操作系统处于哪种模式以及您想要执行哪种启动模式,所以我无法提供一个简单的解决方案;我需要有关您的启动模式的更多信息。