Azure VM 上的 Windows 启动错误0xc0000221

适用于:✔️ Windows VM

原始 KB 数: 4010132

本文提供了 Windows 无法启动和生成错误代码0xc0000221的问题的解决方案。

现象

Windows 无法启动并生成以下错误:

文件:\Windows\system32\ntoskrnl.exe
状态:0xc0000221
信息:无法加载操作系统,因为内核缺失或包含错误。

原因

如果文件系统已损坏,则会出现此问题。

解决方法

提示

如果 VM 有最近的备份,可以尝试 从备份 还原 VM 以修复启动问题。

若要解决此问题,请执行以下步骤。

步骤 1

  1. 删除虚拟机(VM)。 执行此操作时,请确保选择“ 保留磁盘 ”选项。

  2. 将 OS 磁盘作为数据磁盘附加到另一个 VM(故障排除 VM)。 有关详细信息,请参阅如何在 Azure 门户中将数据磁盘附加到 Windows VM

  3. 连接到故障排除 VM,然后打开计算机管理>磁盘管理。 确保 OS 磁盘处于联机状态,并且其分区已分配驱动器号。

  4. 使用位于每个 Windows 安装(恢复控制台映像)中的 WinRE 映像作为存储库来尝试修复损坏。 卷 G 是损坏的 OS 磁盘的驱动器:

    Dism /image:g:\ /cleanup-image /restorehealth /source:wim:g:\recovery\windowsRE\winre.wim:1
    
  5. 如果命令行指出存在损坏,但找不到所需的文件,请将该磁盘的 Windows 版本的 ISO 下载到故障排除计算机。

  6. 提取媒体 ISO,然后在其中找到 WIM 文件并将其用作存储库:

    Dism /image:g:\ /cleanup-image /restorehealth /source:wim:<WIM FILE FROM ISO>:1
    
  7. 重新创建 VM。 如果 VM 仍然未启动,请转到步骤 2。

步骤 2

  1. 运行 DISM。 在下面的示例行中,G 是损坏的 OS 磁盘的驱动器:

    dism.exe /image:g:\ /cleanup-image /restorehealth
    
  2. 运行系统文件检查器(SFC)。 在下面的示例行中,G 是损坏的 OS 磁盘的驱动器:

    sfc /scannow /offbootdir=g:\ /offwindir=g:\windows​​
    
  3. 如果 SFC 检测到损坏但无法修复它,请转到步骤 3。

  4. 如果 SFC 指出损坏已修复,请从故障排除 VM 中分离 OS 磁盘,并等待 Azure 更新磁盘租约(最多 3 分钟)。

  5. 重新创建 VM。

步骤 3

SFC 检查注册表和文件系统中的损坏情况。 如果 SFC 指出找到损坏的文件但无法修复这些文件,则可以 从“上次已知良好配置”启动 VM。 这是为了确保你有一个很好的注册表。 然后,通过运行 SFC 再次检查文件系统,以识别可能损坏的文件。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区