![如何在不安装桌面体验的情况下在 Windows 2012 服务器上安装磁盘清理?](https://linux22.com/image/621365/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E5%AE%89%E8%A3%85%E6%A1%8C%E9%9D%A2%E4%BD%93%E9%AA%8C%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%9C%A8%20Windows%202012%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%AE%89%E8%A3%85%E7%A3%81%E7%9B%98%E6%B8%85%E7%90%86%EF%BC%9F.png)
问题很简单,我想在运行 Optimize-VHD cmdlet 之前尽我所能清理/压缩虚拟机的 .vhdx 驱动器。使用 Microsoft 的磁盘清理实用程序很不错。问题是它不是默认安装的。
官方获取方法是使用“添加角色和功能”并添加“桌面体验”功能。这样做有副作用,其中包括该功能还需要“媒体基础”和“墨迹和手写”功能。我只想要“磁盘清理”。
答案1
“磁盘清理”仅需要 2 个文件即可工作(合计小于 260KB)
适用于您的平台的“cleanmgr.exe”和适用于您的语言环境的“cleanmgr.exe.mui”。它们已位于您的计算机上“%SystemRoot%\WinSxS”下的子文件夹中。
首先,在“%SystemRoot%\WinSxS”文件夹下搜索“cleanmgr.exe”。您可能会在“amd64”、“wow64”和“x86”文件夹中找到文件。在我的 Windows Server 2012 Standard x64 安装中,我为这两个文件选择了“amd64”。
将这两个文件复制到以下位置:
- %SystemRoot%\System32\cleanmgr.exe
- %SystemRoot%\System32\en-US\cleanmgr.exe.mui
(我认为,如果您使用不同的语言环境,WinSxS 会有更多选择,并且您必须将 .mui 文件复制到该语言环境的子文件夹中。)
从技术上讲,您现在已经完成了。运行“cleanmgr.exe”作为管理员如果您希望它向您显示它可以清理的所有内容(包括存储在 WinSxS 中的陈旧的 Windows 更新,现在是 Win2012 中的一个选项)。
如果您想要更多“GUI 特性”,请继续...
要将新的“磁盘清理”放入“开始”菜单,请创建“cleanmgr.exe”文件的快捷方式。将新的快捷方式放入“%ProgramData%\Microsoft\Windows\Start Menu\Programs\Administrative Tools”文件夹中;将其命名为“磁盘清理”。现在,在“开始”菜单中,您只需键入“磁盘清理”,您就可以选择在开始时以管理员身份启动它。
要使“磁盘清理”显示为磁盘驱动器属性对话框中的按钮,您必须更改注册表以添加新项和“可扩展字符串值”。创建一个新的 .reg 文本文件并粘贴以下内容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\cleanuppath]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6c,00,\
65,00,61,00,6e,00,6d,00,67,00,72,00,2e,00,65,00,78,00,65,00,20,00,2f,00,44,\
00,20,00,25,00,63,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\cleanuppath]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6c,00,\
65,00,61,00,6e,00,6d,00,67,00,72,00,2e,00,65,00,78,00,65,00,20,00,2f,00,44,\
00,20,00,25,00,63,00,00,00
如果您想手动添加,十六进制字符串是“%SystemRoot%\System32\cleanmgr.exe /D %c”。对我来说,我只需要添加第一个键。第二个键只是我发现设置所在的另一个位置。仅供参考,注册表中还有另外 2 个位置处理“cleanmgr.exe”,但幸运的是它们与此无关,因为它们使用了一些 ClassID GUID 内容。