HOWTO: 利用 CompactOS 减少 Windows 10 磁盘占用量

        gOxiA 今天要与大家分享的内容与 Windows 10 系统文件占用的磁盘容量有关,虽然现在大容量硬盘已经相当普及,但是对于那些使用小容量固态硬盘的设备来说,能够在尽可能以最小性能牺牲的前提下,减少系统文件占用的磁盘空间还是显得相当的有价值!尤其对于 OEM 设备,过去 OEM 厂商需要占用 4G 左右的空间来存储用于系统恢复的映像文件,而现在微软在全新的 Windows 10 上进行了改进,在执行系统恢复重置时已不再需要系统映像,也就是无需在设备上单独存储一份 WIM 格式的系统映像,即使当前系统损坏程度已经相当严重,当然我们仍旧可以创建一份系统备份,以确保在系统无法成功恢复重置设备时,能够有效的将设备重置为原始状态。

        前面所讲的仅仅是 Windows 10 的新特性之一,而本文的主角则是 Windows 10 的 CompactOS 功能,这一功能被微软官方解释为 WIMBOOT 的进化,WIMBOOT 的相关介绍可以参考 gOxiA 之前的文章《Windows 8.1 Update WIMBoot 概述》或在本站搜索 WIMBoot,了解 WIMBoot 的朋友应该知道 WIMBoot 利用了文件指针将当前安装的系统文件重定向到恢复映像中,这对于小容量存储(16 - 32GB)的 OEM 设备来说将大大降低整体磁盘的占有量,但是随着系统或预装应用的不断更新,WIMBoot 就会显得力不从心。而 CompactOS 则利用 Windows 10 高效的压缩算法,压缩系统二进制文件,可在32位系统上回收 1.5GB 和 64位系统上回收 2.6GB 的磁盘容量。再结合前面所讲的无需系统映像进行系统恢复重置的新特性,最终可有效回收 6.6GB 磁盘容量。

compact_review

        Windows 10 的 CompactOS 功能在应用上非常灵活,我们可以在执行 Windows 安装时就启用 CompactOS 功能。利用 Windows ADK 的 ICD(Windows Imaging and Configuration Designer)组件可以创建启用 CompactOS 的安装盘。

step.1  创建一个“New Windows image customization”项目,选择基于 WIM 文件,之后选择 对应的 SKU

ICD_1

2015-12-09 (1)

2015-12-09 (2)

step.2 创建生产介质,选择 WIM 格式,接下来的一步非常重要,务必勾选“Enable Compact OS” 的“Yes” 选择,最后根据需要直接创建 U盘或存储到一个目录。

2015-12-09 (3)

2015-12-09 (4)

2015-12-09 (5)

2015-12-09 (6)

        如果觉得使用 ICD 太复杂,可以使用 WSIM(Windows System Image Manager)创建一个应答文件(unattend.xml),启用设置“Microsoft-Windows-Setup\ImageInstall\OSImage\Compact”。

2015-11-26 (4)

        还觉得复杂,那可以在安装的时候手工执行 setup.exe 命令,并附加“/compactos enable” 参数,需要注意这一方式仅限于升级模式下使用。

2015-11-26

        还无法满足?!那就手工安装吧,找个 Windows 10 安装盘(Build 10586),使用 DISM 命令应用映像,命令行参考如下:

dism /apply-image /imagefile:d\sources\install.wim\" /index:1 /applydir:f:\ /compact

compactos_1

        对于使用 MDT 批量部署的用户,需要修改 LTIApply.wsf 文件,参考如下(高亮部分即增加的内容):

' Apply the image

sCmd = " /Apply-Image /ImageFile:""" & sImagePath & """"
If sRWMPath <> "" then
    sCmd = sCmd & " /SWMFile:""" & sRWMPath & """"
End if
If sSWMPath <> "" then
    sCmd = sCmd & " /SWMFile:""" & sSWMPath & """"
End if
sCmd = sCmd & " /Index:" & sImageIndex & " /ApplyDir:" & sDestinationDrive
If UCase(oEnvironment.Item("OSDCompact")) = “TRUE” then
    sCmd = sCmd & " /Compact:ON"
End if

        具体可参考 Michael Niehaus 的博客文章《Windows: Reducing the disk footprint》。当然 CompactOS 的灵活之处还不局限与上面所述的几个方法,除了可以在安装时启用这一功能外,还支持在已有系统上启用或关闭该功能。执行下面的命令行可查询当前系统是否启用了 CompactOS。

compact /compactos:query

compactos_3

        也可以附加“always 或 never”参数在当前系统上启用或关闭 CompactOS。

compactos_5

Windows Client | 评论(0) | 引用(0) | 阅读(9910)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我