适用于:✔️ Windows VM
原始 KB 数: 4010138
本文提供了解决 Azure 虚拟机上出现错误代码的启动问题0xC0000225
的步骤。 此错误指出找不到状态或对象。
现象
Windows 虚拟机(VM)未启动。 使用 启动诊断 查看 VM 的屏幕截图时,可以看到 Windows 启动管理器控制台的屏幕截图包含以下文本:
- “Windows 无法启动”错误消息
0xc0000225
错误代码- 有关错误的详细信息
与此错误代码关联的文件显示要执行哪些步骤,以便解决此问题。 Windows 启动管理器控制台中显示的错误显示在以下部分中。
症状 1:\Windows\System32\drivers 目录中系统文件中的错误
████████████████████████████Windows Boot Manager████████████████████████████████
Windows failed to start. A recent hardware or software change might be the
cause. To fix the problem:
1. Insert your Windows installation disc and restart your computer.
2. Choose your language settings, and then click "Next."
3. Click "Repair your computer."
If you do not have this disc, contact your system administrator or computer
manufacturer for assistance.
File: \Windows\System32\drivers\<driver-name>.sys
Status: 0xc0000225
Info: The operating system couldn't be loaded because a critical system
driver is missing or contains errors.
█ENTER=OS Selection███████████████████████████████████████████████ESC=Recovery██
症状 2:没有显示的文件时出错
████████████████████████████Windows Boot Manager████████████████████████████████
Windows failed to start. A recent hardware or software change might be the
cause. To fix the problem:
1. Insert your Windows installation disc and restart your computer.
2. Choose your language settings, and then click "Next."
3. Click "Repair your computer."
If you do not have this disc, contact your system administrator or computer
manufacturer for assistance.
Status: 0xc0000225
Info: The boot selection failed because a required device is
inaccessible.
█ENTER=Continue███████████████████████████████████████████████████████ESC=Exit██
注意
在 Info
字段中,你可能会看到以下可选文本:
发生意外错误。
症状 3:\WINDOWS\system32\config\system 文件中的错误
████████████████████████████Windows Boot Manager████████████████████████████████
Windows failed to start. A recent hardware or software change might be the
cause. To fix the problem:
1. Insert your Windows installation disc and restart your computer.
2. Choose your language settings, and then click "Next."
3. Click "Repair your computer."
If you do not have this disc, contact your system administrator or computer
manufacturer for assistance.
File: \WINDOWS\system32\config\system
Status: 0xc0000225
Info: The operating system couldn't be loaded because the system
registry file is missing or contains errors.
█ENTER=OS Selection█████████████████████████████████████████████████████████████
注意
在“恢复”页面上的蓝屏上,你可能会看到类似的错误消息类型:
恢复
电脑/设备需要修复
无法加载操作系统,因为系统注册表文件缺失或包含错误。
文件:\Windows\system32\config\system
错误代码:0xc0000225选择以下选项之一来解决此问题。
按 Esc 进行恢复
按 Enter 重试
按 F8 启动设置
潜在解决方案:从备份还原 VM
如果 VM 有最近的备份,可以尝试 从备份 还原 VM 以修复启动问题。 但是,如果无法从备份还原 VM,请继续执行“原因”部分。
原因 1:系统二进制文件缺失或损坏
与错误代码关联的文件是缺少或损坏的系统二进制文件(.sys)。
解决方案 1:修复或替换系统二进制文件
按照以下步骤修复或替换系统二进制文件(.sys):
修复损坏的二进制文件
打开提升的 CMD 提示符并在磁盘上运行 chkdsk:
chkdsk <drive-letter>: /F
替换损坏的二进制文件
在附加的磁盘上,浏览到错误消息中显示的二进制文件的位置。
将文件从二进制名称.sys重命名为< binary-name>>.sys.old。<
在附加的磁盘上,浏览到 \Windows\WinSxS 文件夹。 然后,搜索错误消息中显示的二进制文件。 为此,请在命令提示符处运行以下命令:
dir <binary-name> /s
该命令将列出二进制文件的所有不同版本以及创建日期。 运行以下命令,将最新版本的二进制文件复制到 \Windows\System32\Drivers 文件夹:
copy <drive>:\Windows\WinSxS\<directory-where-file-is>\<binary-name>.sys <drive>:\Windows\System32\Drivers\
例如,请参阅以下控制台输出:
E:\Windows\WinSxS>dir ACPI.sys /s Volume in drive E has no label. Volume Serial Number is A0B1-C2D3 Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_cdef0123456789ab 11/21/2014 07:48 PM 94,989 acpi.sys 1 File(s) 94,989 bytes Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_89abcdef01234567 11/21/2014 07:48 PM 119,547 acpi.sys 1 File(s) 119,547 bytes Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_456789abcdef0123 11/21/2014 04:06 PM 533,824 acpi.sys 1 File(s) 533,824 bytes Total Files Listed: 3 File(s) 748,360 bytes 0 Dir(s) 123,967,512,576 bytes free E:\Windows\WinSxS>copy E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_cdef0123456789ab\acpi.sys E:\Windows\System32\Drivers\ 1 file(s) copied. E:\Windows\WinSxS>
注意
如果无法重命名系统二进制文件, 请获取文件的所有权。 此操作可让你完全访问此文件。
示例控制台输出以卷 E 为例。 实际字母应反映故障驱动器(作为故障排除 VM 上的数据磁盘附加的 OS 磁盘)。
如果最新的二进制文件不起作用,可以尝试使用以前的文件版本获取该组件的早期系统更新级别。
如果此步骤中返回的唯一二进制文件与尝试在受影响的 VM 上替换的文件匹配,并且如果两个文件具有相同的大小和时间戳,则可以通过从具有相同 OS 的另一个工作 VM 复制损坏的文件来替换损坏的文件,如果可能,则相同的系统更新级别。
从故障排除 VM 中分离修复的磁盘。 然后, 从 OS 磁盘创建 VM。
原因 2:启动配置数据损坏或虚拟硬盘未正确准备
如果错误屏幕中未显示文件名,并且会看到一条消息,指出“由于所需的设备无法访问而启动选择失败”,则问题的原因是以下情况之一:
启动配置数据(BCD)已损坏。
虚拟硬盘(VHD)从本地迁移,但准备不正确。
解决方案 2:修复启动配置数据
通过以管理员身份运行 BCDEdit 命令来修复启动配置数据。 为此,请按照下列步骤进行操作:
删除 VM。
重要
当系统提示确认 VM 删除时,请确保清除 与 OS 磁盘资源类型关联的 VM 选项“删除”。
将 OS 磁盘作为数据磁盘附加到另一个 VM(故障排除 VM)。 有关详细信息,请参阅使用 Azure 门户 将托管数据磁盘附加到 Windows VM。
连接到故障排除 VM。
选择“开始”,然后搜索并选择“计算机管理”。 在计算机管理应用的控制台树中,选择“ 磁盘管理”。 确保 OS 磁盘处于联机状态,并且其分区已分配驱动器号。
标识启动分区和 Windows 分区。 如果 OS 磁盘只包含一个分区,那么此分区既是启动分区,又是 Windows 分区。
如果 OS 磁盘包含多个分区,可以通过查看分区中的文件夹来标识它们:
Windows 分区包含名为 Windows 的文件夹。 此分区大于其他分区。
启动分区包含名为 boot 的文件夹。 此文件夹默认已隐藏。 若要查看文件资源管理器中的文件夹,请打开“文件夹选项”对话框,选择以显示隐藏的文件和文件夹,然后清除“隐藏受保护的操作系统文件”选项。 启动分区通常为 300 MB 到 500 MB。
以管理员身份运行以下 BCDEdit /enum 命令,然后记录 Windows 启动加载程序(而不是 Windows 启动管理器)的标识符。 标识符是 GUID 格式(xxxxxxxx xxxx-xxxx--- xxx)的 32 个字符的代码。 必须在下一步中使用此标识符。
bcdedit /store <boot-partition>:\boot\bcd /enum /v
注意
如果启动分区的启动文件夹中没有 bcd 存储文件,请按照修复或替换二进制文件中的步骤还原文件,只是替换 \boot\bcd 文件而不是系统二进制文件(.sys) 文件。
通过运行以下 BCDEdit /set 命令来修复启动配置数据。 将占位符更改为实际值,如下表所述。
占位符 值 <windows-partition> 包含名为 Windows 的文件夹的分区 <boot-partition> 包含名为 boot 的隐藏系统文件夹的分区 <identifier> 在上一步中找到的 Windows 启动加载程序标识符 bcdedit /store <boot-partition>:\boot\bcd /set {<identifier>} OSDEVICE BOOT
bcdedit /store <boot-partition>:\boot\bcd /set {<identifier>} OSDEVICE partition=<windows-partition>:
从故障排除 VM 中分离已修复的 OS 磁盘。 然后,从 OS 磁盘创建 VM。
原因 3:注册表配置单元损坏
与错误关联的文件是注册表文件,例如 \WINDOWS\system32\config\system。
发生这些错误是因为注册表配置单元已损坏。 如果出现以下任一情况,注册表配置单元可能会损坏:
- 配置单元失败。
- 配置单元装载但为空。
- 配置单元未正确关闭。
解决方案 3:修复损坏的 Hive
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和还原注册表的详细信息,请参阅:如何备份和还原 Windows 中的注册表。
按照以下步骤修复损坏的 hive:
删除 VM。
重要
当系统提示确认 VM 删除时,请确保清除 与 OS 磁盘资源类型关联的 VM 选项“删除”。
将 OS 磁盘作为数据磁盘附加到另一个 VM(故障排除 VM)。 有关详细信息,请参阅使用 Azure 门户 将托管数据磁盘附加到 Windows VM。
连接到故障排除 VM。
选择“开始”,然后搜索并选择“计算机管理”。 在计算机管理应用的控制台树中,选择“ 磁盘管理”。 确保 OS 磁盘处于联机状态,并且其分区已分配驱动器号。
在附加的 OS 磁盘上,导航到 \Windows\System32\config 文件夹。 如果需要回滚,请将所有文件复制到备份文件夹。
选择“开始”,然后搜索并选择“注册表编辑器”(regedit.exe)。
在注册表编辑器应用中,选择HKEY_USERS子树,在菜单中选择“文件>加载 Hive”,然后加载 \Windows\System32\config\SYSTEM 文件。
如果配置单元加载时没有问题,则表示配置单元未正确关闭。 在这种情况下,请卸载配置单元以解锁文件并修复问题。
注意
如果收到以下错误消息,请联系 Azure 支持部门:
无法加载 <驱动器>:\Windows\System32\config\SYSTEM:加载配置单元时出错
从故障排除 VM 中分离已修复的 OS 磁盘。 然后,从 OS 磁盘创建新的 VM。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。