如何删除Windows Server 2008上的Windows Update卸载文件?

我正在运行在VMware中运行的Windows Server 2008 Standard。 它有2个磁盘:

  • 系统磁盘:16 GB
  • 数据磁盘:500 MB

我安装了Visual Studio 2008 SP1 + MSDN以及一些不占用太多空间的小工具和库。 随着时间的推移,系统磁盘的可用空间一直在下降(我怀疑是因为常规系统更新 – NetFx(.NET),Service Pack和定期更新)。

问题1
如何从Windows Server 2008中删除Windows Update卸载文件

问题2
我还在C:/Windows/Installer文件夹中find了很多文件。
是否有可能确定哪个.msp文件与哪个补丁一起使用?
我想删除其中的一些,因为它们占用了很多空间。

将文件与修补程序相关联 。 “ WINDOWS\Installer\ ”文件夹有几个key子文件夹。
您可以searchregistry中的子文件夹名称(不带大括号{} )。

可以在“ HKLM\SOFTWARE\ ”树中search密钥
获得软件协会。

密钥将放置在名称为ENU_GUIDInstaller子树中。

同样,在registrypath“ HKEY_CLASSES_ROOT\Installer\Products\ ”中,
密钥通常会在子树中与“ ProductIcon ”名称匹配。
在它旁边会有一个“ ProductName ”字段,它会给你一个关联。

这个search应该可以通过dir WINDOWS\Installer /d进行脚本处理
存储到用registrysearch处理的文本文件。


.MSP文件在registry中具有间接级别。
您应先searchMSP名称, HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\

这将给你一个补丁号(子树名称string),然后再次在上述相同的pathsearch。 关联的registry子树会为您提供该修补程序的详细信息。

同时,我的Windows XP资源pipe理器中的鼠标hover上下文也提供了该补丁的基本信息。 你有没有检查过?


较旧的数据:
使用msizap删除孤立的caching的Windows安装程序数据文件以增加可用磁盘空间 。

Msizap是一个命令行工具,可以删除Windows Installer为其安装的产品(包括Windows Installer存储configuration数据的目录,文件,registry子项和registry项)维护的configuration数据。

使用G参数运行msizap.exe会为所有用户删除孤立的cachingWindows Installer数据文件

本文讨论到Windows Server 2003。
更新:此Microsoft KB说明也限制在Server 2003。
它应该适用于Server 2008,否则会有另一个版本。
文章介绍了两个版本的存在。

有两个版本的MSIZAP.EXE:
MsiZapA.exe (用于Windows 95,Windows 98和Windows ME)和
MsiZapU.exe (用于Windows NT,Windows 2000,Windows XP和Windows Server 2003)。 应将适当的可执行文件重命名为MsiZap.exe。


下载参考资料 – 万一链接失效。

Msizap可以作为Microsoft Windows Server 2003支持工具或Windows Installer清理实用工具 (EXE)的一部分下载。 我无法通过search微软的下载站点findWindows安装程序清理实用程序,所以请注意,截至今天,如果您以上链接在将来死亡,文件的名称是msicuu2.exe。

如果您不想安装Windows Installer清理实用程序,请使用通用提取程序(又名UniExtract )等程序来提取单个文件。 一旦你提取的文件,你会注意到msizap.exe不存在,但你会发现MsiZapA.exe和MsiZapU.exe。

对于Q1,你的意思是通过自动更新安装的正常的Windows更新文件? 您可以通过删除INSIDE C:\ windows \ SoftwareDistribution \ Download中的内容来释放该空间

Windows 2008中不存在“以前的操作系统中的$ NtUninstallKB文件夹”,因此您不能再删除卸载文件。

16 GB将其推向Win2008的系统卷 – 全新安装的更新在我的2008 VM上占用了15 GB。 我不清楚删除“不必要的”文件和文件夹是否释放系统卷中的空间,但好消息是它是一个虚拟机,它是Win2008,实际上可以使系统盘更容易因为这两个的东西。

我在独立的ESXi 3.5盒子上运行Win2008虚拟机。 要增加系统磁盘的大小:

1)编辑虚拟机属性,并将硬盘大小更改为更大(我build议至less40 GB或更多,以确保您不必再次这样做)

2)重新启动虚拟机(你可能不需要做这一步,但我做了我的 – 似乎太疯狂了,无需重新启动系统音量,因为它毕竟是Windows …)

3)进入磁盘pipe理,你应该看到额外的空间作为X未分配的空间量。

4)右键单击您的系统音量,然后select“扩展音量…”。 通过向导来添加额外的空间到你的系统卷,你现在有一个比以前更大的空间。

不用说,你也可以这样做到你的数据磁盘。 即使这不是虚拟机,您仍然可以添加另一个物理磁盘并将其扩展到该虚拟机,尽pipe您可能正在创build一个容错性较低的configuration,除非您将其扩展到RAID卷上。 因为这是一个虚拟机,所有的ESX所做的就是使vmdk文件变大。

有几件事你可以看看:

  • 运行磁盘清理,这将清除一些空间。
  • 接下来,您可以看看如何删除像Service Pack和更新卸载文件,如果你很高兴这些更新已经工作,你不会需要删除它们 – 看到这篇文章
  • 如果您的页面文件位于较小的磁盘上,则可以将其移动到较大的磁盘上。
  • 禁用系统还原,如果你不使用它

这些只是我能想到的一些,在互联网上有很多好的文章描述了各种技术来释放空间,一些安全的,有些可能会破坏你的Windows安装,如果你错了,所以要小心!

他们在Vista和2008中更改了Servcing堆栈,因此不再像以前的Windows版本那样在系统目录中获得$ NTUninstall文件。 它将所有内容都embedded到WinSxS目录中,以提供更强大的回滚和使用最新版本的文件function。

看看2008年或Vista的SP2中附带的Windows组件清理工具 (compcln.exe),它会丢弃一些文件,但只为我释放了大约900MB。 不过,最好不要。

我将使用Clonezilla制作系统的磁盘映像,然后继续进行实验。 如果事情不工作,只是恢复图像,并再次尝试,直到你得到它。

C:\ Windows \ Installer中的文件与修补程序或更新无关; 他们附带了您安装的程序,并且需要进行更改/修复/卸载操作(有时还需要安装稍后的更新程序)。

你绝对不能删除它们。

从Windows和安装程序文件夹中删除任何内容时要格外小心,因为这些MSI文件需要安装更新的更新。 您可以通过进入属性并查看版本信息来查看每个属性。 最大的一个很可能是Visual Studio 。

我在最初给出10 GB驱动器的一堆Windows 2003 Server安装上遇到同样的问题。 微软已经引入了这样的策略,让每一位安装人员不给我们任何提醒,这真是一个痛苦。

我发现的最好的办法是备份安装程序文件夹,以便以后可以根据安装程序的要求删除和replace它们。 但是,那么你仍然不得不浪费时间来确定哪个是哪个。