如何在不安装桌面体验的情况下在 Windows 2012 服务器上安装磁盘清理?

Gra*_*ger 14 disk-space-utilization windows-server-2012

问题很简单,我想在运行 Optimize-VHD cmdlet 之前尽我所能清理/压缩 VM 的 .vhdx 驱动器。很高兴使用 Microsoft 的磁盘清理实用程序。问题是它不是默认安装的。

官方获取方式是使用“添加角色和功能”,并添加“桌面体验”功能。有一些不需要的副作用,其中该功能还需要“媒体基础”和“墨水和手写”功能。我只想要“磁盘清理”。

Gra*_*ger 17

“磁盘清理”只需要 2 个文件即可工作(总共小于 260KB)

“cleanmgr.exe”适用于您的平台,“cleanmgr.exe.mui”适用于您的语言环境。它们已经在您计算机上的“%SystemRoot%\WinSxS”下的子文件夹中。

首先,在“%SystemRoot%\WinSxS”文件夹下搜索“cleanmgr.exe”。您可能会在“amd64”、“wow64”和“x86”文件夹中找到文件。我在 Windows Server 2012 Standard x64 安装中为这两个文件选择了“amd64”。

将这 2 个文件复制到以下位置:

  • %SystemRoot%\System32\cleanmgr.exe
  • %SystemRoot%\System32\en-US\cleanmgr.exe.mui

(我认为,如果您使用不同的语言环境,WinSxS 会有更多选择,您必须将 .mui 文件复制到该语言环境的子文件夹中。)

从技术上讲,您到此为止。以管理员身份运行“cleanmgr.exe” 如果您希望它向您显示它可以清除的所有内容(包括存储在 WinSxS 中的陈旧 Windows 更新,现在是 Win2012 中的一个选项)。

如果您想要更多“GUI-ness”,请继续...

要将新的“磁盘清理”放入“开始”菜单,请创建“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
Run Code Online (Sandbox Code Playgroud)

十六进制字符串是“%SystemRoot%\System32\cleanmgr.exe /D %c”,以防您想手动添加它。对我来说,我只需要添加第一个键。第二个键只是我发现该设置的另一个地方。仅供参考,注册表中还有 2 个其他地方处理“cleanmgr.exe”,但幸运的是,它们对此无关紧要,因为它们使用了一些 ClassID GUID 内容。

  • 如果您使用的是 64 位操作系统,则“winsxs”文件夹中有两组文件。`amd64` 文件位于 `c:\windows\system32` 和 `c:\windows\system32\en-US`,`x86` 文件位于 `c:\windows\syswow64` 和 `c:\ windows\syswow64\en-US`。 (2认同)