我自己组装的 Windows 7 台式电脑最近几天开始出现异常。我经常使用它,大约一半的时间是通过 TeamViewer 来使用的。Explorer 会随机崩溃并重新启动,几乎总是通过 TeamViewer 来重新启动。这让我怀疑问题出在 TeamViewer 上,但我在有和没有 TeamViewer 的情况下重现了好几次这种情况。我似乎唯一能让问题不发生的方法是启动到安全模式。
我使用 CCleaner 和 Malwarebytes 来确保问题不是由注册表错误或恶意软件引起的,并且我尝试了相关问题中的修复方法这里以及我在网上找到的所有其他修复程序,包括删除安全更新KB980408和KB2926765以及使用“sfc /scannow”和一些我记不清的其他东西。
最近,当我尝试启动 Explorer 时,它会弹出一个小窗口,上面写着“个性化设置”,但里面完全是空的,而且会立即崩溃。让它消失的唯一方法是终止 explorer.exe 进程。我希望可以截取屏幕截图,但我似乎无法打开画图程序,甚至找不到 exe。我试过重新启动它,也试过在个性化设置窗口打开时启动它。
我列出了两个进程列表,第一个是我启动时的活动进程列表safe mode
,Explorer 似乎工作正常。第二个是我可以在正常启动时缩小范围并仍能复制问题的进程列表。有一个进程我似乎无法关闭。NisSrv.exe,其描述为“Microsoft 网络实时检查服务”。当我尝试关闭进程 NisSrv.exe 时,它显示“无法完成操作。访问被拒绝。”当我尝试关闭相关服务时,它显示相同的消息。
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 2,660 K
smss.exe 304 Services 0 1,196 K
csrss.exe 408 Services 0 4,156 K
wininit.exe 444 Services 0 4,608 K
csrss.exe 452 Console 1 8,700 K
services.exe 492 Services 0 7,700 K
winlogon.exe 524 Console 1 5,756 K
lsass.exe 536 Services 0 10,644 K
lsm.exe 544 Services 0 4,316 K
svchost.exe 652 Services 0 8,976 K
MsMpEng.exe 804 Services 0 40,696 K
explorer.exe 1332 Console 1 85,220 K
ctfmon.exe 1376 Console 1 3,680 K
dllhost.exe 1624 Console 1 8,656 K
chrome.exe 1408 Console 1 98,504 K
WmiPrvSE.exe 2352 Services 0 6,472 K
chrome.exe 1744 Console 1 65,116 K
taskmgr.exe 372 Console 1 14,948 K
cmd.exe 2776 Console 1 2,960 K
conhost.exe 1816 Console 1 3,580 K
tasklist.exe 2308 Console 1 5,868 K
我已经将范围缩小到了以下流程列表。
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 2,808 K
smss.exe 316 Services 0 1,216 K
csrss.exe 484 Services 0 4,532 K
wininit.exe 596 Services 0 4,604 K
csrss.exe 604 Console 1 23,676 K
services.exe 652 Services 0 11,344 K
lsass.exe 668 Services 0 12,692 K
lsm.exe 676 Services 0 4,464 K
MsMpEng.exe 972 Services 0 68,436 K
winlogon.exe 168 Console 1 7,784 K
svchost.exe 496 Services 0 19,140 K
NisSrv.exe 3176 Services 0 808 K
svchost.exe 1684 Services 0 11,260 K
taskmgr.exe 4524 Console 1 20,696 K
cmd.exe 4764 Console 1 7,224 K
conhost.exe 4772 Console 1 6,916 K
sublime_text.exe 2340 Console 1 45,012 K
dllhost.exe 4476 Console 1 8,736 K
tasklist.exe 3796 Console 1 5,768 K
WmiPrvSE.exe 1768 Services 0 6,344 K
这是我收到的错误的事件查看器中的事件数据 xml。
<EventData>
<Data>explorer.exe</Data>
<Data>6.1.7601.17567</Data>
<Data>4d672ee4</Data>
<Data>vrfcore.dll</Data>
<Data>6.3.9600.16384</Data>
<Data>5215f8f5</Data>
<Data>80000003</Data>
<Data>0000000000003a00</Data>
<Data>12e4</Data>
<Data>01cfb84fa70f89dc</Data>
<Data>C:\Windows\system32\explorer.exe</Data>
<Data>C:\Windows\SYSTEM32\vrfcore.dll</Data>
<Data>e5957093-2442-11e4-9f8a-94de806ed9cb</Data>
</EventData>
我再次查看了 eventvwr 日志,发现了这一点,可能与
<EventData>
<Data>runonce.exe</Data>
<Data>6.1.7601.17514</Data>
<Data>4ce7a253</Data>
<Data>MSVCR100.dll</Data>
<Data>10.0.40219.325</Data>
<Data>4df2bcac</Data>
<Data>c0000005</Data>
<Data>000000000003c145</Data>
<Data>670</Data>
<Data>01cfb8dabbd85942</Data>
<Data>C:\Windows\system32\runonce.exe</Data>
<Data>C:\Windows\system32\MSVCR100.dll</Data>
<Data>fa6f82b9-24cd-11e4-80a8-94de806ed9cb</Data>
</EventData>
以及一般错误详细信息
Faulting application name: Explorer.EXE, version: 6.1.7601.17567, time stamp: 0x4d672ee4
Faulting module name: vrfcore.dll, version: 6.3.9600.16384, time stamp: 0x5215f8f5
Exception code: 0x80000003
Fault offset: 0x0000000000003a00
Faulting process id: 0xc38
Faulting application start time: 0x01cfb84e5e852c5f
Faulting application path: C:\Windows\Explorer.EXE
Faulting module path: C:\Windows\SYSTEM32\vrfcore.dll
Report Id: 9dc19e6d-2441-11e4-9f8a-94de806ed9cb
我似乎经常遇到另一个可能不相关的错误。
Event filter with query "SELECT * FROM __InstanceModificationEvent WITHIN 60
WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99"
could not be reactivated in namespace "//./root/CIMV2" because of error 0x80041003.
Events cannot be delivered through this filter until the problem is corrected.
Autoruns 中的 Explorer 选项卡如下所示,当我尝试取消选中某些内容时,会出现错误。我应该补充一点,我似乎可以使用 ShellExView 禁用 shell 扩展,但我仍然无法让 Explorer 正确启动。
EXPLORER SHELL 更新 - 参见下面的屏幕截图,我可以通过下载的名为 NexusFile 的文件管理器访问资源管理器右键菜单,但仍然无法启动资源管理器。
我收到的另一轮有关 Windows Search 服务的错误
The search service has detected corrupted data files in the index {id=4700}.
The service will attempt to automatically correct this problem by rebuilding the index.
Details:
The content index catalog is corrupt. (HRESULT : 0xc0041801) (0xc0041801)
其次是
The Windows Search Service is being stopped because there is a problem with the
indexer: The catalog is corrupt.
Details:
The content index catalog is corrupt. (HRESULT : 0xc0041801) (0xc0041801
和
The plug-in in <Search.JetPropStore> cannot be initialized.
Context: Windows Application, SystemIndex Catalog
Details:
The content index catalog is corrupt. (HRESULT : 0xc0041801) (0xc0041801)
和
The gatherer object cannot be initialized.
Context: Windows Application, SystemIndex Catalog
Details:
The content index catalog is corrupt. (HRESULT : 0xc0041801) (0xc0041801)
和
The Windows Search Service cannot load the property store information.
Context: Windows Application, SystemIndex Catalog
Details:
The content index database is corrupt. (HRESULT : 0xc0041800) (0xc0041800)
WER 日志
更新
问题原来是 Visual Studio 试图调试资源管理器崩溃,导致它永远无法启动。我卸载了 Visual Studio 并重新启动,然后资源管理器在启动时崩溃,但立即重新启动并正常工作。我已经找出了启动时的崩溃,并将其追溯到 Synergy 的错误,可在此处找到http://synergy-project.org/spit/issues/details/3980/
感谢大家的耐心和帮助,我将接受@and31415 作为答案,因为他指出 vrfcore.dll 是一个 Visual Studio dll。
答案1
快速分析
日志中提到的库文件vrfcore.dll
与Microsoft Application Verifier工具有关,该工具是Windows 8.1 SDK/WDK的一部分(实际上文件版本是6.3.9600.16384
),并且还包含在Visual Studio 2013中。
引用文档:
应用程序验证器可帮助开发人员快速发现细微的编程错误,而这些错误在常规应用程序测试中很难发现。使用 Visual Studio 中的应用程序验证器可以识别由堆损坏、句柄错误和临界区使用导致的错误,从而更轻松地创建可靠的应用程序。
来源:应用程序验证器
解决方法
虽然这不是真正的解决方案,但卸载 Visual Studio 可以作为临时解决方法。在执行此操作之前,您可以尝试按照以下步骤仅删除应用程序验证程序:
打开提升的命令提示符。
根据您所运行的 Windows 版本运行以下命令之一:
x86(32 位)
msiexec /uninstall {13A3E02D-36D4-BBD6-0BBD-D0BFDBEA0079}
x64(64 位)
msiexec /uninstall {77F3D72C-465F-BD51-890E-CC3914B1365F}
重新启动 Windows。
笔记你可能想确保你已经拥有了Visual Studio 更新已安装,其中可能包括针对特定问题的错误修复。
答案2
说实话,我并不完全确定您的问题的原因是什么,但听起来,如果您的计算机在安全模式下没有这个问题,那么我就不会担心 Windows 的注册表等出现任何问题。但是,如果我是您,为了进一步解决问题,我会以安全模式启动计算机,保存活动进程列表(Windows + R,“cmd”,输入,“TASKLIST >safemode.txt”,ALT + F4),然后在正常启动后保存活动进程列表(Windows + R,“cmd”,输入,“TASKLIST >normal.txt”,ALT + F4)。从那里,我将针对 normal.txt 上但不在 safemode.txt 上的进程。尝试终止这些进程(或者更好的是“结束进程树”),看看问题是否停止。最后,我能提供的唯一其他想法是阻止任何程序在启动时启动。然后,如果没有启动程序而问题没有发生,至少您可以确信罪魁祸首。
答案3
我的一位用户不久前也遇到过类似的问题,这是由 Explorer Shell 扩展引起的。Explorer 扩展就是您在右键单击某个程序时看到的,您会在上下文菜单中看到额外的条目,例如使用 Winzip 或对文件夹进行防病毒扫描。
Explorer shell 扩展不会作为进程加载,因此在任务管理器中看不到它们。因此我们需要一个像 Autoruns 这样的工具,我们可以使用它来阻止 Explorer 在启动时使用 shell 扩展。
下载 Autoruns 后,我们直接进入 Explorer 选项卡,取消选中所有看起来奇怪的选项。我们重启了机器,问题就解决了。
尝试一下,希望有帮助。
--编辑答案以解决用户提供的新信息--
但是,如果您发现即使以管理员身份运行 Autoruns,它也不允许您取消选择自动启动点,那么我建议您采取以下任何一种措施。记下 Autoruns 中 Explorer 选项卡下列出的程序,然后逐个卸载它们,重新测试以查看每次安装后问题是否消失。或者,您可以尝试此处的建议如何列出 Explorer 扩展并禁用它们?。