Windows 2008 R2服务管理器刷新失败的解决方法
这几天在做实验,一台服务器安装了windows 2008 r2 x64系统,当我想安装服务器角色的时候,发现无法安装,出现了“服务器刷新失败”,点击它弹出对话框提示“刷新服务器管理器时出现意外错误: 异常来自 hresult:0x800f0818。有关详细信息,请参阅事件日志: 诊断、事件查看器、应用程序和服务日志、microsoft、windows、服务器管理器、操作” 然后我就查看日志,日志内容如下:
无法发现系统的状态。找到一个意外的异常:
system.runtime.interopservices.comexception (0x800706be): 远程过程调用失败。 (异常来自 hresult:0x800706be)
在 system.runtime.interopservices.marshal.throwexceptionforhrinternal(int32 errorcode, intptr errorinfo)
在 microsoft.windows.servermanager.componentinstaller.createsessionandpackage(intptr& session, intptr& package)
在 microsoft.windows.servermanager.componentinstaller.initializeupdateinfo()
在 microsoft.windows.servermanager.componentinstaller.initialize()
在 microsoft.windows.servermanager.common.provider.refreshdiscovery()
在 microsoft.windows.servermanager.localresult.performdiscovery()
在 microsoft.windows.servermanager.servermanagermodel.createlocalresult(refreshtype refreshtype)
在 microsoft.windows.servermanager.servermanagermodel.internalrefreshmodelresult(object state)
开始纠结了,手上有很多win2008r2的服务器,还是第一次遇到这个问题,开始求助于强大的google,终于让我在一个国外的博客上找到了解决办法。
解决办法:
1、 首先下载并安装“系统更新准备工具”地址:
2、 获取c:\windows\servicing\packages目录的所有权
takeown /f c:\windows\servicing\packages /d y /r
3、 赋予登陆用户对c:\windows\servicing\packages目录完全控制权限
cacls c:\windows\servicing\packages /e /t /c /g "username":f //username为当前登陆用户名
4、打开c:\windows\logs\cbs目录下的checksur.log文件,会看到类似如下内容
=================================
checking system update readiness.
binary version 6.1.7600.20667
package version 8.0
2010-08-18 13:05
checking windows servicing packages
checking package manifests and catalogs
(f) cbs mum corrupt 0x00000000 servicing\packages\package_for_kb2286198_rtm~31bf3856ad364e35~amd64~~6.1.1.1.mum expected file name package_for_kb2286198~31bf3856ad364e35~amd64~~6.1.1.1.mum does not match the actual file name
checking package watchlist
checking component watchlist
checking packages
checking component store
summary:
seconds executed: 140
found 1 errors
cbs mum corrupt total count: 1
unavailable repair files:
servicing\packages\package_for_kb2286198_rtm~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\package_for_kb2286198_rtm~31bf3856ad364e35~amd64~~6.1.1.1.cat
5、下载checksur.log出现的kb2286198文件到c盘,然后运行如下命令
c:\windows\system32>cd\
c:\>expand –f:* windows6.1-kb2286198-x64.msu c:\temp
c:\>cd temp
c:\temp>expand –f:* windows6.1-kb2286198-x64.cab c:\temp\cab
6、打开c:\temp\cab 目录找到checksur.log中出现的两个文件
package_for_kb2286198_rtm~31bf3856ad364e35~amd64~~6.1.1.1.mum
package_for_kb2286198_rtm~31bf3856ad364e35~amd64~~6.1.1.1.cat
7、将这两个文件复制到c:\windows\servicing\packages目录,覆盖已有的文件
到此问题解决
参考文章:
how to fix server manager errors after installing updates (hresult:0x800f0818 / hresult:0x800b0100)
小编注:个人感觉上面的操作不太容易,经过测试比较麻烦,还是重新做下系统,然后安装好iis,再安装补丁。
推荐阅读
-
Win2008 R2安装.NET Framework 4的windows6.1-KB958488-V6001-x64出现灾难性故障解决方法
-
Windows 2008 r2任务计划程序执行批处理失败问题解决方法
-
在Windows Server 2008 R2服务器下架设VPN服务器的方法
-
在Windows Server 2008 R2服务器下架设VPN服务器的方法
-
Windows 2008 R2服务管理器刷新失败的解决方法
-
Windows Server 2008 R2网站访问PHP响应慢的解决方法
-
windows 2008 R2 64位服务器中开启php curl扩展的方法
-
Windows Server 2012 R2 服务管理器自启动功能的关闭方法
-
Windows server 2008 R2(win7)登陆sqlplus错误ORA-12560和ORA-12557的解决方法
-
Windows 2008任务计划执行bat脚本失败返回0x1的解决方法