我的电脑在标记为 GPT 的磁盘上运行 Ubuntu。Ubuntu 运行 UEFI 模式(创建了 FAT32 分区并在那里设置了引导加载程序)。现在我需要安装 Windows 7 作为游戏的备用系统。
需要在 UEFI 中安装。我知道如果我在 Ubuntu 上安装 Windows 7,安装程序将覆盖启动 Ubuntu。
我再重复一遍,你需要让一切正常运转在 UEFI 中。没有 BIOS。如何实现?抱歉,谷歌翻译不行。
答案1
默认的 UEFI 引导加载程序位于\EFI\BOOT\BOOTx64.EFI
您的 EFI 系统分区 (ESP) 上。
我上周重新安装了 Ubuntu,但看起来 Ubuntu 并没有创建这个文件。因此 Windows 无法覆盖不存在的内容。Windows 也不应该从 UEFI 启动菜单中删除条目(已注册的引导加载程序),而且根据我的经验,它确实没有删除。
我想说 UEFI 是一个重大改进,因为引导加载程序可以在 ESP 上共存(如果制造商实施的 UEFI 固件没有功能损坏或失效)。
为了确保安全你可以采取以下措施:
- 备份 ESP 的当前内容。(压缩应该没问题。)
- 要在 Windows 7 安装完成后将 Ubuntu 的 GRUB 作为 ESP 上的默认热插拔引导加载程序:
\EFI\ubuntu\
从备份中复制并创建为,\EFI\BOOT\
然后重命名grubx64.efi
为BOOTx64.EFI
。 - 准备好 Ubuntu Live 媒体,以便你可以使用启动管理器重新创建意外删除的启动菜单条目。
我从未进行过 Windows 7 的 UEFI 安装。使用 Windows 8但是,即使在安装后,在 ESP 上创建 Windows 启动数据也非常容易。基本上就是这样bcdboot c:\Windows /l en-gb /s b: /f ALL
,但是 Windows 7 版本没有这个/f
选项。
答案2
EFI 的主要问题有:
- ESP。我同意 LiveWireBT 的观点,在做其他任何事情之前,你应该先备份它。
- NVRAM 中的引导加载程序列表。在 EFI 模式下安装 Windows 时,它会修改此列表,您需要使用
efibootmgr
或某些等效实用程序将其修改回其起点。 - 让 Windows 7 安装程序以 EFI 模式启动。大多数 Windows 7 安装介质在 BIOS/CSM/传统模式下都能正常启动,但无法以 EFI/UEFI 模式启动。本文将介绍如何让它们以 EFI/UEFI 模式启动这里,以及其他地方。(如果您需要更多参考资料,请尝试使用 Google 搜索。)
- 直到最近,Ubuntu 才为自己创建了 GPT 分区,其类型代码与 Microsoft 相同。这意味着 Ubuntu 的分区将在 Windows 中显示为“未格式化的磁盘”,这使得 Ubuntu 很容易从 Windows 中删除。解决方案是使用将
gdisk
Ubuntu 分区的类型代码从 0700 设置为 8300,如所述这里。Ubuntu 的一些最新版本没有这个问题,因为它们从一开始就使用正确的类型代码,但我不记得转变发生的时间,而且你也没有说你正在使用哪个版本的 Ubuntu,所以我想提一下这一点。
还有常见的双启动问题。例如,您应该使用实时 CD 启动并调整分区大小以腾出空间给 Windows。您可能希望有一个单独的数据传输分区,以降低 Ubuntu 破坏 Windows 安装的风险。这些问题对于 UEFI 和 BIOS 都是一样的。