无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 6254|回复: 62
打印 上一主题 下一主题

[教程] 意外发现dism和New-WindowsImage 极限压缩的隐藏参数!

    [复制链接]
跳转到指定楼层
1#
发表于 2023-1-22 19:29:02 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pda8888 于 2023-1-22 19:42 编辑

cmd下:
  1. dism /Capture-Image /ImageFile:d:\test3.esd /CaptureDir:c:\mount2 /Name:"Test DISM /CaputerImage /Compress:lzms" /Compress:lzms
复制代码


powershell下
  1. New-WindowsImage -ImagePath "d:\test.esd" -CapturePath "c:\mount2" -Name "Test New-WindowsImage -CompressionType lzms" -CompressionType lzms
复制代码




这个lzms的参数的压缩效果,跟cmd下dism /export-image /compress:recovery或powershell下Export-WindowsImage -CompressionType recovery的压缩效果相同,都是最高压缩比的极限压缩。但是这两个命令都是针对文件进行操作的,而不能对目录操作。
要对目录操作,只能用dism /capture-image或New-WindowsImage,但是在这两个命令的系统帮助文档里,最大的压缩比参数都是max,如果要用recovery,则会报错。用这个lzms参数,可以跑满CPU的所有内核和线程,均达到100%



我是在研究wimlibx的参数时,抱着试一试的态度用了一次lzms的压缩参数,居然没报错,而且看到的效果,就是recovery的极限压缩效果,太神奇了,查遍全网都没人介绍,难道我是全球第一个发现这个隐藏参数的吗?

点评

hhy
最低版本Win10 1703的dism支持这个隐藏参数,之前的Win10版本包括Win8.1都不支持。  发表于 2023-1-23 16:02

评分

参与人数 6无忧币 +30 收起 理由
纯脆entropy + 5 赞一个!
d9o + 5 很给力!
hhy + 5 赞一个!
lemonle79 + 5 很给力!
董大 + 5 赞一个!
879792799 + 5

查看全部评分

2#
 楼主| 发表于 2023-1-22 23:26:01 | 显示全部楼层
本帖最后由 pda8888 于 2023-1-22 23:36 编辑
placeholder 发表于 2023-1-22 22:50
这个不就是ESD压缩吗?用Dism++就是直接跑满CPU的

dism++没法嵌入到脚本里面实现无人值守,而且dism++只针对文件的转换,没法对目录进行封装为wim或esd的极限压缩操作。
回复

使用道具 举报

3#
 楼主| 发表于 2023-1-22 23:38:31 | 显示全部楼层

一个安装好windows11 22h2 22621-963的vhd文件,mount到指定文件夹后的体积大约23个G
极限压缩出来大概是6.x个G
max参数压缩出来大概是8.x个G

点评

可惜,esd修改不便,即使是修改原来的wim,再导出到之前的esd,删除旧卷,优化映像,体积也没有完整导出体积小,所以esd只适合整体导出,特别是wimlib。  详情 回复 发表于 2023-1-23 10:42
回复

使用道具 举报

4#
 楼主| 发表于 2023-1-22 23:39:54 | 显示全部楼层

我楼顶的代码就有批处理的要素啊。
回复

使用道具 举报

5#
 楼主| 发表于 2023-1-23 08:55:01 | 显示全部楼层
黑中见白 发表于 2023-1-23 01:44
dism压缩速度太慢
然后是wimlib
imgex压缩最快

wimlib大概比dism快25%左右,但是是以兼容性风险为代价的。

点评

dism慢的太离谱 还是imgex  详情 回复 发表于 2023-1-23 10:23
回复

使用道具 举报

6#
 楼主| 发表于 2023-1-23 09:22:13 | 显示全部楼层
本帖最后由 pda8888 于 2023-1-23 09:24 编辑
极客装机 发表于 2023-1-23 09:11
wimlibx的参数啊,这个不是都藏在帮助里吗,这个不难找啊,老早就知道了

wimlibx对目录的操作有大bug,把一个安装好windows 10或11的vhd挂载到一个目录(大概20多个G),然后对这个目录进行capture操作,大概率得到一个20或30几M的wim或esd,这是我多次实验的结果,而且wimlibx自己也说了,用它的--solid选项有兼容性的风险,所以原则上用m$自家的是最稳妥的。

点评

这点倒是不可否认  详情 回复 发表于 2023-1-23 22:15
挂载映像不行,释放的行  发表于 2023-1-23 09:30
回复

使用道具 举报

7#
 楼主| 发表于 2023-1-23 21:01:05 | 显示全部楼层
语之男 发表于 2023-1-23 19:51
怎么用来把wim转esd,或者制作多合一镜像esd,批处理怎么写

您这个工程有点大。
请仔细研究
1、dism /export的用法,这是针对wim文件导出为esd可以用到的。
2、dism /capture的用法,这是针对mount好的目录导出为esd的。
3、dism /append-image的用法,这是制作多镜像esd的。
回复

使用道具 举报

8#
 楼主| 发表于 2023-1-25 23:09:38 | 显示全部楼层
bg888 发表于 2023-1-23 21:20
俺还是喜欢用WIM,7Z直接打开很方便

total commander试试,在wim或esd上,按右键直接显示解包之后的文件夹。
一定要学会使用total commander!!!
回复

使用道具 举报

9#
 楼主| 发表于 2023-4-24 22:05:13 | 显示全部楼层
本帖最后由 pda8888 于 2023-4-24 22:16 编辑

与chatGPT对话聊聊这个问题:
回复

使用道具 举报

10#
 楼主| 发表于 2023-4-24 22:13:59 | 显示全部楼层


chatGPT真是牛B!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-5 14:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表