hwyzw 发表于 2025-1-14 14:27:48

Windows 10黑屏问题解决指南:从开机到桌面,一步步排查与修复

    原因

    一个阳光明媚的下午,我高兴地打开笔记本电脑。一如既往地按下电源键后,我跳过了主板启动动画,熬过了登录的魔圈(win10系统)。最终还是没能等到过去。熟悉的桌面和友好的图标,映入眼帘的是下图:

    嗯,就这样盯着看,10秒……30秒……1分钟……时间静静流过,我的心慢慢激起波澜。经验丰富的灵魂意识到不好的事情将会发生;真好,坐在家里,虫子从天而降,但是黑屏让我黑了眼睛,我会用它来发现问题。

    问题探索

    首先调整心态,冷静就有希望,惊慌就会失败(还是像我一样被无数bug折磨后漠视生死?)总有办法解决问题;那么是时候寻找突破口了。我下意识地摇了摇鼠标,然后熟悉的小光标就出现了!但背景依然是黑暗的,但在这无边的黑暗中,光标却闪烁着唯一微弱的希望之光;然后他试探性地按下键盘按键,画风就变了:

    按win+a也有反应。侧边栏打开了,证明系统已经加载完毕。按钮都可以用,但无法显示。于是我操作了几下就打开了一个应用(盲目打开)。等了几秒,没有任何反应。仍然是一团糟。黑色,再按一下win键就可以看到已经打开了。把鼠标移到任务栏上看一下:

    打开另一个应用程序并尝试使用 alt+tab 组合键切换应用程序:

    看起来应用程序可以正常启动,然后我尝试单击任务栏上的一个应用程序(资源管理器)。将鼠标移动到应用程序的任务栏缩略图上后,出现以下场景:

    嘿,这不是我的友好桌面吗?原来是这样出现的。果然,有什么有趣的事情。我将进一步探讨它。然而就在这时,桌面奇迹般地亮了起来,一切又恢复了之前的状态,仿佛风从未吹过。 ,雨一直没有下过,似乎什么都没有发生过。难道这样的坚持已经影响了CPU吗?开玩笑,刚才特使的操作我并没有执行。应该是过了一段超时时间,桌面有响应。但我看了下时间,计算了一下,时差大约有3分钟。果然,这就是神奇的相对论。有时时间转瞬即逝。可能会很长;

    但事情并没有就这样结束。然后我出于习惯重新启动了电脑,看看问题是否还会出现。经过一段时间的操作和等待,电脑启动了……登录了……转身……结果又黑屏了!无边的黑暗再次席卷了整个显示屏,但这一次必须想办法将其撕裂;

    问题分析

    按照之前的经验,这里的黑屏应该会持续3分钟左右,甚至更长,所以我不能再等了,于是我开始盯着深邃的屏幕陷入沉思:问题就出在登录之后系统(系统设置为开机自动登录)。 ),即系统的BOOT启动已经结束,消除了启动黑屏的常见现象,即按电源键后黑屏一直黑屏,没有任何额外的反应。这通常是硬件问题,例如内存模块接触不良等,目前已基本排除。由于这些原因;由于系统启动并完成登录操作后,桌面无法正常显示,所以问题已经缩小(好像没那么小……)到软件层面,比如系统服务、驱动、启动项等.;

    等等,我好像想到了一些关于启动项和桌面的事情,因为我一直在使用桌面整理软件来避免脏乱差的视觉环境。同时设置启动。该软件最近也进行了更新。难道是这个原因吗?桌面显示错误?不知不觉间,桌面已经恢复了,于是我按Ctrl+Shift+Esc组合键调出任务管理器,点击启动栏,然后禁用程序启动:

    然后我不停地重新启动电脑,然后,发现事情似乎并没有想象的那么简单,熟悉的黑屏还在。这里没有什么特别的技巧,因为通常在为别人解决问题时,第一件事就是问你最近做了什么。你可能会找到线索,但我宁愿现在的计算机好像有很多东西,从系统到用户级别、服务器、虚拟机、数据库等等,我想不出来暂时没有任何线索(我什至认为盯着屏幕呼吸是一个错误-_-),所以准备好向搜索引擎寻求帮助或灵感;

    搜索解决方案故障排除

    一搜上确实有很多有类似经历的朋友。排除硬件故障后无法启动。有人说需要更新驱动,这样的也不少。只是笑笑并忽略这个答案。这种解决方案非常常见是有原因的。排除不愿意相信硬件损坏的表现,大部分问题都可以推到处理软件和硬件的驱动上,确实可以解决过去大部分问题,只是各个厂家更新了这么多年。现在驱动层面的问题应该很少了,而且我电脑里的每个驱动都一直保持最新的,这个也排除在外;

    另外,还有提到取消快速启动功能,具体步骤如下:

    但经测试无效,故排除;

    继续浏览,不出所料,在大多数故障或问题处理和解决的场景中,几乎都能看到注册表。不过,确实注册表与系统的关系非常密切。你在其中执行的大部分事情都是可见的,甚至是不可见的。可见的操作几乎都与一个注册表键值相关;关于注册表的解决办法基本上都是提到修改同一个地方(大多是下载或者新建一个注册表文件,然后双击导入到系统中,其实不用这么复杂):

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre><code>HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001
</code></pre></p>
    即在这两项下添加一个名为(如果不存在)的键,值为 0,类型为 ,如下所示:

    不知道出了什么问题,先尝试重新启动...确实解决了! !但碍于专业性,我还是有点不愿意让问题莫名其妙地解决,所以我继续深入分析。上面的注册表操作实际上是将这个熟悉的值赋值为0。根据字面意思,ULPS功能被禁用。经过进一步查找,我发现它的全称是Ultra Low Power State。这似乎是AMD的一个特点。这是一个引用:

    AMD显卡的设计目的是为了防止由于频率过高而导致系统不稳定。因此AMD显卡上推出了ULPS功能,在用户不操作时自动降低频率并休眠,然后利用它来节省电量。想法很好,但是有人用了,导致黑屏。因此,开发了一个关闭该功能的工具。可用于检测该功能的开启/关闭状态,并直接关闭该功能。

    然而,非常令人惊讶的是,这个问题能够出现在我的Intel上;此外,文章还提到:

    想想这个功能好像以前没接触过。这么贸然地改变似乎有点简单粗暴,而且以后可能得不偿失,所以暂时把这个方案收起来,先找其他问题;

    自检系统服务

    正如前面所说,寻找问题有时并不能产生有效的解决方案,但某些回复中的解决方案或想法可以提供一定程度的启发。例如,一篇文章粗略地讲了解决系统服务问题。确实,前面分析的时候,问题定位在系统层面,检查了启动项,但是服务还没有测试,所以先打开,win+R然后输入:

    然后进入服务模块:

    https://img2.baidu.com/it/u=2912511122,3905669594&fm=253&fmt=JPEG&app=120&f=JPEG?w=889&h=500

    这里列出了系统中的所有服务。前面的检查表示它们已启用,否则它们已禁用。这里的想法是首先禁用它们,然后重新启动它们。如果正常,就一一启用,看看是哪个服务出了问题。当然,这个工作量有点大,将它们全部禁用可能会导致额外的问题,所以你可以先尝试一下系统自带的诊断启动。它将加载一些基本的服务和设备。只需点击上图顶部最左侧的常规模块,然后选择诊断即可。启动:

    单击“确定”或“应用”,然后重新启动系统。这次你会愉快而快速地进入系统桌面(这证明禁用不必要的服务确实可以提高启动速度)。不过,你也会发现有些模块无法使用,比如扬声器、屏幕亮度,甚至提示一些系统错误,这属于正常现象,因为只启用了基本服务,其他系统服务和模块都没有加载。但不影响故障排除;

    系统日志

    当然日志分析对于排查问题可以起到一定的辅助作用,所以这时候我想到了自己的法宝事件查看器(因为我在日常生活中基本都用过),而且我习惯使用Linux命令行来分析日志。 ,突然一切都可视化了,我还是不习惯,所以我先打开它,熟悉一下操作:

    点击打开日志:

    让我们看一下包含事件的几个项目:

    这里,由于分析问题可能出在系统层面,所以我们先关注相关事件,暂时忽略应用程序(其实也是因为点击之后发现应用程序数量相当多)而且很难找到住的地方╮(╯▽╰)╭

    ),然后逐项输入,点击右侧操作栏的清除日志按钮,分别清除日志:

    这样,如果后续操作中再次出现问题,可以更准确地定位;

    服务故障排除

    然后您可以关闭事件查看器,再次打开它,选择“诊断启动”,然后切换到服务模块。可以看到大部分服务都没有被检查。然后我们单击“服务”标题按名称对项目进行排序。安排方便后续操作:

    接下来就是关键的淘汰环节了。这里粗略统计一下,有400个,大概有3个服务项目。如果一一检查,然后重新检查,这篇文章可能就写不出来了。因此,您需要找到一种有效的方法。之前在寻找问题的时候受到一位朋友的启发。您可以使用两个点。搜索法进行消除,这原本是算法中的一种解决方案,没想到以这种方式投入到实际应用中。 (~ ̄▽ ̄)~,这里通俗点讲,就是需要先检查一半的服务项,比如从第一项开始,一直检查到右边的滚动条移动到中间点左右(就是看来工作量不小),就看你的手速了),之前已经对服务名称进行了排序,所以这里的前半部分服务大致就是A -P 开头字母的服务:

    重新启动系统并正常进入桌面后,证明问题不在检查的服务项的前半部分,可以排除。接下来,我们将检查剩余未检查服务项目的前半部分,也就是说,还有总数的最后一个季度没有检查,因此消除它确实很快。然后清除所有日志,重新启动,重复这些任务,直到问题再次出现(登录黑屏);

    因此,当我们对W开头的服务项目进行故障排除时,登录屏幕最终黑了。虽然心里有些幸灾乐祸,但这说明问题定位了;然后我们继续把它分成两部分,缩小范围,最终的位置如下图所示:

    换句话说,罪魁祸首就是名为“Web”的服务项。从厂家来看,应该是一个系统服务,而且在之前的搜索中,看到几个朋友定位的服务项是“App”,所以这个会根据不同的系统环境而有所不同,所以不宜一概而论贸然禁用;当然,禁用后问题就解决了,没有像以前那样修改注册表,而是再次本着专业精神(no zuo no die),继续分析问题的具体原因;

    日志分析日志概述

    这就是每个统计数据的系统日志发挥作用的时候。由于每次重启前都会清除日志,因此每次记录的事件都是当前故障排查项的事件。我们看一下记录的日志:

    分别查看不同的事件以显示详细信息:

    日志过滤

    可以看到,即使是一次记录的日志量也非常大,所以现在可以使用事件查看器的日志过滤功能,即点击右侧操作栏中的“过滤当前日志”按钮,然后将弹出过滤设置窗口:

    首先是记录时间,即指定事件的开始和结束时间点。您可以记录开机后和桌面显示的时间,然后选择这个时间间隔,进一步缩小范围;

    然后是时间组。浏览还会发现事件主要分为信息、警告和错误。这里我们只关心错误类型事件。检查后,以下项暂时不需要关闭,点击确定;

    下面是过滤结果。可以看到有相当多的错误信息。

    对比黑屏时产生的错误日志,可以发现正常进入桌面时“应用程序”项也出现错误,因此可以暂时排除该项。 “安全”项是全信息类型,没有错误类型。事件,因此它们也被排除在外。最终只有“系统”项中的错误日志有差异。有差异的事件包括名为 和 的“源”事件;

    对比分析

    https://img0.baidu.com/it/u=651135358,2577259467&fm=253&fmt=JPEG&app=120&f=JPEG?w=1216&h=684

    那么我们来对比一下“系统”中生成的错误日志的差异,但是事件查看器似乎没有内置的日志对比功能,所以我们只能使用更原始的方法,先选择你想要的事件分析:

    然后单击右侧的“保存所选事件”按钮,将事件日志文件保存到任意位置:

    这样分别记录并保存黑屏问题发生时和不发生问题时的事件,然后点击“打开保存的日志”导入这两个日志文件以供下一步分析:

    此外,我们发现每个事件似乎都对应一个唯一的事件ID值,该值可以用来消除两个日志文件中的重复项。这就需要在过滤功能中使用事件ID排除选项:

    填写重复的事件 ID,以逗号分隔,并在其前面添加负号以排除具有此 ID 的事件,并保留它们以包含它们。过滤结果如下:

    这两个错误事件是相同的。下面的信息栏中没有找到特别有用的信息,只有一行主要信息:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre><code>服务器 {784E29F4-5EBE-4279-9948-1E8FE941646D} 没有在要求的超时时间内向 DCOM 注册。
</code></pre></p>
    那么我们来分析一下这串注册值。 Win+R并输入wmic运行,进入wmic管理界面,然后运行:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre><code class="prism language-sh">dcomapp where "appid<=&#39;{79&#39; and appid>=&#39;{74&#39;" get appid,name
</code></pre></p>
    上面的命令是查询以{-5EBE-4279-9948-}开头的DCOM服务,结果如下:

    浏览后发现没有和上面一样的ID值,所以这条线索断了,尝试其他的;

    流程追踪

    单击“详细信息”,然后向下浏览,找到触发该事件的进程信息。比较重要的是进程ID(),通常称为PID。这里是1140,先记下来;

    然后Ctrl+Shift+Esc打开任务管理器,点击PID一栏(如果没有的话,右键点击标题,勾选一下),让它按照数字升序排序,找到之前记录的pid值(1140 ):

    这时可以看到运行该进程的命令行信息(如果没有这一栏也可以右键查看),发现运行的程序是C:\\\.exe,这是一个系统许多服务都会调用的程序。您需要注意的是以下参数。出现关键字 RPCSS。看起来很眼熟,似乎和远程有关。经过查找,网上说这是一个与135端口相关的服务,所以我们输入Win+R。 cmd 打开命令提示符,查看端口信息:

    果然有关联,那么这个RPCSS应该是一个服务,所以接下来使用sc命令来查询这个服务:

    这确实是一项服务。这里主要是获取到这个值,就是Call,然后打开服务管理工具(Win+R然后输入.msc)找到这个服务项:

    双击它并查看依赖项。它确实是一个基本的系统服务。许多重要的服务和模块都依赖于它。不能直接禁用它:

    一切分析工作到此结束。

    后记

    以下是黑屏时(所有服务已启用)再次收集到的错误事件。这次只剩下一条错误日志,与上面的分析和过滤结果一致:

    然而,当之前有问题的服务再次被禁用时,信息量急剧增加:

    原因也很明显。当一个关键服务被禁用并且对其有很多依赖时,一系列的事故将不可避免地发生。虽然目前的问题暂时解决了,但对于轻度强迫症的笔者来说,还是显得有些不安。我心里有点不安(喝毒解渴?) 但后来有趣的事情发生了。一度,所有服务(包括之前被确定为问题根源的“网络”)均已启用。重启进入系统后,意外没有出现黑屏。相反,我像往常一样正常进入桌面。试了几次,一切正常……难道这一天的n吨操作和无数次重启都正常了?再次感染CPU?看来这个系统永远都是一个谜。虫子离开时就像来时一样安静。如果它没有带走一片云彩,那就忘记它吧,今天就到此为止。

    技术文章推送到手机、电脑,实用软件分享
页: [1]
查看完整版本: Windows 10黑屏问题解决指南:从开机到桌面,一步步排查与修复