无忧启动论坛

标题: 聪明而又自作多情的PELDR。 [打印本页]

作者: lxl1638    时间: 2006-8-28 16:09
标题: 聪明而又自作多情的PELDR。
____PELDR即Win2K3光盘上的SETUPLDR.BIN,用来加载WinPE时竟会而此聪明:

____当同一分区上同时有WinPE.IM_和WinPE.IMG映像文件时,尽管在WinNT.SIF文件中指定它加载WinPE.IMG,但它还是从WinPE.IM_中找出WinPE.IMG来加载,根本不理会WinPE.IMG已经存在(删掉WinPE.IMG一样能启动)。究其原因是因为字符"_"的ASCII码比"G"的小,它先找到WinPE.IM_,发现WinPE.IM_内有WinPE.IMG,就加载WinPE.IM_内的WinPE.IMG。同样,当同时存在WinPE.IS_和WinPE.ISO时,一样会出现如上的自作多情。

____早几天已发现这个现象,今天就有人遇到了,特来说明一下。
作者: 老毛桃    时间: 2006-8-28 16:13
呵呵,这个早就发现了。我前阵测试 WinPE.IS_ 的时候,没有时间来压缩,直接将 WinPE.ISO 放进套用它的 ISO 里面去,Winnt.sif 改为 WinPE.ISO。对于 WinPE.IS_ 和 WinPE.ISO 通用。
作者: lxl1638    时间: 2006-8-28 16:20
原帖由 老毛桃 于 2006-8-28 04:13 PM 发表
呵呵,这个早就发现了。我前阵测试 WinPE.IS_ 的时候,没有时间来压缩,直接将 WinPE.ISO 放进套用它的 ISO 里面去,Winnt.sif 改为 WinPE.ISO。对于 WinPE.IS_ 和 WinPE.ISO 通用。


____你Winnt.sif 改为 WinPE.ISO?与实际存在的WinPE.ISO一致了。我说的是实际存在的是WinPE.IS_,而在Winnt.sif指定它加载WinPE.ISO。它聪明之处是能判断文件是否压缩。

[ 本帖最后由 lxl1638 于 2006-8-28 04:22 PM 编辑 ]
作者: 老毛桃    时间: 2006-8-28 16:22
原帖由 lxl1638 于 2006-8-28 16:20 发表


____你Winnt.sif 改为 WinPE.ISO?与实际存在的WinPE.ISO一致了。我说的是实际存在的是WinPE.IS_,而在Winnt.sif指定它加载WinPE.ISO。

我说的跟你没有冲突,我将 Winnt.sif 中改为 WINPE.ISO,这样测试时不将 WINPE.ISO 压缩就放进去测试,待测试完了,压缩成 WINPE.IS_ 放进去,而不用理会 Winnt.sif。
作者: fujianabc    时间: 2006-8-28 19:54
这与_和G的ascii码无关,主要是因为setupldr.bin内自带了cab的解压代码,会自动搜索im_里面的文件,如果是img则加载。
同样安装盘里有很多以_结尾的文件,txtsetup中都是解压后的文件名,光盘启动时setupldr.bin会自动解压的。
而且哪怕你压缩后仍保留原文件名也行。

与此相类似,grub对待gz文件也差不多,也会自动解压,你压缩后仍用原文件名也会自动解压的。
作者: Rinrin    时间: 2006-8-29 09:45
原帖由 fujianabc 于 2006-8-28 07:54 PM 发表
这与_和G的ascii码无关,主要是因为setupldr.bin内自带了cab的解压代码,会自动搜索im_里面的文件,如果是img则加载。
同样安装盘里有很多以_结尾的文件,txtsetup中都是解压后的文件名,光盘启动时setupldr.bin ...

我以前试过
即使把扩展名改的乱七八糟
Setupldr还是能把正确地文件救出来

在安装时,某些文件是存放在Driver.cab或SP2.cab里的
Setupldr一样可以找出来

在使用恢复控制台时
用Attrib可以发现多了一个压缩的属性

以上似乎表明:
对于压缩的处理,是放在文件API层之下的
作者: dglhg    时间: 2006-8-31 17:30
是这样!




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