无忧启动论坛

标题: WINPE 如何精简/瘦身? [打印本页]

作者: yhxhappy    时间: 2017-10-30 19:23
标题: WINPE 如何精简/瘦身?
我的使用场景是:启动WINPE后自动运行自己写的一个程序。程序自身有界面,不需要WINDOWS界面

已经从WIN10的ADK提取了纯净版的WINPE并修改startnet.cmd来达到目的。
现在的问题是制作出来的BOOT.WIM文件太大,约250MB左右,刻录成光盘的话启动还是要些时间。
其实PE里面很多东西我都用不到,想尽量缩小体积,加快启动速度。

但自己对WINPE也不了解,不知道怎么给它瘦身。
作者: nttwqz    时间: 2017-10-30 20:06
精简PE不是一两句话,一两天能弄懂、弄成的。

如果启动时间对你影响不是很大的话,不建议研究精简,就这么用吧!

还是在论坛找个现成的小体积PE修改一下来的更快。
作者: slore    时间: 2017-10-30 20:37
本帖最后由 slore 于 2017-10-30 20:39 编辑

不知道你什么语言的程序,boot.wim能用的话,估计是C++的。
那么先精简winsxs,cat能少100MB,然后考虑精简Font字体。

system32下面的dll按大小排序,删除一批测试吧。
最少的话,boot.wim是70MB左右,不过自己的C++程序能运行,notepad都打不开。

CatRoot:
KEEP_ITEMS.txt(其余全删除)
  1. Windows\System32\CatRoot
  2. ={F750E6C3-38EE-11D1-85E5-00C04FC295EE}
  3. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Common-Drivers-drivers-Package~*~%PE_ARCH_PREFIX%~~*.cat
  4. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Common-Drivers-ds-Package~*~%PE_ARCH_PREFIX%~~*.cat
  5. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Common-Drivers-Package-windows-Package~*~%PE_ARCH_PREFIX%~~*.cat
  6. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Common-Drivers-Package~*~%PE_ARCH_PREFIX%~~*.cat
  7. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Foundation-Group-ds-Package~*~%PE_ARCH_PREFIX%~~*.cat
  8. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Foundation-Group-minkernel-Package~*~%PE_ARCH_PREFIX%~~*.cat
  9. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-WinPE-SKU-Foundation-base-Package~*~%PE_ARCH_PREFIX%~~*.cat
  10. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-WinPE-SKU-Foundation-drivers-Package~*~%PE_ARCH_PREFIX%~~*.cat
  11. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-WinPE-SKU-Foundation-ds-Package~*~%PE_ARCH_PREFIX%~~*.cat
  12. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-WinPE-SKU-Foundation-minkernel-Package~*~%PE_ARCH_PREFIX%~~*.cat
  13. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-WinPE-SKU-Foundation-Package~*~%PE_ARCH_PREFIX%~~*.cat
  14. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-WinPE-SKU-Foundation-termsrv-Package~*~%PE_ARCH_PREFIX%~~*.cat
  15. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-WinPE-SKU-Foundation-windows-Package~*~%PE_ARCH_PREFIX%~~*.cat
  16. {F750E6C3-38EE-11D1-85E5-00C04FC295EE}\nt5.cat
复制代码


WinSxs:
KeepItems.txt
  1. Windows\WinSxS

  2. ;%PE_ARCH_PREFIX%_microsoft-windows-advancedtaskmanager_*_*_none_*
  3. ;%PE_ARCH_PREFIX%_microsoft-windows-a..skmanager.resources_*_*_%PB_PE_LANG%_*

  4. %PE_ARCH_PREFIX%_microsoft-windows-servicingstack_*_*_none_*
  5. =Manifests
  6. Manifests\%PE_ARCH_PREFIX%_microsoft.windows.systemcompatible_*_*_none_*.manifest
  7. Manifests\%PE_ARCH_PREFIX%_microsoft.windows.fusion_components_all_*_*_none_*.manifest

  8. ;below "+Manifests" keyword
  9. ;not only the directory and also the Manifests file will be added
  10. +Manifests
  11. %PE_ARCH_PREFIX%_microsoft.windows.common-controls_*_*_none_*
  12. %PE_ARCH_PREFIX%_microsoft.windows.gdiplus.systemcopy_*_*_none_*
  13. %PE_ARCH_PREFIX%_microsoft.windows.gdiplus_*_*_none_*
  14. %PE_ARCH_PREFIX%_microsoft.windows.isolationautomation_*_none_*
  15. %PE_ARCH_PREFIX%_microsoft.windows.i..utomation.proxystub_*_none_*
  16. %PE_ARCH_PREFIX%_microsoft.windows.c..-controls.resources_*_%PB_PE_LANG%_*
复制代码


Last.bat
  1. rem just keep drvstore.dll
  2. set MS_SS=
  3. for /f "delims=" %%i in ('dir /b X:\Windows\WinSxS\%PE_ARCH_PREFIX%_microsoft-windows-servicingstack_*_*_none_*') do (
  4.   set MS_SS=%%i
  5. )
  6. if "x%MS_SS%"=="x" goto :EOF

  7. move /Y X:\Windows\WinSxS\%MS_SS%\drvstore.dll X:\Windows\WinSxS\
  8. del /Q X:\Windows\WinSxS\%MS_SS%\*.*
  9. move /Y  X:\Windows\WinSxS\drvstore.dll X:\Windows\WinSxS\%MS_SS%\
  10. set MS_SS=
复制代码

作者: U5558    时间: 2017-10-31 11:09
精简是个不归路,我自己深有体会,加深眼睛的度数没有其它好处,我现在用的64位10240WIM80M文件371个28个文件夹仅用安装系统备份还原,而Dism++全部可以实现,所以有了Dism++还精简什么PE阿……还是要一个能上网的PE比较有用,万一把盘格了发现少什么东西可以补救一下。
作者: yhxhappy    时间: 2017-11-1 10:12
本帖最后由 yhxhappy 于 2017-11-1 10:15 编辑
nttwqz 发表于 2017-10-30 20:06
精简PE不是一两句话,一两天能弄懂、弄成的。

如果启动时间对你影响不是很大的话,不建议研究精简,就这 ...


我在网上倒是找到一些小体积的WINPE,都带有windows界面和一些工具,不知道怎么逆向把这些东西清除。只保留进入PE后打开命令行界面就可以了。
作者: 我要最小维护pe    时间: 2017-11-1 14:07
U5558 发表于 2017-10-31 11:09
精简是个不归路,我自己深有体会,加深眼睛的度数没有其它好处,我现在用的64位10240WIM80M文件371个28个文 ...

80M的wim能放出来么?谢谢
作者: ai20110304    时间: 2018-8-22 20:44
U5558 发表于 2017-10-31 11:09
精简是个不归路,我自己深有体会,加深眼睛的度数没有其它好处,我现在用的64位10240WIM80M文件371个28个文 ...

一般用的哪种方法一步步精简和验证的…………求传授一点经验
作者: 双响炮    时间: 2018-9-20 21:11
同问,刚好也只有这个需要,进PE只为还原,大了没意义
作者: 双响炮    时间: 2022-12-14 18:29
找到方法没?我仍然在苦恼中
作者: chengv    时间: 2022-12-18 16:45
00




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3