本文提供了在执行完整 OS 恢复后重启 Microsoft Windows Server 2008 R2 时发生的错误的帮助。
原始 KB 数: 2261423
现象
执行 Windows 2008 R2 完整操作系统恢复后首次重启时,会收到以下错误消息:
Windows 无法启动。 最近的硬件或软件更改可能是原因。 修复此问题:
- 插入 Windows 安装光盘并重新启动计算机。
- 选择语言设置,然后单击“下一步”。
- 单击“修复计算机”。
如果没有此光盘,请联系系统管理员或计算机制造商以获取帮助。
状态:0xc000000e
信息:启动选择失败,因为所需的设备无法访问。
原因
将 Windows Server 2008 R2 从 DVD 安装到未分配的空间时,会创建两个分区。 在恢复操作期间,首先从自动系统恢复(ASR)编写器备份还原启动文件夹的内容,然后从驱动器 C 上的备份中再次还原。这种双重还原操作会导致启动文件夹数据中的驱动器 GUID 定义不一致。 这种不一致会导致启动错误。
解决方法
若要从此错误中恢复,请使用 bcdedit 命令行工具。 为此,请按照下列步骤进行操作:
-
使用 Windows Server 2008 R2 媒体启动服务器。
-
选择“修复计算机”。
-
选择“命令提示符”。
-
在命令提示符处,运行 bcdedit 命令。 项列表显示在 Windows 启动管理器和 Windows 启动加载程序下。
-
查找以下项的值:
- 在 Windows 启动管理器下**,设备项应设置为未知。**
- 在 Windows 启动加载程序下,设备和 osdevice 项应设置为未知。
-
运行以下三个命令来更正设置,然后重新启动计算机:
bcdedit /set {default} device partition=c:bcdedit /set {default} osdevice partition=c:bcdedit /set {bootmgr} device partition=c:
-
或者,找到
X:\Sources\Recovery,然后运行StartRep.exe启动快速启动修复实用工具,以更正启动环境值。
注意
此问题仅在某些备份工具中出现。 使用大多数备份工具时,不会发生 GUID 损坏。
详细信息
将 Windows Server 2008 R2 从 DVD 安装到未分配的空间时,会创建两个分区。 第一个分区为 100 MB,剩余空间变为驱动器 C。100 MB 分区是系统保留分区。 此分区包含 OS 启动文件,并且没有驱动器号。
可以通过从命令行或使用磁盘管理接口运行 mountvol 命令来查看这两个分区。
在从 DVD 安装 Windows Server 2008 R2 之前,可以通过手动分区和命名 C:\ 卷来更改 Windows Server 2008 R2 安装的默认行为。 这样就可以在单个分区上安装 Windows Server 2008 R2,而无需创建 100 MB 系统分区。
当未命名的 100 MB 系统保留分区不存在时,Windows Server 2008 R2 安装会将启动文件放在驱动器 C 上的隐藏文件夹中。此隐藏文件夹名为 Boot。
当备份工具备份 Windows 2008 R2 的标准安装时,它会通过系统保留分区来使用名为“自动系统恢复写入”(ASR 编写器)的 VSS 编写器来备份启动文件。 可以通过在命令提示符处运行 vssadmin list writers 命令来查看此 VSS 编写器。
在具有系统保留分区的 Windows Server 2008 R2 的标准安装上发生完整 OS 备份或还原时,之后启动时不应出现问题。 这是因为 ASR 编写器正确读取和写入启动位置所需的数据,并且不会发生 GUID 损坏。
但是,当启动文件夹存在于命名卷(如驱动器 C)上时,除了由 ASR 编写器备份之外,启动文件夹的内容还由文件系统备份。
在还原操作期间,启动文件夹的内容首先从 ASR 编写器备份还原,然后从驱动器 C 备份中再次还原。 这种双重还原会导致启动数据中的驱动器 GUID 定义不一致。 这种不一致导致启动错误
若要避免此问题,请使用以下方法之一:
- 执行 Windows 2008 R2 的完整 OS 恢复时,请确保检查备份存档和还原中是否存在
C:\Boot。 然后,如果C:\Boot存在,请确保在开始完整 OS 恢复之前将其排除。 - 对于驻留在
C:\BootWindows 2008 R2 上的客户端,因为缺少 100 MB 的系统保留分区,请排除此文件夹被备份。