|
本帖最后由 zteam 于 2016-6-29 15:19 编辑
生成的PE,CMD文件或DOS命令行窗口内的中文乱码
通过自定义添加文件(补充.txt),生成WIN8 PE后,无法启动,循环重启(已找到原因,补充.txt中只能是文件列表,不能包含是目录列表)
另外希望把自带的驱动加上,如果是通过dism添加的会被PE视为OEM驱动,内置驱动视为SYSTEM类CLASS(GUID已存在),不执行和枚举驱动操作,原生install.wim内置的基础驱动包是带驱动签名的,如果之后添加的驱动,驱动文件是没有签名的,无法识别驱动自动安装,只能手动强制安装,PECMD DEVI也不支持未签名驱动
例如basedisplay.inf(Microsoft基本显示适配器),即WDDM驱动。PECMD.INI里的DEIV basedisplay.inf是无效的
(复制catroot中的CAT驱动签名包,可解决内置驱动签名问题,但PE初始化时,可以识别inf,但不会加载驱动,原因不明,怀疑注册表缺少相关设备信息,pnputil列出所有驱动库DriverStore,没有包含显示设备)
还有(微软基本呈现显示驱动),也是未加载成功。这些都是核心驱动架框。
很多PE都精简了内置驱动的基本包,包括USB控制器也未加载,虽然PE下可以使用,是因为USB的inf配置不依赖drvload加载,也就是不需要离线注入也可使用
另外,很多PE都精简了pnputil.exe,导致WIN不能初始化PNP设备
还有.net组件(需要.net3.5支持,例如teamviewer等工具需要.net框架和VC运行库API,还有api-win-core-***等API调用)
缺少MSI组件(需要Windows Install服务,这个可以通过DISM添加)
缺少HTA组件(IE的子组件,可以用DISM添加WINPE-HTA.CAB。当然建议增加完整IE,ActiveX控件需要,比如网银)
WSCRIPT组件(VBS脚本,CSCRIPT,调用并配置WIM组件才需要,一般用于更改系统设置,之所以au3编写的PENETWORK网络配置工具(封装成了本地调用),就是因为缺少这个和远程调用服务)
资源管理器(explorer.exe的“打开文件所在位置”菜单动作,作者已补上,点个赞)
添加网络,声音,显示组件(三卡驱动需要,其实注册表中还涉及一些网络服务的配置和签名信息,一些API调用也依赖)
控制面板相关(网络,声音,显示控制面板相关MMC,例如:可通过任务栏网络图标右键,打开“网络与文件共享”的MMC窗口,这样可以新建宽带连接和VPN连接)
远程桌面(mstcs.exe所需文件,因为RDP8.1需要DLL注册和VC运行库,另外涉及RDP协议驱动和RDP数字签名,如果用5.1版的远程桌面文件替换,仅可以连接WIN2003,原因是RDP协议为6.X以下)
上面有些需求是无法后续添加的(后添加无效,因为微软的CBS管理数据库只识别自己的原生内容),所以强烈建议新增这些功能
当然有些是可以手工DISM添加,为了生成方便,建议在生成器上做为可选功能(考虑部分人关心PE体积,又满足全功能PE)
包含以上全部功能的PE生成内核WIM文件,32位WIN8PE内核大约150-180M左右,64位大约230M左右
所以体积增加还是能接受的。
当然,我是从一个完善PE的角度提出的建议,适合于多种应用场景,包括服务器维护。
如果仅做为安装系统的单机维护PE,已经很好了。
希望作者能看到,愿意一起讨论研究。 |
|