win*_*ter 8 boot windows-7 bcd
首先,感谢阅读本文的人。我感到非常沮丧并担心我的桌面现在绝对无法启动到 Windows 7,这在我成为白痴并使用Boot-Repair(Linux 工具,试图让 Ubuntu 正常工作)之前非常好.) 所以这是发生了什么:
我启动计算机,只要光盘驱动器中没有任何内容,启动顺序无关紧要,然后我得到
Windows 无法启动,哒哒哒,
File: \EFI\Microsoft\Boot\BCD
Status: 0xc000000f
Info: An error occured while attempting to read the boot configuration data.
Run Code Online (Sandbox Code Playgroud)
所以很明显这是一个BCD问题。我拿到了安装光盘并进入命令行尝试查找安装和/或 BCD 文件的任何问题。我发现了一些有趣和令人沮丧的东西......
在系统恢复中,当 Windows 尝试自行修复时,它会说它将修复bootmgr并且fwbootmgr. 然后,它说:
The following startup options will be added:
Name: Win 7 home premium (recovered)
Path: Windows
Run Code Online (Sandbox Code Playgroud)
(这里我们有我以前从未见过的东西......)
Windows device: Partition=\\\?\GLOBALROOT\Device\HarddiskVolume5
Run Code Online (Sandbox Code Playgroud)
此外,它会将当前的 BCD 复制到 \\\?\GLOBALROOT\Device\HarddiskVolume1\EFI\Microsoft\Boot\BCD.Backup.0003
然后我尝试让它做它的事情,它说无法保存启动选项。接下来,它在尝试查找备份时找不到系统映像。
所以我已经进入 cmd 行并开始diskpart,在那里我列出了卷并发现:
我尝试运行bootrec /rebuildbcd,它检测到 Windows 安装\\\?\GLOBALROOT\Device\Windows在那里。它询问我是否要将它添加到启动设备,然后我按y... 然后它说:
The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria
Run Code Online (Sandbox Code Playgroud)
在 cmd 行中处理与引导和 BCD 相关的各种不同内容时,会出现此错误。
附加信息:里面C:\Windows\Boot\EFI\没有 BCD。潜在的问题,我想,但我不知道如何到达那里或在哪里找到它......
跑步时bcdboot,我得到
BFSVC: FAiled to create a new system store. Status = [c000003a]
Run Code Online (Sandbox Code Playgroud)
请,任何帮助将不胜感激。我真的不想擦除我的驱动器。
Ben*_*igt 14
由于多个无法区分的设备可能与识别标准匹配,因此无法识别请求的系统设备
您可能有多个 EFI 系统分区,无论是在同一个驱动器上还是在两个驱动器中的每一个上。与 EFI 本身相比,这让 Windows 修复工具更加困惑。
您可以diskpart在 WinRE 环境中确认这一点(可通过安装或恢复媒体获得),并使用diskpart'sset 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
Run Code Online (Sandbox Code Playgroud)
该字符串c12a7328-f81f-11d2-ba4b-00a0c93ec93b肯定地标识了一个 EFI 系统分区。当我想隐藏一个从维修工具,我用select disk和select partition,然后
set id=c12a7328-f81f-11d2-ba4b-00a0c93ec930
Run Code Online (Sandbox Code Playgroud)
请注意,我已将 ID 更改为足以使其有所不同,但对于技术人员来说仍然很明显这是一个 EFI 系统分区。