尝试自己修 Windows 的 Bug,请求帮助

2021-11-26 03:21:34 +08:00
 learningman

我的 Win11 的操作中心已经弹不出来很久了,就想着自己修吧 先看事件查看器,就看到 确定了出问题的进程是哪个,然后就 Visual Studio 附加调试器,拿到这些 log

“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\Windows.UI.Xaml.Controls.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\BCP47Langs.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\Windows.Globalization.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\dcomp.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\Windows.ApplicationModel.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\Windows.Energy.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\Windows.Graphics.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\Windows.Globalization.Fontgroups.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\fontgroupsoverride.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\ClockFlyoutExperience.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\policymanager.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\Windows.CloudStore.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\usermgrcli.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\directmanipulation.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\wuceffects.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\Windows.CloudStore.Schema.Shell.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\threadpoolwinrt.dll”。
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\NotificationControllerPS.dll”。
onecore\com\combase\dcomrem\resolver.cxx(2209)\combase.dll!00007FFBE5342488: (caller: 00007FFBE5340D2E) ReturnHr(1) tid(201c) 80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
onecore\com\combase\dcomrem\resolver.cxx(2412)\combase.dll!00007FFBE5340D56: (caller: 00007FFBE5341776) ReturnHr(2) tid(201c) 80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
shellcommon\shell\notifications\controller\demuxer\passthroughproxy.cpp(20)\NotificationControllerPS.dll!00007FFBA8BE8786: (caller: 00007FFBA8BE1A33) Exception(1) tid(201c) 80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
0x00007FFBE49D478C 处(位于 ShellExperienceHost.exe 中)引发的异常: Microsoft C++ 异常: wil::ResultException ,位于内存位置 0x000000437A5FCE70 处。
0x00007FFBE49D478C 处(位于 ShellExperienceHost.exe 中)引发的异常: Microsoft C++ 异常: [rethrow],位于内存位置 0x0000000000000000 处。
shellcommon\shell\notifications\controller\demuxer\passthroughproxy.cpp(26)\NotificationControllerPS.dll!00007FFBA8BE7F75: (caller: 00007FFBA8BE1A33) ReturnHr(1) tid(201c) 80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
    Msg:[shellcommon\shell\notifications\controller\demuxer\passthroughproxy.cpp(20)\NotificationControllerPS.dll!00007FFBA8BE8786: (caller: 00007FFBA8BE1A33) Exception(1) tid(201c) 80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
] 
shellcommon\shell\notifications\controller\demuxer\PassthroughProxy.h(131)\NotificationControllerPS.dll!00007FFBA8BE8366: (caller: 00007FFBE5340B8D) Exception(2) tid(201c) 80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
0x00007FFBE49D478C 处(位于 ShellExperienceHost.exe 中)引发的异常: Microsoft C++ 异常: wil::ResultException ,位于内存位置 0x000000437A5FCF70 处。
0x00007FFBE49D478C 处(位于 ShellExperienceHost.exe 中)引发的异常: Microsoft C++ 异常: [rethrow],位于内存位置 0x0000000000000000 处。
shellcommon\shell\notifications\controller\demuxer\PassthroughProxy.h(137)\NotificationControllerPS.dll!00007FFBA8BE7EB2: (caller: 00007FFBE5340B8D) ReturnHr(2) tid(201c) 80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
    Msg:[shellcommon\shell\notifications\controller\demuxer\PassthroughProxy.h(131)\NotificationControllerPS.dll!00007FFBA8BE8366: (caller: 00007FFBE5340B8D) Exception(2) tid(201c) 80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
] 
onecore\com\combase\objact\objact.cxx(4080)\combase.dll!00007FFBE5345105: (caller: 00007FFBE5344EB5) ReturnHr(3) tid(201c) 80040154 没有注册类
onecore\com\combase\objact\dllcache.cxx(2434)\combase.dll!00007FFBE5345000: (caller: 00007FFBE53434EC) ReturnHr(4) tid(201c) 80040154 没有注册类
onecore\com\combase\objact\dllcache.cxx(860)\combase.dll!00007FFBE5343740: (caller: 00007FFBE5356B23) ReturnHr(5) tid(201c) 80040154 没有注册类
shellcommon\shell\windows.ui.shell\actioncenter\product\NotificationCenter\NotificationSink.cpp(127)\Windows.UI.ActionCenter.dll!00007FFB3429F8E9: (caller: 00007FFBE5204EAD) FailFast(1) tid(201c) 80040154 没有注册类
    CallContext:[\UpdateSinkRegistration] 
“ShellExperienceHost.exe”(Win32): 已加载“C:\Windows\System32\bcrypt.dll”。
0x00007FFB3429F8E9 (Windows.UI.ActionCenter.dll) (ShellExperienceHost.exe 中)处有未经处理的异常: 请求了严重的程序退出。

看着是某个服务没法启动,但是我肯定没有 Windows Kernel 的 pdb ,没法下断点,试着调了一下汇编也没啥结果,请问这里应该怎么进行下一步呢? 首先应该确定的应该是到底是哪个服务没法启动。。。。

2382 次点击
所在节点    问与答
13 条回复
ysc3839
2021-11-26 06:12:29 +08:00
建议直接重装系统。
kokutou
2021-11-26 08:10:39 +08:00
升级安装最简单
ly841000
2021-11-26 08:20:43 +08:00
不要用 Visual Studio 调试器 要用 windbg
dejavuwind
2021-11-26 09:14:35 +08:00
0x80070422 的报错信息表示无法启动服务。

请问您的电脑是否使用三方的安全防护软件或优化软件进行服务优化?

请您尝试执行以下的方法,然后重新更新:

1 、如果有使用三方安全防护软件或优化软件进行优化,请您还原优化项目,关闭三方安全软件或优化软件。

2 、查看服务是否开启

1 ) Windows+R ,输入“services.msc”回车,打开服务;

2 )在服务中查看 windows update ,Cryptographic Services ,Background Intelligent Transfer Service ,Windows Installer 是否是正常开启的状态。

希望以上的信息可以帮助到您。
kujio
2021-11-26 09:29:53 +08:00
win 还是复杂,linux 出问题还有修一修的勇气和能力,win 出 bug 连修一修的想法都没有过.
shyrock
2021-11-26 09:34:56 +08:00
@kujio #5 重点在于 99.99%的你以为是 windows 的 bug ,最后都发现是自己的代码有问题,比如内存泄漏什么的。
DK7S
2021-11-26 09:59:45 +08:00
之前我的 windows 控制中心也弹不出来,后一个版本修复了
ScepterZ
2021-11-26 10:11:40 +08:00
每次带外接显示器休眠后都开不开,重启资源管理器就好了
mason961125
2021-11-26 10:14:29 +08:00
> 但是我肯定没有 Windows Kernel 的 pdb

其实 Visual Studio 是支持从微软那边下载系统级 DLL 的 pdb 调试的...
learningman
2021-11-26 11:21:03 +08:00
@mason961125 我试了查找源了,找不到
zk8802
2021-11-26 12:01:33 +08:00
楼主下次可以考虑用 IDA Pro 或者 Ghidra 的反编译器,这样就不用硬读汇编了。
Jabin
2021-11-26 12:46:31 +08:00
在管理员命令提示符下键入以下命令:
Dism /Online /Cleanup-Image /ScanHealth
这条命令将扫描全部系统文件并和官方系统文件对比,扫描计算机中的不一致情况。
Dism /Online /Cleanup-Image /CheckHealth
这条命令必须在前一条命令执行完以后,发现系统文件有损坏时使用。
DISM /Online /Cleanup-image /RestoreHealth
这条命令是把那些不同的系统文件还原成官方系统源文件。
完成后重启,再键入以下命令:sfc /SCANNOW
learningman
2021-11-26 13:49:34 +08:00
@Jabin #12 这不微软社区三件套吗。。。没啥大用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/818052

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX