无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2400|回复: 4
打印 上一主题 下一主题

连载之四 菜鸟请教老九记

[复制链接]
跳转到指定楼层
1#
发表于 2007-9-18 14:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一回



问:在你提供的PE 安装工具(XPEHELP.EXE)中,可以以K3PE、MSPE、WXPE、I386、CMPE等为系统目录来部署PE镜像文件,我故意使用了K3PE作为系统目录来部署你提供的32MB.2.786.im_,启动后提示inf file txtsetup.sif is corrupt or missing status 18,我用ultraedit检查发现peldr中涉及的系统目录均为K3PE,TXTSETUP.SIF与PECMD.INI也没有使用绝对路径,同时注意程序中你提到 “注意,安装程式无法检测映像中的WinPE系统目录。”

请问:1.不知为何不能用K3PE、MSPE、WXPE、I386、CMPE之一随意部署PE镜像文件。难道镜像中有配置与绝对系统路径有关系?不知是那些配置,请简单说明,还是不同PE镜像有其特殊性?

         2.不知你的XPEHELP.EXE是每次根据选择(K3PE、MSPE、WXPE、I386、CMPE)自动修改peldr,还是准备了几个不同的peldr?

答:PE的系统目录是由PE映像本身决定的,用XPEHELP部署只能根据已定的系统目录来选择。如同BOOT.INI引导XP一样,XP所在的分区不同,BOOT.INI中的ARC路径参数也不同,这个参数只能根据XP所在的分区来定,不能随意变。   
      一般来说,老毛修改的PE核心系统目录是 WXPE,映像格式是 IS_,本人的原版PE系统目录是 I386,映像格式是 IMG或IM_,其它的人可能不同,用XPEHELP部署PE时都要正确选择,否则启动会出错。之所以把XPEHELP称为万能安装工具,是因为它可能部署目前已知的所有PE映像,但XPEHELP无能力检测各类PE的系统。目前只能根据文件名判断映像的格式,而不能检测PE的系统目录名,因为PE映像大多是一个压缩包。



第二回


问:再打扰一下,初始的PE一般是怎么生成的?来源于已装好的操作系统?还是原始安装文件?在定制时,是不是在其中某个环节决定PE的系统目录?


答:原始的PE是BartPE和一些插件生成的,源文件是XP/2003的安装盘,如果用上XPE插件,这样的PE就有XP的图形界面。PE发展到今天都是在一些别人做好的基础上修改而成,因为制作、精简一个原始的PE工作量非常大。
现在老毛桃放出的PE之所以叫“老九WinPE老毛桃修改版”,就是在本人做出的PE基础上修改而成,本人精简这个PE前后用了一年多时间才将它从近400M精简到60M。用BartPE制出的原始PE,系统目录名是 I386,这个名称也是有XP安装盘的系统目录决定的,这个目录名可以随意改成其它4个字符串的名称,但改动后引导PE的相关文件和参数也要改,这些知识在XPEHELP中有简单介绍。



第三回

问:上次看一篇你的大作,提到注册几个dll之后,PE会24小时自动重启一次,你和老毛的PE难道没有这个问题了?PE系统启动后自动运行SYSTEM\Setup\cmdline ,这与Xp 运行 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 机制一样都是系统默认行为吧?PE中有没有其它自运行机制?可以同时自运行几个程序?另,系统遇到*.??_文件会自解压也因该是系统默认操作吧?

答:现在的PE已没有24小时后重启的问题了。PE中的SYSTEM\Setup\cmdline是微软留下的接口,原来这个位置是留给CMD.EXE的,微软放出的PE就是这样开机自动启动到CMD.EXE窗口的。但在这里不能直接启动explorer.exe,因为启动到explorer.exe还要做很多工作,需要注册三个基本的DLL和初始化桌面,这三个DLL是SHELL32.DLL、BROWSEUI.DLL、SHDOCVW.DLL。早期无忧的PE中这些工作都是由老外XPE插件中的XPELOGON.EXE和XPEinit.EXE来完成,现在由本人的PELOGON.EXE和PECMD.EXE来完成。
      以RAM方式启动的PE前期的启动大致过程为:
      1、通过扇区摸似载入器加载载入程序PELDR。扇区摸似载入器一般名称是AVLDR.*,它如同Win98/XP双系统中的bootsect.dos,bootsect.dos在FAT32分区上是512字节,AVLDR.*是8K,它会加载指定的PELDR(PELDR的名称已在AVLDR作了记忆,你可以用Hex编辑器查一下)。PELDR是2k3 SP1安装盘的SETUPLDR.BIN修改后再改名而成。
      2、PELDR根据WINNT.SIF文件定义的将PE映像加载到内存,并按WINNT.SIF中的参数启动这个PE。到些你会看到类似XP安装盘的文本启动过程了,这个过程可以归纳为:
BOOT.INI定义的启动项 ==> AVLDR ==>;PELDR ==> WINNT.SIF
       上面所提到的文件名都可以变,但必须一一匹配。在老毛桃修改的PE中 AVLDR 可能已改名为 MAOTAO.*之类,PELDR可能已改成XPELDR,WINNT.SIF可能已改名为 WINNT.XPE。用Hex编辑器打开这些文件,你会发现这一系列文件中,前面的有后面的名称,且PELDR和WINNT.SIF内也有系统目录的名称。


第四回

问:我上次看到的AVLDR有64K那么大,你提供的很小,但功能一样:)AVLDR是Gandalf 开发的?好像与aero.sys和Grub都有点关系?

答:XPEHELP.EXE的资源文件内置了8K的AVLDR和PELDR,它安装PE的原理是根据用户选择参数(系统目录名和映像格式)把释放出的AVLDR、PELDR作对应的修改,同时生成相应的WINNT.SIF文件。你用它随便安装一个PE,就能得到这两个文件了,论坛上的XPEHELP已加壳压缩,脱壳提取出的资源可能有会出错。AVLDR是Gandalf 开发的一个工具生成的文件。

[ 本帖最后由 wdshop 于 2007-9-19 09:10 AM 编辑 ]
2#
发表于 2007-9-18 14:27:16 | 只看该作者
等着受教育啦!:'( :'( :D
回复

使用道具 举报

3#
发表于 2007-9-18 17:46:16 | 只看该作者
本人在信息里回的内容,有几个错别字。
回复

使用道具 举报

4#
发表于 2007-9-18 18:44:59 | 只看该作者
哔连载小说了!佩服。哈哈。
回复

使用道具 举报

5#
发表于 2007-9-18 19:39:00 | 只看该作者
论坛上的XPEHELP已加壳压缩,脱壳提取出的资源可能有错。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-2-25 03:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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