减小脱机 Windows 映像中的组件存储大小

可以使用部署映像服务和管理 (DISM) 工具从 WIM、VHD 或 VHDX 文件装载 Windows 映像,并对其进行修改。

分析和清理 Windows 脱机映像中的组件存储(WinSxS 文件夹)

若要完成本演练,需要:

  • 技术人员 PC
  • Windows 10、Windows Server 2016 或更高版本的 .wim、.vhdx 或 .ffu 映像。

分析 Windows 脱机映像中组件存储的大小

  1. 将映像文件复制到技术人员 PC 的本地驱动器,例如:C:\test\images

  2. 以管理员身份打开命令提示符。

  3. 为装载的映像创建一个文件夹,例如 C:\test\offline

  4. 运行 DISM /Get-ImageInfo 以检索要更新的映像的名称或索引号。 例如:

    Dism /Get-ImageInfo /ImageFile:C:\test\images\MyImage.wim
    

    注意

    对于 .ffu 和虚拟硬盘文件,index: 将为 1

  5. 装载 Windows 映像:

    Dism /Mount-Image /ImageFile:C:\test\images\MyImage.wim /Index:1 /MountDir:C:\test\offline
    

    由于 WIM 文件可以包含一个或多个映像,因此需要指定索引或名称值。 若要从 VHD 或 FFU 装载映像,需要指定 /Index:1

  6. 分析组件存储的大小。 例如:

    Dism /Image:C:\test\offline /Cleanup-Image /AnalyzeComponentStore
    

    若要了解输出内容,请参阅确定 WinSxS 文件夹的实际大小

  7. 如果建议清理显示的报表中的组件存储,则可以开始清理映像。 例如:

    Dism /Image:C:\test\offline /Cleanup-Image /StartComponentCleanup
    
  8. 可以通过添加 /ResetBase 参数来进一步减小组件存储的大小。 例如:

    Dism /Image:C:\test\offline /Cleanup-Image /StartComponentCleanup /ResetBase
    

    在 Windows 10 版本 1607 及更高版本中,可以同时指定/Defer 参数和 /Resetbase 以将任何长期运行的清理操作延迟到下个自动维护周期。 仅在 DISM /Resetbase 需要超过 30 分钟才能完成的工厂中将 /Defer 作为一个选项。

    计划一个每周运行一次的组件清除维护任务,并设置两周的任务期限。 在第一周,维护任务仅在系统空闲维护时段运行。 如果无法完成(例如,计算机在不使用时关闭),则任务计划程序会提高运行频率,任务可能会在系统非空闲时运行。

    若要查看任务运行时的性能影响,请运行:

    Schtasks.exe /Run /I /TN \Microsoft\Windows\Servicing\StartComponentCleanup
    
  9. 提交更改并卸载映像,以便保存所做的更改。 例如:

    Dism /Unmount-Image /MountDir:C:\test\offline /Commit
    

管理组件存储

清理 WinSxS 文件夹

确定 WinSxS 文件夹的实际大小

DISM 操作系统包服务命令行选项