![Windows Server 2008 R2 服务器管理器无法正常工作 -> mmc.exe 因 System.IO.FileNotFoundException 而崩溃 -> Hyper-V 角色有问题](https://linux22.com/image/594674/Windows%20Server%202008%20R2%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E5%99%A8%E6%97%A0%E6%B3%95%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%20-%3E%20mmc.exe%20%E5%9B%A0%20System.IO.FileNotFoundException%20%E8%80%8C%E5%B4%A9%E6%BA%83%20-%3E%20Hyper-V%20%E8%A7%92%E8%89%B2%E6%9C%89%E9%97%AE%E9%A2%98.png)
从几天前开始我就无法运行服务器管理器,它失败了,如下所示:
Descripción:
Stopped working
Firma con problemas:
Nombre del evento de problema: CLR20r3
Firma del problema 01: mmc.exe
Firma del problema 02: 6.1.7600.16385
Firma del problema 03: 4a5bc808
Firma del problema 04: System.Management
Firma del problema 05: 2.0.0.0
Firma del problema 06: 4ca2baf0
Firma del problema 07: 32f
Firma del problema 08: 12b
Firma del problema 09: System.IO.FileNotFoundException
Versión del sistema operativo: 6.1.7601.2.1.0.272.7
SO 中还有其他奇怪的症状:
Hyper-V 也停止工作,无法加载任何 VM 信息
在我移动桌面图标后,它们会一直重新排列,并且总是在启动时重新排列。我现在使用一款可以记住它们位置的应用程序来恢复它们...
Windows 更新服务和 BITS 服务都消失了,我设法恢复了它们并安装了今天可用的所有更新
我快要疯了地寻找有关这些错误的信息。
无效的解决方案:
sfc /scannow 没有抱怨任何事情
应用所有 Windows 更新(恢复丢失的 Windows 更新后)
服务器管理器.log:
始终只有一个错误:
错误 (Id=0) System.Runtime.InteropServices.COMException (0x800706D9): 从极端签名者开始没有可用的极端。 (HRESULT 异常:0x800706D9)在 Microsoft.Windows.ServerManager.NativeMethods.INetFwPolicy2.IsRuleGroupCurrentlyEnabled(String group)在 Microsoft.Windows.ServerManager.DirectResult.GetRemoteManagementEnabled()
英文:“端点映射器中没有更多可用的端点”
在哪里可以看到 mmc.exe 在 System.IO.FileNotFoundException 中寻找的臭名昭著的文件是什么?
请对此提供任何说明,我们将不胜感激...
编辑:看来 Hyper-V 角色是服务器管理器无法正常工作的罪魁祸首。从 Powershell 中卸载它可使服务器管理器重新工作,但在重新启动之前无法执行任何操作。重新启动时无法删除该角色,服务器管理器再次失败并出现相同的 FileNotFoundException。
EDIT2:需要一种方法来卸载 Hyper-V 角色(即使使用暴力)或修复它(也许以某种方式找到丢失的文件,ServerManager.log 没有用)
EDIT3:无论如何,仍在等待任何帮助来解决问题。
答案1
最后,问题出在 Hyper-V 角色上。我记得这是最先出现问题的东西。
使用 Powershell 我做了以下事情:
PS C:\Windows\system32> Get-WindowsFeature
Display Name Name
------------ ----
[ ] Active Directory Lightweight Directory Services ADLDS
[ ] Active Directory Rights Management Services ADRMS
[ ] Servidor de Active Directory Rights Manageme... ADRMS-Server
[ ] Compatibilidad con la federación de identidades ADRMS-Identity
Get-WindowsFeature : No se puede encontrar el módulo especificado. (Excepción de HRESULT: 0x8007007E)
En línea: 1 Carácter: 20
+ Get-WindowsFeature <<<<
+ CategoryInfo : NotSpecified: (:) [Get-WindowsFeature], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.Windows.ServerManager.Commands.GetWindowsFeatureCommand
而且,这是与尝试运行服务器管理器时相同的 IOException,因此我认为我可以尝试消除可疑的错误模块 hyper-V:
PS C:\Windows\system32> Remove-WindowsFeature Hyper-V
ADVERTENCIA: [Eliminación] correcta: [Hyper-V] Hyper-V. Debe reiniciar este servidor para finalizar el proceso de eliminación.
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True Yes Succes... {Hyper-V}
现在服务器管理器又可以正常工作了!
我将尝试重新添加 Hyper-V 角色,但现在我不需要它……
感谢您的建议。
答案2
使用进程监控查看 MMC 正在尝试加载哪个文件。
答案3
您确定您的服务器没有感染病毒吗?
特别是某些 Live Security 假冒 AV 恶意软件会执行以下操作:
- 删除 BITS 服务
- 删除 Windows 更新服务
- 删除 Windows 防火墙服务
检查注册表中是否存在设置为在启动和登录时运行的可执行文件:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
尤其是,查找您通常以哪个用户身份登录的 %APPDATA% 中引用的可执行文件。如果此服务器还有其他常规用户,那么您也需要检查他们的配置单元。
答案4
几个月后,我终于设法解决了这个问题,当我试图找出另一个问题时......
由于 WMI 问题(其安装程序显示)导致无法安装 SQL Server Studio 后,我发现了 WMIDiag 工具来诊断其问题:
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=7684
它在 WMI 中记录了许多问题,我按照此论坛主题进行了操作:
我运行了该脚本来修复 WMI 和 eureka!!SQL Server Studio 可以安装,而且我还恢复了我的“服务器管理器”!!
因此,如果有人发现自己遇到了像我一样的奇怪错误(可能不会......)可以尝试该工具和该脚本。
向大家欢呼。