写这篇文章的主要目的是做笔记和总结一些经验。
首先是WinPE的文件目录:
Program Files
这个目录是程序目录,里面的文件可以全部删除,只保留一个文件就行了:
/Program Files/Internet Explorer/ieproxy.dll
没有这个文件会导致总是在新窗口打开文件夹!
ProgramData
这个目录是程序数据目录,里面与PE有关的就是有几个默认的开始菜单项目。
如果没有什么要求, 是可以全部删除的,我这里保留了一个文件:
ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk
因为添加网络功能时,顺便把PPPOE宽带连接功能也保留了,需要用到这个文件。
Users
这个目录是用户配置目录,在PE系统只有一个Default用户。
里面有一些桌面图标,开始菜单,发送到桌面快捷方式,用户图标等。
我不需要这些,所以全部删除。
sources
这个目录是原版安装程序包含的资源,PE系统不需要,直接删除。
Windows
这个目录是核心系统目录了,子目录太多,不能全部介绍了。
我保留了以下目录,这差不多是PE系统最精简的目录结构了:
Branding
Fonts
Globalization
inf
resources
system32
winsxs
zh-CN
explorer.exe
regedit.exe
WindowsShell.Manifest
关于字体
Fonts目录是字体目录,原版有好几百M的字库,PE里用不到那么多字体,只需要保留少量几个就行了:
marlett.ttf
simsun.ttc
tahoma.ttf
vga936.fon
vgafix.fon
vgaoem.fon
vgasys.fon
简体中文系统最主要的字体是宋体(simsun.ttc)。
simsun.ttc原版有15MB,可以使用精简版,只需要2.5MB
关于主题
resources目录包含主题文件,保留了经典主题文件classic.theme,否则界面风格有点怪异,
还要保留themeui.dll才能正常使用经典主题,在这个问题上卡了很久时间。
没有这个DLL鼠标指针会变成默认风格很模糊。
我想要的是Windows经典主题,并关闭所有显示动画效果,还需要配合注册表修改才能实现。
关于winsxs:
win7的winsxs非常大,它几乎保留了完整的系统文件,主要是用于系统更新,PE系统并不需要更新系统。
里面99%的文件都可以删除,但以下文件是必须的:
winsxs/
├─manifests
│ x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.7600.16385_zh-cn_6189e316803d96d4.manifest
│ x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_6.0.7600.16385_zh-cn_b7a33d2d3f47b7fb.manifest
│ x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16385_none_ebf82fc36c758ad5.manifest
│ x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc.manifest
│ x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca.manifest
│ x86_microsoft.windows.i..utomation.proxystub_6595b64144ccf1df_1.0.7600.16385_none_9d148a8db8d32238.manifest
│ x86_microsoft.windows.isolationautomation_6595b64144ccf1df_1.0.0.0_none_35d357a66c38ade4.manifest
│ x86_microsoft.windows.systemcompatible_6595b64144ccf1df_6.0.7600.16385_none_49adccbde8169a03.manifest
├─x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.7600.16385_zh-cn_6189e316803d96d4
├─x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_6.0.7600.16385_zh-cn_b7a33d2d3f47b7fb
├─x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16385_none_ebf82fc36c758ad5
├─x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc
└─x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca
其中manifest下面的以下3个文件比较神秘,没有它们开机会蓝屏:
x86_microsoft.windows.i..utomation.proxystub_6595b64144ccf1df_1.0.7600.16385_none_9d148a8db8d32238.manifest
x86_microsoft.windows.isolationautomation_6595b64144ccf1df_1.0.0.0_none_35d357a66c38ade4.manifest
x86_microsoft.windows.systemcompatible_6595b64144ccf1df_6.0.7600.16385_none_49adccbde8169a03.manifest
另外列表中的:
x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16385_none_ebf82fc36c758ad5
应该是可以删除的,实际上大多数软件使用的是6.0版本的comctl32.dll,这个5.82版本的好像没有什么用。
关于驱动:
inf和system32/drivers目录是系统已安装的驱动,开机时会选择性地加载这些驱动,
其中有很多驱动是可以精简的,比如网卡,打印机等等。
system32/driverstore目录是系统自带的可选驱动,在系统启动后可以选择安装,可以精简的文件也很多。
但是以下文件不能删除,否则有一些奇怪的问题:
drvindex.dat
INFCACHE.1
infpub.dat
infstor.dat
infstrng.dat
关于PECMD
PECMD.exe是PE系统里唯一的第三方软件,没有它其实也可以启动PE,
可以用winpeshl.exe来启动PE系统,不过不太方便。
这里使用的是V4.0.2011.0501,这是个很经典的版本。
需要注意的是PECMD.EXE必须放在system32目录,但PECMD.INI可以放在任意目录。
PECMD的DEVI命令可以很方便地自动安装第三方驱动程序,集成Virtio驱动就是用它加载的。
以下是PECMD.INI的参考设置:
LOGO #0x000000
TEXT #0xFFFFFF L4 T560 R800 B600 $19
INIT IU
EXEC %SystemRoot%\System32\winpeshl.exe
TEXT 正在安装设备驱动……
DEVI %ProgramFiles%\设备驱动\*.inf
EXEC @!=netcfg.exe -e -c p -i MS_NDISWAN
EXEC @!=netcfg.exe -e -c s -i MS_RASMAN
EXEC @!=netcfg.exe -e -c p -i MS_PPPOE
LINK %Desktop%\网络连接,%SystemRoot%\System32\ncpa.cpl,,SHELL32.DLL#17
TEXT 正在加载桌面……
SHEL %SystemRoot%\explorer.EXE
LOGO
这里调用了winpeshl.exe,它可以读取winpeshl.ini,调用wpeinit.exe,从而初始化网络。
如果在PECMD.INI里面直接运行wpeinit.exe会一直卡在启动界面。
今天的文章win7 pe制作_windowsPE分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/84807.html