刚刚尝试安装 cleanmgr 并进行全新的 2012 R2 安装。像以前一样复制 CleanMgr.exe 和 CleanMgr.exe.mui,但运行时出现错误:由于与 64 位版本的 Windows 不兼容,程序或功能 \?system32\cleanmgr.exe 无法启动或运行
刚刚尝试安装 cleanmgr 并进行全新的 2012 R2 安装。像以前一样复制 CleanMgr.exe 和 CleanMgr.exe.mui,但运行时出现错误:由于与 64 位版本的 Windows 不兼容,程序或功能 \?system32\cleanmgr.exe 无法启动或运行
您需要通过安装该
Desktop Experience
功能来启用磁盘清理(请参阅在 Windows Server 2012 中启用磁盘清理实用程序)。命令行界面应该仍然可以通过C:\Windows\CleanMgr.exe
可执行文件使用。我回到我的实验室并尝试从 x86 和WOW64
CleanMgr.exe
位更新中获取并认为可能会解决兼容性问题:CleanMgr.exe.mui
而结果...
啊。进步的征程。我看到两个选项。您可以让ProcMon运行并尝试跟踪 WOW64 子系统中的所有各种 DLL(可能通过在
Desktop Experience
一次性服务器上进行安装),如果您遇到问题,您可以尝试使用此方法删除windows.old
目录,或者您可以按照微软的官方支持尽管有误导性的建议,并从桌面体验 Windows 功能安装它。我遇到了与 Keith 为 W2K12 R2 SP1 服务器描述的问题相同的问题。我对这个问题的解决方案:
我使用这个过程来制作 vmware 模板机器,所以我做了一次,所有其他未来的 w2k12r2 服务器都已经安装了 cleanmgr 文件
直接从
c:\windows\WinSxS
目录复制,虽然曾经受支持,但现在不再按原样工作。这似乎是 Windows Server 2012 R2 Update 1 中的更改在十六进制编辑器中快速查看
cleanmgr.exe
二进制文件显示该C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.3.9600.17031_none_5e3588b0315d2219\cleanmgr.exe
文件不再以所需的魔术头“MZ ...”开头,而是以“DCN ...”开头,并且文件比扩展版本小得多. 这就是为什么我们得到上面的“不支持...”对话框。这似乎是KB 2821985改进 #2 的直接结果 - 添加了一项功能,该功能可压缩未使用的二进制文件并分配可用磁盘空间以准备 Windows 以供将来更新。
仍在尝试弄清楚如何以编程方式提取/解压缩文件。:^(
我相信这就是你要找的。
Nick 的评论与此接近,但这更简洁,并且使用 $env 而不是 %env% 变量(powershell 更喜欢 $env)
有人提供了一个包含所需文件的 zip 文件,与上述步骤(不包括安装“桌面体验垃圾”)不同,它实际上可以在 Windows Server 2012 R2 64 位上运行。
您可以从作者的页面阅读更多内容并自己获取下载链接。它是一个 zip 文件,您可以将其展开到系统驱动器上,并将文件放在需要的位置。还有一个适用于 Windows 2008 版本的链接。
为什么我们必须为清理硬盘这样简单的事情采取这些措施,这对我来说是个谜。
更新:我在这里打开了一个 Windows Server 用户语音请求- 如果您认为安装磁盘清理很有用,请投赞成票。
您可以将 Cleanmgr.exe 和 Cleanmgr.exe.mui 从更新的 Windows 8 复制到服务器。