首先,感谢阅读这篇文章的所有人。我现在非常沮丧和担心我的桌面现在肯定无法启动到 Windows 7,在我愚蠢地使用之前,它运行得很好启动修复(Linux 工具,试图让 Ubuntu 正常工作。)因此,发生了以下情况:
我启动了电脑,启动顺序无所谓,只要光驱里没有东西,然后我就得到了
Windows 无法启动,哒哒哒,
File: \EFI\Microsoft\Boot\BCD
Status: 0xc000000f
Info: An error occured while attempting to read the boot configuration data.
所以显然这是 BCD 问题。我拿到安装光盘并进入命令行,试图找出安装和/或 BCD 文件中的任何错误。我发现了一些有趣而又令人沮丧的东西……
在系统恢复中,当 Windows 尝试自行修复时,它会说它将修复bootmgr
。fwbootmgr
然后,它说:
The following startup options will be added:
Name: Win 7 home premium (recovered)
Path: Windows
(这里有我以前从未见过的东西……)
Windows device: Partition=\\\?\GLOBALROOT\Device\HarddiskVolume5
此外,它会将当前 BCD 复制到\\\?\GLOBALROOT\Device\HarddiskVolume1\EFI\Microsoft\Boot\BCD.Backup.0003
然后我尝试让它执行操作,它说无法保存启动选项。接下来,当它尝试查找备份时,它找不到系统映像。
因此我进入 cmd 行并开始diskpart
,在其中列出卷并发现:
- 卷 1 为 DELLUTILITY,FAT32,名称为 C:
- 卷 2 为 RECOVERY,名称为 D:
- 3 是我为尝试容纳 Ubuntu 而创建的新分区,称为 E:
- 4 没有字母,名为 ESP 并且也是 FAT32。
- 然后是卷 5,标有 OS,而且...没有字母???这会是个问题吗?我可以将其指定为 C:,但重新启动后它不会保留。
我尝试运行bootrec /rebuildbcd
,它检测到那里有 Windows 安装\\\?\GLOBALROOT\Device\Windows
。它询问我是否要将其添加到启动设备,然后我按下y...然后它说:
The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria
在处理与启动和 BCD 相关的 cmd 行中的各种不同内容时会出现此错误。
附加信息:C:\Windows\Boot\EFI\
其中没有 BCD。我想这可能是个问题,但我不知道如何将其放到那里或在哪里找到它...
跑步时bcdboot
,我得到
BFSVC: FAiled to create a new system store. Status = [c000003a]
非常感谢您的帮助。我真的不想擦除我的驱动器。
答案1
由于多个无法区分的设备可能符合识别标准,因此无法识别所请求的系统设备
您可能有多个 EFI 系统分区,无论是在同一个驱动器上还是在两个驱动器上各有一个。这会让 Windows 修复工具比 EFI 本身更困惑。
diskpart
您可以在 WinRE 环境(安装或恢复媒体可用)中确认这一点,并使用diskpart
命令set id=
更改其中一种类型并使其不再是 EFI 系统分区。之后,修复工具将顺利地在剩余的 EFI 系统分区上工作。(我建议只更改 EFI 类型的一个十六进制数字,以便以后在需要时轻松恢复)
BCD 不应位于 Windows 分区上。它应该位于 Microsoft 目录下的 EFI 系统分区中,并且某些数据甚至由 EFI 存储在 NVRAM 中。
以下是我的笔记本电脑中一个实际的例子,其中的分区方案使 Windows 修复工具感到困惑。这是因为笔记本电脑配有一个旋转硬盘,我安装了一个足够大的 mSATA SSD 用作系统分区,然后使用 SSD 的标准分区布局。这样做之后,现在有两个 EFI 系统分区。
Microsoft DiskPart version 6.3.9600
Copyright (C) 1999-2013 Microsoft Corporation.
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 465 GB 60 MB *
Disk 1 Online 202 GB 0 B *
DISKPART> select disk 0
Disk 0 is now the selected disk.
DISKPART> list part
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Recovery 400 MB 1024 KB
Partition 2 System 200 MB 401 MB
Partition 3 Reserved 128 MB 661 MB
Partition 4 Primary 452 GB 789 MB
Partition 5 Primary 12 GB 453 GB
DISKPART> select part 2
Partition 2 is now the selected partition.
DISKPART> detail part
Partition 2
Type : c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Hidden : Yes
Required: No
Attrib : 0X8000000000000000
Offset in Bytes: 420478976
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 3 FAT32 Partition 200 MB Healthy Hidden
DISKPART> select disk 1
Disk 1 is now the selected disk.
DISKPART> list part
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 OEM 6000 MB 1024 KB
Partition 2 Recovery 300 MB 6001 MB
Partition 3 System 100 MB 6301 MB
Partition 4 Reserved 128 MB 6401 MB
Partition 5 Primary 196 GB 6529 MB
DISKPART> select part 3
Partition 3 is now the selected partition.
DISKPART> detail part
Partition 3
Type : c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Hidden : Yes
Required: No
Attrib : 0000000000000000
Offset in Bytes: 6607077376
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 6 FAT32 Partition 100 MB Healthy System
该字符串c12a7328-f81f-11d2-ba4b-00a0c93ec93b
明确标识了 EFI 系统分区。当我想隐藏修复工具中的一个分区时,我使用select disk
andselect partition
然后
set id=c12a7328-f81f-11d2-ba4b-00a0c93ec930
请注意,我已将 ID 更改得略有不同,但对于技术人员来说,仍然可以清楚地看出这是一个 EFI 系统分区。