欢迎来到老马的领地~ 这是“压风式散热底座”发明者的个人网站:)
这问题不知道啥时候出现的.....因为最近一个项目要测试一个网络服务器端,懒得自己写客户端,就顺手开命令行准备用telnet去连.结果.....说找不到这个程序.shocked.gif

一查才知道WIN7默认不装,那好说嘛,去控制面板里装上就是,于是进入程序与功能,点击"打开或关闭Windows功能",没想到居然是空白的.....

本能地进入系统日志里查看,因为微软的日志做得挺好,系统的东西肯定是有日志的.

结果........日志里找半天,完全没有相关的日志,这脸打得真是啪啪啪的......

只好搜索了一下,有好几种原因与解决方案,一个一个试:

1,Windows Modules Installer服务没启动.
    这一条检查过,我机器不是这原因,这个服务是正确启动的.
2,设置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages键的权限,给当前用户完全控制权.
    这个也是没用....而且由于当前用户没权限更改权限,我还特地翻出以前写的一个SRun工具,这个工具通过添加一个服务,并传参数让那个服务去启动指定的程序,这样那个程序就是SYSTEM权限了.结果......键的权限倒是改成功了,可是该空白的地方还是空白.....
3,修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control下面的RegistrySizeLimit值为FFFFFFFF.
    这个看起来是让注册表的大小限制修改为上限,但直觉上感觉这应该不靠谱,再说也没这键值,干脆就没试.......
4,某些系统文件有问题,运行sfc /scannow扫描并修复,然后重启.
    这个也没用.....扫了半天,重启后一样.....

正当打算放弃,想起sfc /scannow的返回结果提到了"某些文件无法修复"这样的话(具体忘了,当时没截图呀没截图,反正是这意思),并且让我去看日志,C:\Windows\Logs\CBS\CBS.log.

哎,貌似有戏.只要有日志,那就至少多了一个获取信息的途径.

马上打开来看,发现最末尾出现了"WinVerifyTrust failed [HRESULT = 0x800b0100 - TRUST_E_NOSIGNATURE]"这样的内容,下面还有具体的文件,类似:

Failed to verify if mum file \\?\C:\Windows\Servicing\Packages\Package_for_KB2829361~31bf3856ad364e35~x86~~6.1.1.3.mum is vouched for by catalog \\?\C:\Windows\Servicing\Packages\Package_for_KB2829361~31bf3856ad364e35~x86~~6.1.1.3.cat. [HRESULT = 0x800b0100 - TRUST_E_NOSIGNATURE]

有好几段.

有戏!从TRUST_E_NOSIGNATURE的字面上来看,是没有证书.

而脑袋里想到上面第2条的注册表键Packages打开后,有大量的Package_for_KBxxxxxxx的键.

那么,如果我把这个CBS.log里记录着没证书的键删除又会怎样呢?cool.gif

于是打开注册表编辑器,先把准备要删除的都备个份,我这里是如下几段:

Package_for_KB2864058_SP1~31bf3856ad364e35~x86~~6.1.1.1
Package_for_KB2864058~31bf3856ad364e35~x86~~6.1.1.1
Package_for_KB2829361_SP1~31bf3856ad364e35~x86~~6.1.1.3
Package_for_KB2829361~31bf3856ad364e35~x86~~6.1.1.3

备份很重要,因为并不知道删除后会有啥反应(说不定系统就挂了?呸呸呸,坏的不灵好的灵......),所以留个后悔药是非常有必要的.

然后删删删.因为前面已经把这整个Packages键的分支都设置为管理员组以及SYSTEM完全控制了,所以也没有权限问题.

删除后等不及重启,直接再次打开"打开或关闭Windows功能",哇哈哈,这下终于正常了lol.giflol.gif

看来确实就是如CBS.log中所记录的那样,因为这几个文件的签名检查未通过,导致了加载列表中断.

但是-----------为什么日志要放在这里啊?直接丢到系统的日志里不行么.....汗一滴.

不过这问题总算是解决了,记录一下,防止以后忘记,也许还能帮到有同样情况的人吧,就是不知道有多少人能遇到我这奇葩的问题......happy.gif
添加评论

昵称 *

E-mail