每次我尝试安装 Windows 10 更新时,都会失败并显示此消息(更新第二阶段完成 91%)。
显卡:Intel HD Graphics 4600(驱动程序版本 20.19.15.4300 Intel)
NVidia Geforce GTX 765M(驱动程序版本:10.18.13.6143 NVidia)
检查事件日志还显示 ReadyBoot 崩溃,错误:0xC0000188
我增加了日志的大小,并会在再次尝试时更新。
我该如何解决这个问题?我目前停留在 Build 10586 上。
更新 1:将驱动程序更新至最新版本。没有变化,更新过程中仍然失败并出现相同的蓝屏。
更新 2: sfc /scannow 的结果。过去我曾使用 dism 和 windows 映像修复此问题。我再也没有这样做过。修复似乎是暂时的
更新 3:重新启动后,失败了,没有小型转储。当时的事件日志链接:链接1,链接2。我认为我的驱动器的崩溃转储初始化失败的卷错误C:
。以下是我的磁盘布局:
更新 4:禁用 nvida 卡,运行 dism,重新启动,然后 sfc 通过。更新仍然失败,并出现相同错误。我无法卸载两个驱动程序。即使在选择删除驱动程序选项后,英特尔驱动程序(有时甚至是 nvidia 驱动程序)仍会恢复。
更新 5:内容Windows 更新日志
答案1
这与您的显卡驱动程序无关。尝试增加 ReadyBoot.etl 的大小。操作方法如下:
- 搜索、性能监视器
- 在左侧,展开数据收集集
- 单击启动事件跟踪
- 在你的右侧你会发现一个列表,双击 Readyboot
- 单击“停止条件”选项卡并设置所需的大小。理想的大小是 128MB。默认为 20MB。
- 按 OK。关闭所有程序,然后重新启动
- 看看错误是否消失。
答案2
我猜测肯他的建议确实是正确的,可以增加 ReadyBoot 文件的大小。如果记录了以下事件:
“会话“ReadyBoot”的最大文件大小已达到。因此,事件可能会丢失(未记录)到文件“C:\Windows\Prefetch\ReadyBoot\ReadyBoot.etl”。最大文件大小当前设置为 20971520 字节。”
这确实意味着你必须增加ReadyBoot.etl
文件的大小。值得指出的是:
Windows 7 将 ReadyBoot.etl 文件设置为 20MB,而在事件记录器中,此大小通常在启动期间达到最大值(即不够),增加它确实有帮助。
如果确实记录了上述事件,则应增加所生成文件的允许大小。您可以执行以下操作:
搜索、性能监视器
在左侧,展开数据收集器集
单击启动事件跟踪
在你的右侧你会发现一个列表,双击 READYBOOT
单击“停止条件”选项卡并设置所需的大小
选择“文件”选项卡
点击旁边的复选框
Circular [requires a non-zero maximum file size
按确定,关闭所有内容,重新启动
您可以说该解决方案有效,因为其中的 ReadBoot.etlC:\Windows\Prefetch\ReadyBoot
将大于默认值 20 MB,如果您最初从 Windows 7 升级,情况就会如此。我还可以确认,从 Windows 8.1 升级也会导致它默认设置为 20 MB。
以下是对 ReadyBoot 的描述:
在 RAM 超过 700MB 的系统上,ReadyBoot 会使用前 5 次启动的数据来制定启动时内存缓存计划。与 Windows XP 预取程序类似,它会尝试在需要文件之前将其预加载到 RAM 中。ReadyBoot 使用的所有内存都会在启动后 90 秒自动释放,或者在其他服务需要时立即释放,因此不会对性能产生负面影响。
换句话说,在 SSD 系统上,ReadyBoot 可能不会大幅缩短启动时间,但它会充分利用快速 RAM:作为磁盘的快速缓存。即使是最快的 SDD 也比 RAM 内存慢 - 禁用它仍然会使启动速度略慢。
您可以通过查看此注册表项来确定 ReadyBoot 是否已启用:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\ReadyBoot
如果要启用它,请将值设置为 1;如果要禁用它,请将其设置为 0
以下是 Microsoft 对 ReadyBoot 的完整描述:
如果系统内存少于 512MB,Windows Vista 将使用与 Windows XP 相同的启动时预取功能,但如果系统内存为 700MB 或更多,它将使用 RAM 缓存来优化启动过程。缓存的大小取决于可用的总 RAM,但足够大以创建合理的缓存,同时为系统提供顺利启动所需的内存。每次启动后,ReadyBoost 服务(与实现刚刚描述的 ReadyBoost 功能的服务相同)都会使用空闲的 CPU 时间来计算下次启动的启动时缓存计划。它会分析前五次启动的文件跟踪信息,并确定访问了哪些文件以及它们在磁盘上的位置。
它将处理后的跟踪信息以 .fx 文件的形式存储在 %SystemRoot%\Prefetch\Readyboot 中,并将缓存计划保存在 HKLM\System\CurrentControlSet\Services\Ecache\Parameters 下的 REG_BINARY 值中,并以它们引用的内部磁盘卷命名。缓存由实现 ReadyBoost 缓存 (Ecache.sys) 的同一设备驱动程序实现,但缓存的填充由 ReadyBoost 服务在系统启动时引导。虽然启动缓存像 ReadyBoost 缓存一样被压缩,但 ReadyBoost 和 ReadyBoot 缓存管理之间的另一个区别是,在 ReadyBoot 模式下,除了 ReadyBoost 服务的更新之外,缓存不会更改以反映启动期间读取或写入的数据。 ReadyBoost 服务会在启动 90 秒后删除缓存,或者在其他内存需求允许的情况下删除缓存,并将缓存的统计信息记录在 HKLM\System\CurrentControlSet\Services\Ecache\Parameters\ReadyBootStats 中,如图 2 所示。Microsoft 性能测试表明,ReadyBoot 的性能比旧版 Windows XP 预取程序提高了约 20%。
由于所有文件活动都在启动时完成(即使系统升级 和间谍软件扫描)在此文件中累积时,它可能会充满过时的信息。修复方法是将 ReadyBoot.etl 设置为循环日志记录模式,这样只跟踪最近的文件访问活动。
使用来源
主要资源- 诊断信息、事件信息、说明。
背景资料来源- 主要来源自己引用了他们在 Microsoft Answer 线程中描述的解决方案。
答案3
您可以尝试几种方法。
摆弄驱动程序
我不知道您是如何“卸载”图形驱动程序的,但我听说需要通过程序和功能而不是仅通过设备管理器来删除 NVIDIA 驱动程序。
有相关的 NVIDIA 驱动程序更新于几周前(1 月 27 日)发布。如果您还没有安装,请尝试安装 - Windows 并不总是通过 Windows 更新获取所有驱动程序的最新版本。根据其发布说明(PDF),它确实修复了一些蓝屏错误。我建议创建系统还原点第一的。
您也可以运行显示驱动程序卸载程序,彻底删除 NVIDIA 和 Intel 驱动程序。危险!该工具未获得 NVIDIA 的认可,我自己也没有尝试过,但我听说过一些关于它运行良好的故事。
您还可以尝试在设备管理器中禁用(而不是删除/卸载)NVIDIA 卡。这样,系统重新启动时,操作系统就不会尝试重新安装或重新配置它。同样,建议创建还原点。
启用驱动程序验证程序如果您尝试了上述所有方法均未成功,这听起来也很有希望。如果系统 BSOD 正在验证中,则生成的 minidump 可能包含更多有用的故障排除信息。
摆弄Windows更新
如果你已经这样做了,我不会感到惊讶,但如果你还没有,那就值得一试。下载并运行Windows 更新疑难解答适用于 Windows 10。(它可能无法修复此崩溃,但我确实注意到事件日志中存在一些其他更新安装失败。)
事件日志中的某些 Windows 更新错误包含错误代码,这通常意味着您需要重新下载安装媒体。根据这个答案,您需要停止 Windows 更新服务,清除文件C:\Windows\SoftwareDistribution\Download
夹,然后重新启动该服务。如果此操作无效,请重命名或删除整个SoftwareDistribution
文件夹。
修改注册表
升级过程中的 WIM 安装部分可能会在以下两种常见情形之一中遇到麻烦:
HKLM\SOFTWARE\Microsoft\Windows\WIMMount\Mounted Images
包含任何类型的子项或条目。如果您过去曾处理过 WIM,请将其清除以删除废弃的簿记。ImagePath
中的条目不HKLM\SYSTEM\CurrentControlSet\Services\WIMMount
正确。如果它不指向 的真实副本wimmount.sys
,请追踪该文件并更新路径,保留前面的\??\
。
答案4
您可以尝试以下步骤:
系统文件检查器是 Windows 附带的一个方便的工具,它允许您扫描和恢复 Windows 系统文件中的损坏(包括与 VIDEO_DXGKRNL_FATAL_ERROR 相关的文件)。要运行系统文件检查器(Windows XP、Vista、7、8 和 10):单击“开始”按钮。在搜索框中输入“command”... 暂时不要按 ENTER!按住键盘上的 CTRL-Shift 键,按 ENTER。系统将提示您一个权限对话框。单击“是”。将打开一个带有闪烁光标的黑框。输入“sfc /scannow”并按 ENTER。系统文件检查器将开始扫描错误 0x113 和其他系统文件问题(请耐心等待 - 系统扫描可能需要一段时间)。按照屏幕上的命令进行操作。
第二:
虽然大多数与存储相关的 0x113 蓝屏错误都是由硬盘驱动器或存储控制器的问题引起的,但在某些情况下,这些 BSOD 可以归因于硬盘损坏。随着时间的推移,由于反复、无意的误用,您的 PC 可能会在硬盘驱动器上出现错误。不正确的关机、“硬关闭”程序、损坏或不完整的软件安装(例如 Windows 操作系统)、Microsoft Corporation 硬件故障和断电都可能损坏您的文件系统和存储的数据。因此,您可能会遇到与 VIDEO_DXGKRNL_FATAL_ERROR 相关的蓝屏错误。Microsoft 提供了一个名为“chkdsk”(“检查磁盘”)的便捷实用程序来扫描和修复硬盘损坏。如果先前的故障排除步骤无法解决您的 0x113 STOP 错误,则运行“chkdsk”可能会发现并修复 BSOD 的原因。如何运行“chkdsk”(Windows XP、Vista、7、8 和 10):单击“开始”按钮。在搜索框中输入“command”... 暂时不要按 ENTER!按住键盘上的 CTRL-Shift 键,然后按 ENTER。系统将提示您一个权限对话框。单击“是”。将打开一个带有闪烁光标的黑框。输入“chkdsk /f”并按 ENTER。“chkdsk”将开始扫描可能导致 0x113 STOP 错误的硬盘损坏。按照屏幕上的命令操作。来源:http://www.solvusoft.com/en/errors/blue-screen-errors/microsoft-corporation/windows-operating-system/bug-check-0x113-video-dxgkrnl-fatal-error/
最后一个选择是删除导致问题的相应驱动程序并从原始源重新安装它。
同时也尝试以下步骤:
方法 1:我请求您检查 Superfetch 服务是否已启用 a. 在桌面上,按 Windows 键 + R 打开运行对话框。 b. 在运行对话框中键入 services.msc,然后按 Enter 打开服务。 c. 右键单击 Superfetch 服务,然后单击属性。 d. 如果启动类型框设置为已禁用,请将其更改为自动或手动。 e. 单击确定关闭属性窗口。 f. 右键单击 Superfetch 服务,然后单击启动。服务应该会启动且不会出现错误。
方法 2:
增加启动事件跟踪会话的最大文件大小。
a. 在桌面上,按 Windows 键 + R 并键入 cmd 以打开命令提示符。 b. 在性能监视器窗口的左侧面板上,展开数据收集器集。 c. 单击启动事件跟踪会话。 d. 打开 ReadyBoot 跟踪会话属性表。 e. 单击停止条件选项卡并将最大大小增加到 40。 f. 单击应用和确定。来源:http://answers.microsoft.com/en-us/windows/forum/windows_7-performance/circular-kernel-context-logger-error-0xc0000188/d2aa4b79-be60-43d0-8d31-0072235a8f43