如何修复 Windows 8 EFI 系统的启动配置数据 (BCD)

如何修复 Windows 8 EFI 系统的启动配置数据 (BCD)

我有一台联想 H530 台式机,它配备了 Windows 8。我尝试在系统上安装 Ubuntu,但最终却出了问题。目前的状态是我的系统无法启动其中任何一个,启动时只会进入 GRUB shell。我有一个带 EFI 的 64 位系统。

在此处输入图片描述
Ubuntu Live CD 上 GParted 中的分区结构

在此处输入图片描述
Windows 8 中的分区结构修复命令提示符

我按照如下这里的说明进行操作。

DISKPART
select disk 0
select vol 2 --> EFI
assign --> resulted in F: drive
select vol 3 --> Windows8_OS drive (471 GB)
assign --> resulted in G: drive
exit
cd /d F:\EFI\Microsoft\Boot\
bootrec /fixboot
ren BCD BCD.bak
bcdboot G:\Windows /l en-us /s f: /f ALL

到目前为止一切都很成功。但重启仍然会出现 GRUB shell。

我也尝试过以下链接

我该如何修复 Windows 8 EFI 引导加载程序

Windows-7 突然无法启动 - 重新启动并选择正确的启动设备或在选定的启动设备中插入启动媒体并按任意键修复 Windows-7 启动加载程序 /

但收效甚微。任何能解决这个问题的帮助都将不胜感激。

编辑 1:bcdedit 导致错误无法打开启动配置数据存储。找不到请求的系统设备

答案1

您有两个带有启动标志的分区和一个用于 grub 的 bios_boot 分区,这意味着您使用 BIOS 模式安装了 Ubuntu!

在 GPT 磁盘上,您应该只有一个 EFI 系统分区 (ESP),用于存储 Windows、Ubuntu 等的所有启动相关文件

安装/启动外部媒体(CD、DVD、USB)时,始终使用 EFI 启动方式。如果在固件中禁用 CSM/Legacy BIOS 模拟,则可以实现此目的。

根据您的情况,删除以下分区:(来自 GParted 显示)

sda3、sda7、sda8、sda9

然后,您可以从 Windows 安装 DVD/USB 启动(UEFI 方式!),转到命令提示符并使用

bcdboot 驱动器号:\windows(驱动器号是安装 Windows 的驱动器)

修复 UEFI 启动。

您还可以使用以下方法将 MBR 重写为“protected MBR”格式

bootsect /nt60 全部 /force /mbr

可以找到一些有关修复 Windows BCD 的解释这里

然后尝试重新启动以查看 Windows 是否启动正常。

此后,您可以再次安装 Ubuntu,但以 UEFI 方式启动安装媒体!

相关内容