如何修复错误格式化的 EFI 分区?

如何修复错误格式化的 EFI 分区?

Windows 10 与 Ubuntu 双启动。然后我意识到我无法登录 Ubuntu,所以我尝试使用 Live CD 修复它。在 Live CD 中,我错误地使用/dev/sda2命令格式化mkfs.vfat -F 32 -n "name" /dev/sda2,该命令是EFI 分区

以下是列出的分区:分区

Windows 10 安装在sda4。因为我无法启动其中任何一个,所以我重新安装了 Ubuntusda5

现在我可以启动 Ubuntu,但是我由于 sda2 是 EFI,无法启动 Windows我错误地格式化了上面的分区。我尝试使用许多 Linux 发行版 Live CD 和 parted 进行修复,但无法修复 /EFI。其他网站显示我应该使用 Windows 10 安装介质并使用 diskpart。我有 Windows 10 USB 安装介质,但它无法启动(我猜是因为它是基于 UEFI 启动的)。在我的 BIOS(Asrock)上,当我尝试“从文件系统启动 EFI Shell“,现在显示错误文件未找到。我以前能够获得 EFI shell。

我尝试将 Windows 菜单项添加到 GRUB,但仍然无法启动,我猜是因为目前 Grub 无法通过 EFI 启动。

menuentry "Windows 10" {
search –fs-uuid –no-floppy –set=root 8A3C60A93C60924D chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}

我该如何解决这种情况?

我的首要任务是能够登录 Windows 同时保持 Ubuntu 双启动。

答案1

对于 Windows 和 Ubuntu,如何启动安装/修复媒体 UEFI 或 BIOS 就是如何安装或修复。

重新安装 Ubuntu 时,您是在 BIOS 启动模式下重新安装的(BIOS 模式需要 bios_grub 分区,正如 Boot-Repair 报告所建议的那样)。现在,grub 位于 gpt 的保护性 MBR 中,并且 fstab 中没有挂载 /EFI/ubuntu。您可以通过在 UEFI 模式下启动实时安装程序并清除 grub-pc 并安装 grub-efi-amd64,将安装转换为 UEFI。使用 Boot-Repair 完全重新安装 grub 通常更容易。

https://help.ubuntu.com/community/Boot-Repair

如果您将 Ubuntu 保持在 BIOS 模式,您将无法启动 Windows,因为 UEFI 和 BIOS 不兼容。一旦您开始以某种模式启动,您就无法切换,一旦进入 BIOS,grub 只能启动其他 BIOS 系统。而且 Windows 只能从 gpt 分区驱动器以 UEFI 模式启动。

要修复 Windows,您需要一个以 UEFI 模式启动的 Windows 修复闪存驱动器、DVD 或安装程序,以便使用 Windows 修复控制台进行 UEFI 修复。

https://superuser.com/questions/460762/how-can-i-repair-the-windows-8-efi-bootloader

在 Windows 修复并在 ESP 中具有 /EFI/Microsoft 文件夹后,您可以运行 grub 更新,它会运行 os-prober 以将 Windows 条目添加到 grub 菜单。

sudo update-grub

相关内容