Windows 7 启动问题 - 可能涉及 BCD

Windows 7 启动问题 - 可能涉及 BCD

首先,感谢阅读这篇文章的所有人。我现在非常沮丧和担心我的桌面现在肯定无法启动到 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 尝试自行修复时,它会说它将修复bootmgrfwbootmgr然后,它说:

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]

这是我在 Ubuntu 中启动修复的记录。

非常感谢您的帮助。我真的不想擦除我的驱动器。

答案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 diskandselect partition然后

set id=c12a7328-f81f-11d2-ba4b-00a0c93ec930

请注意,我已将 ID 更改得略有不同,但对于技术人员来说,仍然可以清楚地看出这是一个 EFI 系统分区。

相关内容