在 Windows 7 或 Windows 2008 R2 上安装 Service Pack 1 后,您的计算机可能会冻结或重新启动并出现黑屏并显示“0xc0000034”错误消息

文章最后更新时间:2023-07-12 03:36:44

图片[1]-在 Windows 7 或 Windows 2008 R2 上安装 Service Pack 1 后,您的计算机可能会冻结或重新启动并出现黑屏并显示“0xc0000034”错误消息-特资啦!个人资源分享站

症状

在装有 Windows 7 或 Windows 2008 R2 的计算机上安装 Service Pack 1 (SP1)。安装服务包后,计算机可能会死机或重新启动。如果计算机重新启动,您会在黑屏上收到类似于以下内容的错误消息:

!! 0xc0000034 !! 142/53007 (_0000000000000000.cdf-ms)

注意如果您重新启动计算机,您会收到相同的错误信息。

当用户尝试安装 Service Pack 但没有重新启动计算机以完成安装、安装其他更新然后重新启动计算机时,可能会发生此问题。如果在使用 WSUS 时同时安装 Service Pack 和其他更新,也会出现此问题。

在 Service Pack 安装期间,Windows 的服务功能会维护要执行的操作列表。有些是立即执行的;其他人只能在系统重新启动后才能完成。其中一个列表是原始操作队列 (POQ)。重启时需要执行的POQ操作存放在pending.xml中。在显示失败的场景中,系统会尝试两次完成 POQ 操作。POQ 的第二次尝试失败(因为它已经完成)并导致错误“0xc0000034”。Windows 将此安装阶段的任何故障视为阻塞,并且服务功能会停止机器继续运行。

如果您不是高级用户并且当前在基于 Windows 7 的计算机上遇到此错误,请单击下面的链接在 Microsoft 网站上查看恢复步骤:安装 Windows 7 Service Pack 1 后如何解决“错误 0xc0000034”

解决

要解决此问题,请按照以下方法中的步骤操作。

从 Pending.xml 中删除 POQ 条目

此方法旨在通过创建和运行 .vbs 脚本来解决问题。成功创建并运行 .vbs 脚本后,Windows 7 Service Pack 1 安装应该会成功完成。

笔记

  • 此 .vbs 脚本仅适用于 0xc0000034 错误代码,请勿将此脚本用于 0xc0000034 错误以外的问题。
  • 如果您是高级用户,我们推荐此方法。
  • 要使用此方法,我们建议您可以访问第二台计算机和可移动媒体设备,例如 USB 拇指驱动器。

开始之前

在开始之前找到以下内容:

  • 找到第二台可以访问互联网的计算机。您将使用第二台计算机创建脚本 (.vbs) 文件。要创建脚本 (.vbs) 文件,您需要从这篇知识库文章中复制脚本文本。
  • 找到可移动媒体设备,例如 USB 拇指驱动器。您将创建的脚本 (.vbs) 文件复制到可移动媒体设备。然后将脚本 (.vbs) 文件传输到出现问题的计算机。

注意如果您无权访问第二台计算机和可移动媒体设备,您可以在出现问题的计算机上创建脚本 (.vbs) 文件。为此,您可以转到“系统恢复选项”,打开命令提示符,然后从命令提示符启动记事本。然后,您将通过键入此知识库文章中的脚本文本来手动创建脚本 (.vbs) 文件。然后将脚本 (.vbs) 文件保存到本地硬盘。然后您就可以运行脚本来完成这些步骤。

第 1 部分:创建脚本 (.vbs) 文件

为此,请按照下列步骤操作:

  1. 找到第二台可以访问互联网的计算机。
  2. 打开记事本。
  3. 将以下文本复制并粘贴到记事本中。

Dim xmlDoc, node, nodeList, fileName, backupFileName, numberOfPOQNodes

Set xmlDoc = CreateObject(“Microsoft.XMLDOM”)

If Wscript.Arguments.Count = 0 Then

WScript.echo(“Error! No XML file specified.”)

Wscript.quit

End If

fileName = WScript.Arguments(0)

backupFileName = Left(fileName, InStrRev(fileName, “.”) – 1) & “_backup.xml”

If Not xmlDoc.load(fileName) Then

WScript.echo(“Failure loading XML file ” & fileName & “.”)

Wscript.quit

End If

xmlDoc.save(backupFileName)

Set nodeList = xmlDoc.documentElement.selectNodes(“POQ”)

numberOfPOQNodes = nodeList.Length

For Each node in nodeList

xmlDoc.documentElement.removeChild(node)

Next

xmlDoc.save(fileName)

Set xmlDoc = Nothing

WScript.echo(numberOfPOQNodes & ” POQ nodes removed. Script completed.”)

 

第 2 部分:运行脚本 (.vbs) 文件

注意 以下步骤假定您已将脚本 (.vbs) 文件复制到 USB 拇指驱动器。如果您使用不同类型的可移动媒体设备,则步骤可能略有不同。

为此,请按照下列步骤操作:

  1. 重新启动计算机并开始按键盘上的 F8 键。在 Windows 徽标出现之前,您必须按 F8。如果出现 Windows 徽标,您必须等待 Windows 登录提示出现,然后关闭并重新启动计算机,然后再试一次。
    注意:在配置为引导至多个操作系统的计算机上,您可以在出现引导菜单时按 F8 键。
  2. 使用箭头键在“高级启动选项”区域中选择“修复您的计算机”,然后按 Enter。如果出现提示,请选择要修复的 Windows 7 安装,然后单击“下一步”。
  3. 选择语言和键盘输入法,然后单击下一步。
  4. 选择一个用户名,键入您的密码,然后单击“确定”。
  5. 在系统恢复选项下,记下选择恢复工具下方行中列出的 Windows 7 驱动器号。例如,您可能会看到类似于以下内容的内容。操作系统:(C:) <VolumeName> 上的 Windows 7

    注意 在此示例中,Windows 7 的驱动器号将为 C。

  6. 在系统恢复选项下,单击命令提示符。
  7. 将包含您之前创建的脚本 (.vbs) 文件的可移动媒体插入 PC。
  8. 在命令提示符下,导航到包含您之前创建的脚本 (.vbs) 文件的驱动器和目录。例如,如果您之前将创建的 script.vbs 文件保存到 USB 拇指驱动器的根目录,并且与 USB 拇指驱动器关联的驱动器盘符是“E”驱动器,您只需在命令中键入以下内容提示,然后按 Enter。E:

    注意 如果您不确定哪个驱动器包含可移动媒体,您可以使用 Diskpart 显示驱动器列表。要运行 Diskpart,请按照下列步骤操作。

    1. 键入 Diskpart,然后按 Enter。
    2. 键入列表卷,然后按 Enter。
    3. 记下包含您之前创建的脚本 (.vbs) 文件的可移动媒体的驱动器。假设您使用 USB 拇指驱动器,驱动器类型将列为“可移动”。
    4. 要退出 Diskpart,请键入 Exit,然后按 Enter。
  9. 在命令提示符下,键入以下命令并按 Enter:Cscript Script.vbs <Windows _7_drive_letter>:\Windows\winsxs\pending.xml。其中,<Windows _7_drive_letter>为安装Windows 7操作系统的盘符。

    这将运行 Script.vbs 文件中的脚本。脚本完成后,您可能会看到类似于以下内容的消息。

    删除了 2 个 POQ 节点。脚本完成

  10. 要退出命令提示符,请键入 Exit,然后按 Enter。
  11. 重启你的电脑。Service Pack 1 安装现在应该成功完成。

如果还有什么问题可以查看官方文档。请注意WIN7已经不在更新和维护,请升级WIN10或者WIN11!

需要注意:

此教程为以前自己的老博客搬过来的,是否还可用。需要自己试试了。

© 版权声明
THE END
喜欢就点赞一下吧
点赞15 分享