无忧启动论坛

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

“先驱动USB2再进PE”的新尝试,集成了诸位大侠做法的优点,初步测试通过,有待完善!

[复制链接]
跳转到指定楼层
1#
发表于 2008-12-11 13:00:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、基本情况
0、采用最古老的IO.SYS-->GRUB.EXE启动方式。
1、吸收hytmtet帖用IMG开辟空间、拷贝PE做法;
2、吸收fujianabc、chenall帖用hmload避开传说中的grub堆栈覆盖、加载IMG做法;
3、吸收victor888斑竹的1.44M IMG中autoexec.bat、config.sys代码。

二、思路
1、hytmtet贴描述了构造一个IMG,生成28M大A盘,驱动USB2,拷贝U盘PE至A盘,然后grub
启动虚拟大A盘上的PE,速度提升明显。

但是,大A盘无法使用与USBASPI.SYS配套的RAMFD.SYS。我的实践总结,在U盘启动+又要
使用USBASPI.SYS的情况下,“必须”使用RAMfd.SYS来保证USBASPI.SYS执行效果。
(限于篇幅,原因不细谈)。除非你放弃U盘启动,改用其他介质(比如真实的内置A驱)启动,
可以不考虑RAMFD.SYS。

由于RAMFD.SYS有1.44M限制(理论上支持2.88M,但实际未找到成功案例)。所以,我把IMG
拆分成两部分:

第一部分是标准1.44M A盘,加载RAMFD.SYS,保证USBASPI.SYS兼容性效果。IMG文件名
设为A.img,大小为1.44M。

第二部分是C.img,大小约为500K。负责创建近26M的虚拟C(我实际用的是标准32M,各人根据
PE大小实际做调整,方法相同),存放拷贝自U盘的PE文件。PE拷贝完成后,grub.exe启动虚拟
C盘上的PE。

2、使用hmload分别于内存5M、10M处加载A.img、C.img;然后grub.exe的map (rd)+1 (fd0)、
map (rd)+1 (hd0)映射生效。

[ 本帖最后由 wuwuzz 于 2008-12-11 13:04 编辑 ]

评分

参与人数 1无忧币 +54 收起 理由
victor888 + 54 鼓励探索

查看全部评分

2#
 楼主| 发表于 2008-12-11 13:00:29 | 只看该作者
三、做法
1、IMG做法和hytmtet 帖类似,只不过用的是标准1.44M FD、32M HD。其中A.img包含ramfd.sys,usbaspi.sys,usbcd.sys,peupan.bat,config.sys,autoexec.bat等主要文件。

2、关于hmload加载。由于本方案只加载2M大小的A、C盘IMG,而不是象以往那样
直接加载体积庞大的PE等IMG,所以hmload速度可以忍受。

hmload命令为:

hmload -f .\A.ima -a 5
hmload -f .\C.ima -a 10


menu.lst简要内容如下:

# A start at  5M
# C start at  10M

# 1、设定虚拟A盘
map --rd-base=5242880
map --rd-size=1474560
map (rd)+1 (fd0)
map --hook

# 2、设定虚拟C盘
map --rd-base=10485760
map --rd-size=32698368
map (rd)+1 (hd0)
map (hd0) (hd1)
map --ram-drive=0x81
map --hook

# 3、从A盘引导
rootnoverify (fd0)
chainloader +1
boot

[ 本帖最后由 wuwuzz 于 2008-12-11 13:14 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2008-12-11 13:00:40 | 只看该作者
四、实战测试效果

0、没有出现hytmtet大大提到的可用内存急剧缩小问题,只少了虚拟C所用的32M;
1、以前用hytmtet贴能搞定的机器,这次同样PASS。
2、部分hytmtet贴不能搞定的机器,比如DELL 640M本本,这次搞定。
2、部分hytmtet贴不能搞定的机器,比如HP DC7600(82801GB)、DC7700(ICH8),这次有进展(识别出了U盘而不是target not found),COPY成功,但grub Starting PE仍然失败。估计与grub虚拟盘管理冲突有关。(有请大大们出手完善、解决)


============
注释1:部分测试用机BIOS支持USB 2直接启动,不需要USBASPI.SYS。但为了探讨USBASPI.SYS
先驱动USB2再进PE,我有意制造兼容性方面的障碍,看看本方案会有什么结果。

注释2:本方案在速度和兼容性权衡取舍上,首先考虑保证USBASPI.SYS执行效果,然后再考虑
USB2速度。应该是达到了可以接受的平衡。

[ 本帖最后由 wuwuzz 于 2008-12-11 13:12 编辑 ]
回复

使用道具 举报

4#
发表于 2008-12-11 16:12:38 | 只看该作者
grub Starting PE仍然失败的问题你可以去znpc问一下,看看GRUB4DOS是不是最新的0.4.4版?
回复

使用道具 举报

5#
发表于 2008-12-11 16:30:18 | 只看该作者
台式机大都能用。不知最新的GRUB如何,最新GRUB解决了好多BUG
回复

使用道具 举报

6#
发表于 2008-12-11 18:54:19 | 只看该作者
好久没来,上来看看大侠的精品作品。
回复

使用道具 举报

7#
发表于 2008-12-12 14:23:38 | 只看该作者
也可以用本站的loadsys文件加载USB2.0的方法
但USBASPI.SYS兼容性不好
回复

使用道具 举报

8#
 楼主| 发表于 2008-12-12 21:56:19 | 只看该作者
loadsys多分区U盘识别有问题。所以,我被迫使用devload。
回复

使用道具 举报

9#
 楼主| 发表于 2008-12-12 22:00:18 | 只看该作者
应该不是版本问题,我试验过最新版本grub.exe(2008-12-07)、USBASPI.SYS(V2.27、2008-10-22)。


我个人认为,致命的隐患还是老大难问题--内存管理冲突,有两层意思。

1、grub虚拟A盘,又从虚拟A盘grub PE;hmload加载IMG;map rd设备;devload /h usbaspi.sys;
config.sys中的himem.sys;还有USB 2.0 EHCI设备也要占用特定地址内存资源。
如此众多与内存有关的事项搅在一起,直觉让人感到有说不清的隐含冲突。


2、USBASPI.SYS兼容性,我觉得是内存冲突问题的延伸之一。看看实际情况:

HP DC7700出错症状:USBASPI.SYS能找到EHCI USB 2控制器,但SCAN出的USB device只能是FS全速,
而不能HS高速,copy成功后,Startings PE卡死;

HP DC7600出错症状: 也是只能FS全速,Starting PE后蓝屏死,
NMI : parity check /Memory parity Error

HP DX6100出错症状:HS正常,Starting PE后蓝屏死,
NMI : parity check /Memory parity Error


其中:FS还是HS,与/E参数无关,加/E参数,死的更难看,直接target not found;
与grub也无关,用真实A驱启动还是同样结果。我怀疑是那些型号机器的USB 2.0 EHCI
设备占用了特定内存地址、引发冲突。

至于PE失败,应该是1中所说原因。

[ 本帖最后由 wuwuzz 于 2008-12-12 22:37 编辑 ]
回复

使用道具 举报

10#
发表于 2008-12-13 10:55:45 | 只看该作者
很强很精悍~学习学习~~

评分

参与人数 1无忧币 -51 收起 理由
victor888 -51 灌水扣分

查看全部评分

回复

使用道具 举报

11#
发表于 2008-12-14 20:27:14 | 只看该作者
请楼主提供下IMG文件下载,我的是NV MCP61芯片,使用其他USB2。0方案不行,会卡死在扫描USB设备这一步
回复

使用道具 举报

12#
发表于 2008-12-15 20:39:33 | 只看该作者
值得学习一下,谢谢楼主。

评分

参与人数 1无忧币 -93 收起 理由
victor888 -93

查看全部评分

回复

使用道具 举报

13#
发表于 2008-12-16 14:40:43 | 只看该作者
非常感谢楼主分享,一直尝试用这种方法可惜始终不能得门而入,总是失败,希望楼主的方法有效.
回复

使用道具 举报

14#
发表于 2008-12-16 16:04:47 | 只看该作者
搞不懂,也来顶一下。期待最后的成品

评分

参与人数 1无忧币 -93 收起 理由
victor888 -93

查看全部评分

回复

使用道具 举报

15#
发表于 2008-12-17 11:01:44 | 只看该作者
可否上载做好的IMG文件,正为此烦心呢!要不楼主提供一下所需的DOS文件也行.

[ 本帖最后由 19720205 于 2008-12-18 15:42 编辑 ]
回复

使用道具 举报

16#
发表于 2008-12-19 20:54:55 | 只看该作者
我觉得没必要搞这么大,我用hhh333提供的USB2顺利启动PE(zip方式).
回复

使用道具 举报

17#
发表于 2008-12-19 21:32:44 | 只看该作者
原帖由 tdrax 于 2008-12-19 20:54 发表
我觉得没必要搞这么大,我用hhh333提供的USB2顺利启动PE(zip方式).

SYSLINUX引导的ZIP启动方式不能用,楼上的朋友U盘用什么引导?
回复

使用道具 举报

18#
发表于 2008-12-19 23:38:53 | 只看该作者
不晓得..........
回复

使用道具 举报

19#
发表于 2008-12-24 22:07:53 | 只看该作者
原帖由 hpy7332 于 2008-12-19 21:32 发表

SYSLINUX引导的ZIP启动方式不能用,楼上的朋友U盘用什么引导?

我也不知道,我的U盘本来可以双启的,不过我不知道用了什么格式化工具把U盘搞坏了,虽用量产工具修复了,可它死活都不愿意以HDD方式启动.我的U盘中只有两个文件夹和一个文件,它们全都是隐藏的.分别是:BOOT,WINIPE(文件夹)和大小为219KB的IO.SYS文件.可能是以IO.SYS方式引导吧.
回复

使用道具 举报

20#
发表于 2008-12-24 23:20:34 | 只看该作者
有时间试一下楼主的方法,我的机器加载驱动后始终找不到U盘,
回复

使用道具 举报

21#
发表于 2008-12-28 14:38:00 | 只看该作者
已阅。。。。。。。。。。。。。。。。
回复

使用道具 举报

22#
发表于 2008-12-28 23:10:49 | 只看该作者

回复 #3 wuwuzz 的帖子

方法不错  回去试试看
回复

使用道具 举报

23#
发表于 2008-12-29 10:52:24 | 只看该作者
hhh333的那个用着还好。这个版本和那个的不同点能列一下吗?懒得把那些东西拿来对照了
回复

使用道具 举报

24#
发表于 2008-12-29 19:48:39 | 只看该作者
强悍的 不能在强悍了  我要好好 学习一下
回复

使用道具 举报

25#
发表于 2008-12-29 23:11:57 | 只看该作者
楼主辛苦了,希望楼主早出成果,提供IMG文件下载。
回复

使用道具 举报

26#
发表于 2009-1-14 17:45:09 | 只看该作者

学习了,谢谢-谢谢

学习了,谢谢-谢谢.
回复

使用道具 举报

27#
发表于 2009-1-14 22:32:18 | 只看该作者
学习了哦,写的挺深的,看的不是太懂,
回复

使用道具 举报

28#
发表于 2009-1-15 12:47:15 | 只看该作者
路过学习学习,这些东西还真的很味的
回复

使用道具 举报

29#
发表于 2009-1-15 12:48:17 | 只看该作者
这些东西还真的是有点难懂的
回复

使用道具 举报

30#
发表于 2009-1-15 15:10:01 | 只看该作者
要好好研究一下,谢谢!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-8-15 02:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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