我最近安装了 Linux,希望能够进行双重启动,但是,由于一些奇怪的 BIOS 设置,我不得不在 UEFI 模式下安装它,尽管 Windows 7 不是以 UEFI 模式安装的。此后,我根本无法启动 Windows。我想要做的是让 Windows 7 可 UEFI 启动,以便我可以将其添加到我的 UEFI GRUB。不幸的是,我无法启动 Windows,而且我无法访问 Windows 的安装 CD 或类似的东西。有没有办法从 Linux 启用 Windows 的 UEFI 启动?程序或包或类似的东西?
编辑:
我读本指南关于如何将 Windows 安装转换为 UEFI 模式,据我所知,必要的步骤是将硬盘从 MBR 转换为 GPT,然后使用 Windows 系统修复光盘创建带有 UEFI 引导加载程序的分区。
所以我的问题可以归结为:我可以使用基因在 Linux 上安全地将我的硬盘转换为 GPT,然后使用用不同的 Windows 计算机创建的系统修复光盘?
答案1
您有多种选择:
- 在 BIOS/CSM/传统模式下重新安装 Ubuntu-- 这几乎肯定是可能的,但需要正确准备启动介质和/或控制计算机的 CSM,这可能是一个令人困惑的挑战。请参阅我的这个页面有关 CSM 的更多信息。
- 为 Linux 安装 BIOS 模式引导加载程序-- 您可以从当前安装中安装 BIOS 模式版本的 GRUB 2(或其他 BIOS 模式引导加载程序)。这应该可以让程序在 BIOS 模式下运行。安装软件包
grub-pc
然后运行sudo grub-install /dev/sda
可能会成功;但是,很大程度上取决于配置细节,例如您有多少个磁盘以及它们是如何分区的。 - 将 Windows 转换为以 EFI 模式启动-- 这可以做到,但有点麻烦。参见这一页对于一个程序。我对你提到的实用程序有点熟悉
gptgen
,但我很多更熟悉 GPT fdisk (gdisk
),它也可以完成这项工作,因为我编写了 GPT fdisk。请注意,从 MBR 转换为 GPT 只是工作的一部分;更重要的任务是为 Windows 安装 EFI 模式引导加载程序。 - 使用 rEFInd-- 在大多数(但不是全部)EFI 上,rEFInd 可以从其原生 EFI 模式启动切换到 BIOS 模式启动。不过,在基于 UEFI 的 PC 上,此功能默认处于禁用状态,因为在大多数系统上,它更有可能导致问题而不是解决问题。不过,就您而言,这可能是一个理想的选择。请参阅这个问题以及我的回答有关此方法的详细信息。
- 在 EFI 模式下重新安装 Windows—— 这个选项可能是合理的,特别是当您在安装 Ubuntu 时意外删除了 Windows 安装时。
由于我掌握的信息不足,我很难说哪种方法最适合您。关键是,我不知道您的磁盘是如何分区的。一些遇到您这种情况的人惊恐地发现,他们意外地抹去了 Windows 安装。如果您遇到这种情况,以 EFI 模式重新安装 Windows 可能是最简单的解决方案——但如果磁盘上有重要的个人数据,您可能需要采取极端的恢复步骤。如果您已经完成了 MBR 到 GPT 的转换,但 Windows 分区保持原样,那么将 Windows 转换为以 EFI 模式启动几乎肯定是最好的方法。如果您有两个磁盘(一个用于 Ubuntu 的 GPT 磁盘和一个用于 Windows 的 MBR 磁盘),那么使用 rEFInd 以 BIOS 模式启动 Windows 或为 Linux 安装 BIOS 模式的引导加载程序可能是最佳选择。如果您有一个仍处于 MBR 模式的 MBR 磁盘,那么为 Linux 安装 BIOS 模式的引导加载程序可能是最佳方法。 (请注意,在 BIOS 模式下重新安装 Ubuntu 只是一种为 Linux 安装 BIOS 模式引导加载程序的“过度”方法。尽管有点过度,但它可能比仅进行技术上更简单的 BIOS 模式引导加载程序安装更容易,因为安装程序是为新手设计的,而手动 GRUB 安装则不是。)