欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Windows 2008 R2服务管理器刷新失败的解决方法

程序员文章站 2022-07-09 16:57:54
这几天在做实验,一台服务器安装了windows 2008 r2 x64系统,当我想安装服务器角色的时候,发现无法安装,出现了“服务器刷新失败”,点击它弹出对话框提示“刷新服...

这几天在做实验,一台服务器安装了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,再安装补丁。