实验记录一
实验记录一
实验题目
探究使用原版Windows系统ISO镜像中的wim文件以wimboot模式安装系统后,某些情况下开机后仍然占用大量C盘空间的原因.
实验前提
- 毋庸置疑,微软的Windows系统中,Windows10所有版本,Windows11所有版本均支持wimboot模式启动.
- 使用微软原版ISO中的wim会发生wimboot虽然制作成功,但启动系统后C盘占用量仍然很大(9-10GB),为一个正常系统大小的情况.
- 我们自己用Dism++软件制作的系统wim包就可以成功的使用wimboot节约C盘空间,C盘占用大小在2GB左右.
实验假设
- wim文件中多个系统版本导致此问题.
- 微软的wim未对wimboot进行优化.
假设依据:
- Gemini3pro说,wim文件需要针对4K对其进行优化,wof驱动才可以很好的读取wim文件中的数据块.否则,wof驱动程序会启用回退机制,把文件从wim复制到C盘中,导致wimboot失效.(AI生成,可信性存疑)
- Gemini3pro说,微软的wim是针对Windows系统安装的速度进行优化,并非对wimboot进行优化,所以不能完全支持wimboot.(AI生成,可信性存疑)
设计实验
- 实验一
- 获取
Windows10 LTSC 2019的原版ISO文件中的wim映像.命名为LTSC_original.wim.经核实,该wim包内只有一个系统版本. - 使用dism++,
打开映像文件->LTSC_original.wim,选择里面的唯一一个系统版本,导出映像,命名为LTSC_exported.wim - 新建虚拟机
vmwimbootLTSC_original,在PE中使用winntsetup以wimboot模式安装LTSC_original.wim - 新建虚拟机
vmwimbootLTSC_exported,在PE中使用winntsetup以wimboot模式安装LTSC_exported.wim - 安装完成后启动虚拟机分别查看C盘空间占用大小.
- 获取
- 实验二
- 获取Windows10 22H2的原版ISO文件中的wim映像.命名为
22H2_original.wim.经核实,该wim包内含有6个系统版本,分别为:家庭版,家庭单语言版,教育版,专业版,专业教育版,专业工作站版. - 使用Dism++,
打开映像文件->22H2_original.wim,选择里面的专业版系统,导出映像,命名为22H2_pro_exported.wim - 使用Dism++,
挂载映像->22H2_original.wim,目标映像:专业版,挂载到目录D:\000 - 使用Dism++,对挂载的专业版镜像进行另存.
文件->另存为映像,选择压缩率为”最大压缩映像”,命名为22H2_pro_repacked.wim - 使用Dism++,卸载
22H2_original.wim,保证D:\000目录为空. - 新建虚拟机
vmwimboot22H2_original,在PE中使用winntsetup以wimboot模式安装22H2_original.wim中的专业版系统. - 新建虚拟机
vmwimboot22H2_pro_exported,在PE中使用winntsetup以wimboot模式安装22H2_pro_exported.wim - 新建虚拟机
vmwimboot22H2_pro_repacked,在PE中使用winntsetup以wimboot模式安装22H2_pro_repacked.wim - 安装完成后启动虚拟机分别查看C盘空间占用大小.
- 获取Windows10 22H2的原版ISO文件中的wim映像.命名为
实验结果
实验一
- 安装完成进入Windows后,
vmwimbootLTSC_originalC盘占用2.78GB - 安装完成进入Windows后,
vmwimbootLTSC_exportedC盘占用2.80GB
实验二
- 安装完成进入Windows后,
vmwimboot22H2_originalC盘占用9.94GB - 安装完成进入Windows后,
vmwimboot22H2_pro_exportedC盘占用9.80GB - 安装完成进入Windows后,
vmwimboot22H2_pro_repackedC盘占用9.82GB
结果分析
实验一中,0.02GB的C盘占用差值属于偶然误差,可以忽略不计.故可认为实验一的两种wim安装wimboot后C盘占用大小一致.
由于一个完整的Windows系统以正常模式安装需要占用C盘空间10GB左右,实验一中两个虚拟机都占用<3GB,差异有统计学意义,故认为wimboot发挥了C盘空间节约效果.
实验二中,约0.1GB的C盘占用差值属于偶然误差,可以忽略不计.故可认为实验二的三种wim安装wimboot后C盘占用大小一致.
由于一个完整的Windows系统以正常模式安装需要占用C盘空间10GB左右,实验二中每个虚拟机都占用大概10GB,差异无统计学意义,故认为wimboot未发挥C盘空间节约效果.
补充实验
- 进入实验二的
vmwimboot22H2_pro_repacked虚拟机Windows系统,尝试删除制作wimboot时调用的22H2_pro_repacked.wim - 进入实验二的
vmwimboot22H2_pro_repacked虚拟机PE系统,尝试删除制作wimboot时调用的22H2_pro_repacked.wim - 进入实验二的另外两个虚拟机,重复上述操作.
- 进入实验一的所有虚拟机,重复上述操作.
补充实验结果
实验一和实验二的所有虚拟机都表现为:Windows系统中无法删除wim,提示文件已经在system中打开.PE系统中可以删除wim,删除后无法启动系统.
补充实验结果分析
由于实验一和实验二所有的虚拟机都表现为Windows系统中无法删除wim,提示文件已经在system中打开,说明wimboot在所有虚拟机中都成功制作,然而在实验二中的虚拟机中并未发挥节约空间的作用.
提出问题
令人奇怪的是,在补充实验中,使用PE系统可以删除wimboot依赖的wim包.这与我过去的实践经历不相符.我过去的实践经历是:PE系统中同样无法删除wimboot依赖的wim包,提示文件正在被其他程序使用,必须在PE中格式化C盘,才可以在PE系统中把这个wim删除.
以上疑惑在后文中被解决.
我过去的实践经历与本次实验不同之处在于:我过去制作wimboot使用的wim包是我使用dism++备份的已经使用了一段时间的Windows系统产生的wim,而本实验使用的所有wim均为原版系统wim,即未经历过系统开箱阶段的微软初始wim映像.
实验记录二
实验题目
探究自制的wim中如果有多个系统版本是否会导致wimboot无法节约C盘空间.
实验假设
自制的wim中如果有多个系统版本,仍然可以节约C盘空间.
设计实验
使用D:\x\y\Windows\Windowsimage\VMimage\VMwin10_1809.iso文件中的VMWin10.wim包在虚拟机中制作wimboot.
- *注:
VMWin10.wim中含有两个系统版本:Windows 10 企业版 LTSC_vmtools和Windows 10 企业版 LTSC_without_vmtools. - 新建虚拟机
vmwimboot_VMWin10_multi,本次实验使用Windows 10 企业版 LTSC_vmtools版本制作wimboot. - 查看wimboot安装后首次启动虚拟机,虚拟机C盘占用空间大小.
实验结果
wimboot安装后首次启动虚拟机,虚拟机C盘占用空间大小为2.55GB.
实验结论
自制的wim中如果有多个系统版本也可以成功制作wimboot,并节约C盘空间.
实验记录三
实验题目
探究将原版ISO中wim中的某一版本映像导出,并使用DISM对其进行重打包为针对wimboot优化的压缩映像,是否可以成功制作wimboot并节约C盘空间.
实验假设
针对wimboot优化后的wim包制作wimboot后无法成功节约C盘空间.
设计实验
使用实验记录一中产生的
Windows10_22H2_exported_pro.wim(大小:4.45GB).使用DISM命令
1
dism /Export-Image /SourceImageFile:Windows10_22H2_exported_pro.wim /SourceIndex:1 /DestinationImageFile:Windows10_22H2_exported_pro_labeled.wim /WIMBoot制作包含wimboot标签的wim映像
Windows10_22H2_exported_pro_labeled.wim.并记录大小.新建虚拟机
vmwimboot_win10_22H2_exported_pro_labeled在虚拟机中使用wimboot安装
Windows10_22H2_exported_pro_labeled.wim,启动前后查看C盘占用空间.尝试在Windows系统中和PE系统中删除wim,看能否删除.
实验结果
Windows10_22H2_exported_pro_labeled.wim映像大小为5.39GB,与4.45GB差异显著,说明DISM对wim重新压缩打包了.- 在PE系统中使用winntsetup制作wimboot后,PE中查看C盘占用了333MB.启动系统后,Windows系统中查看C盘占用9.80GB
- 无法在Windows系统中删除wim.
- PE系统中,刚刚启动PE时,如果不打开查看C盘分区,则wim可以被重命名.如果打开了一次C盘,则wim无法被重命名.
实验结论
针对wimboot优化后的wim包制作wimboot后无法成功节约C盘空间.
实验假设正确.
新发现:由实验结果4可知,PE系统中能否删除wim与C盘在PE系统中是否被读取有关.回顾实验记录一的补充实验结果,我当时进入PE系统并未打开C盘,所以可以直接删除wim.因此,实验记录一的问题就可以被解释.
实验记录四
实验题目
探究使用原版Windows10_LTSC_2021系统ISO的wim制作wimboot,是否可以节约C盘空间.
实验假设
使用原版Windows10_LTSC_2021系统ISO的wim制作wimboot可以节约C盘空间.
设计实验
已知: 微软原版系统win10_ltsc_2021的ISO中的wim中只有一个系统版本.
- 新建虚拟机
vmwimboot_win10_ltsc_2021_original,将install.wim从win10_ltsc_2021的ISO中复制出来,重命名为win10_ltsc_2021_original.wim - 在虚拟机中以wimboot模式安装
win10_ltsc_2021_original.wim - 启动前后查看C盘占用空间大小.
实验结果
- 在PE中,以wimboot安装好系统后C盘占用大小为285MB.
- 在Windows中查看C盘占用大小为10.6GB.
实验结论
使用原版Windows10_LTSC_2021系统ISO的wim制作wimboot不可以节约C盘空间.
实验假设错误.
实验分析
由于使用Windows10 LTSC 2019的原版wim可以成功制作wimboot并节约C盘空间,所以不得不考虑是Windows系统版本兼容性导致的有些Windows10原版wim文件可以成功制作wimboot节约空间,而有些不能.
综上所述
我的一系列实验证明了 Windows 10 20H2(包括 LTSC 2021 和 22H2)的原版 WIM 结构(包含复杂的更新挂起状态和未优化的压缩块)与 WIMBoot 的传统机制不兼容.系统为了自我保护和性能,在首次启动期间自动将指针文件替换为了实体文件.