在 Windows 安装过程中,它认为 EFI 分区不在 fat32 中,但它在 fat32 中

在 Windows 安装过程中,它认为 EFI 分区不在 fat32 中,但它在 fat32 中

我在硬盘上安装了 Ubuntu,最近我使用 gdisk 将该磁盘转换为 GPT,并创建了以 fat32 格式格式化的 EFI 分区(转换后它刚好是 ntfs,但后来我将其格式化为 fat32)。但是,当我尝试将 Windows 安装到磁盘上未分配的空间时,它说我的 ESP 不是 Fat32,并要求我将其格式化为 fat32。我已重新启动进入 ubuntu 并检查分区:

  1. 转换为 GPT 期间创建的 ESP(fat32,已使用约 4 Mb,未使用 200 Mb)
  2. 恢复 windows 创建的分区(ntfs)
  3. 由 Windows 创建的 ESP(fat32,已使用约 4 Mb,未使用 96 Mb)
  4. Windows 创建的 MSR 分区(未知)
  5. 由 Windows 创建的数据分区(ntfs 或未知,我不记得了)
  6. Linux 交换
  7. Ubuntu 分区

Windows 版本是 10,ubuntu 是 16.04,我还有 Ubuntu live USB,以防我需要修复引导加载程序或其他东西。我该如何修复错误?

编辑:现在我删除了 EFI 分区,Ubuntu 仍然可以成功加载,而且 Windows 现在不会给出有关 ESP 的错误,但它不会创建 ESP!它只创建基本数据分区和 MSR 分区,没有 ESP 也没有恢复!安装后无法加载,但 Ubuntu 可以加载,因为它在装有 Windows 的旧硬盘上有 GRUB(这个硬盘半坏了,所以我想将 Windows 重新安装到另一个硬盘上)。我真的不知道发生了什么,有什么建议吗?

答案1

两件事情:

  1. 据我所知,windows 尚未实现 gpt
  2. 在 Windows 安装中创建 efi 分区。

答案2

我还没有检查过 Windows 10,但早期版本的 Windows 安装程序在遇到具有多个 ESP 的磁盘时往往会感到困惑。我记得他们在安装到一半时会出现错误。请注意,ESP 应该是共享在计算机上安装的所有操作系统之间。尽管 EFI 规范中没有任何内容禁止创建多个 ESP,但通常的做法是共享一个 ESP。因此,如果磁盘已经有一个 ESP,Windows 完全有权将其引导加载程序添加到该 ESP,即使该 ESP 是由另一个操作系统创建的。

还要注意,操作系统使用一个磁盘上的 ESP 来引导另一个物理磁盘上的操作系统安装没有任何问题。因此,如果您的第一个磁盘有 ESP,则将 Windows 安装到第二个磁盘可能会导致在第二个磁盘上不创建 ESP;Windows 可能只使用第一个磁盘上的 ESP。话虽如此,我从来没有真正尝试过,所以我不知道 Windows实际上做。

这些都不能解释为什么 Windows 在正确安装后无法启动;但是,可能存在一些附带问题。例如,据我所知,您有一个正常运行的 Ubuntu 安装,并且您尝试将 Windows 添加到该安装中。如果 Windows EFI 启动项不知何故没有成为默认启动项,则您需要sudo update-grub在 Ubuntu 中运行以将 Windows 项添加到 GRUB 菜单。

另一种可能性是,您可能在 EFI 模式下安装了 Ubuntu,而在 BIOS 模式下安装了 Windows。这种跨模式安装是可能的,但它们通常很难管理。在 Ubuntu 中,检查两个磁盘的分区表类型。(像parted和 的最新版本的工具会fdisk报告此信息。)如果它们都是 GPT,那么这个 Windows 在 BIOS 模式下的假设是错误的。如果 Windows 磁盘使用 MBR(parted至少 报告为“msdos”),那么您可能安装的是混合模式。请参阅我在 CSM 上的页面了解为什么这种配置不方便以及如何控制启动模式。如果您使用的是混合模式安装,则至少有两种选择:

  • 重新安装 Windows-- 您可以从 MBR 磁盘擦除分区,在其上创建 GPT,然后重新安装 Windows。这可能是最好的方法。您需要学习如何控制启动模式,如我的 CSM 页面所述,这样您就不会意外地在 BIOS 模式下启动 Windows 安装程序。
  • 使用 rEFInd- 我的rEFInd 启动管理器是一个 EFI 模式的启动管理器,可以重定向到 BIOS 模式启动。如果您在 Ubuntu 中安装 rEFInd,则可以编辑/boot/efi/EFI/refind/refind.conf:取消注释该scanfor行并确保它hdbios在选项之中。(您可能还需要取消注释uefi_deep_legacy_scan,但我建议仅在没有此选项的情况下看不到启动包含 Windows 的磁盘的选项时才这样做。)配置后,rEFInd 将在大多数计算机上显示硬盘的 BIOS 模式启动选项。其中一个选项应该会在 BIOS 模式下启动您现有的 Windows 安装。

答案3

唯一有帮助的就是在安装 Windows 之前断开我那快要报废的旧硬盘。当它成功时,我既想哭又想笑。

相关内容