|
其实最近几天我所有的问题都起源于:如何让PE支持直接安装WIN7。
1、我以前改过一个比较清爽的PE自用:
[build_44]含网络支持纯维护用66MB简单PE
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=128441
以前那个帐号的密码忘记了,索性重新注册了现在这个。
本来想用上面这个自用的PE安装WIN7,结果发现不行,所以开始想办法,目前发现,基于XP的PE安装WIN7时,关键的一点是注册表里面特定的那个键,就是:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT,只要把这个删掉,WIN7判定当前系统并非PE,从而开始正常复制文件,可惜复制结束之后,调用安装界面时,必然出错。我的理解是,这个MiniNT非常重要:有这个键,WIN7认为当前是PE,从而安装程序自动选择全新安装,而屏蔽了升级安装,如果能欺骗WIN7认为当前PE是基于2003的就好了,目前我只找到了WIN9这个能实现这点,不过还不清楚怎么做到的,可能和SYSTEM32里面的DLL版本、或者注册表系统信息等有关吧。如果想用基于XP的PE直接安装WIN7,肯定要朝这个方向找办法的。所以最后的想法就是:保留MiniNT,然后想办法欺骗WIN7认为是2003PE。然后一想,何必去欺骗呢,索性找个2003PE好了,于是有了下面的问题:
2、最好的解决方案,也是PE发展的大趋势,就是采用2003SP2的PE。
目前而言,如果采用PEBUILDR+XPE做2003SP2PE,会出现注册表卸载问题,加默认EXPLORER我又不会,所以试了一下放弃。如果采用WINBUILDER+LiveXP做,用默认的EXPLORER很方便,体积相对而言也不是很大,而且LiveXP更新满勤快的,老实讲,好象是现在WINBUILDER那些PROJECT中唯一一个还保持更新热情的项目了,所以我就选择了它。
但现在的问题是,这样打造出来的2003SP2PE安装WIN7时,会:
1、提示缺少几个DLL文件。这个容易解决,从源盘手动解压过去就可以,或者改脚本,让脚本自动把那几个DLL解压过去。
2、提示“COULD NOT RETRIEVE INFORMATION OF DISKS”,找来找去,发现原来是LogicalDiskManager的问题,LiveXP做出来的2003PE这一块有错误,MMC中无法启动上面这个磁盘管理服务,导致安装不能进行。
卡在这里好几天了,实在头大,所以贴在这里一下,看看有没有一样研究LiveXP的人帮忙解决一下,呵呵呵。
其实应该就是WINBUILDER加载MMC这个脚本时候出现的问题,我怀疑这个脚本默认是XP的,虽然作者对2003做了一些支持,但肯定没有经过充分测试,导致这样的情况。而且现在这个MMC脚本中没有VDS部分,这个好像也是WIN7需要的,哪位高人帮忙看看吧,非常感谢。
另外,作者真勤快,昨晚还是070,刚才一看已经071咯。
[ 本帖最后由 Lafayohades 于 2009-1-24 16:21 编辑 ] |
|