无忧启动论坛

标题: 请大家共同探讨下DOS下如何驱动USB2.0加载(ud)内文件 [打印本页]

作者: gzk101    时间: 2009-7-14 18:53
标题: 请大家共同探讨下DOS下如何驱动USB2.0加载(ud)内文件
由于plobt在某些电脑上容易出现卡机等现象,故一直在寻找先驱动USB2.0后再加载PE核心,解决速度的方法.
通过devload及loadsys两种方法在普通盘情况下加载没什么问题,因为在DOS下可以设置usbdsk.flg标志文件来定位u盘,再拷贝文件.但在(ud)状态下经过测试均均未成功,自己想想没成功也是在意料之中的,因为(ud)当时是bean为grub开设的虚拟盘空间,估计只有通过grub才能进行访问.在一般的DOS环境下,用一般的copy命令是无法定位U盘中的文件的.

所以想请大家共同研究下这种问题.虽然目前0pe已经可以解开后执行,速度也已经大大提升了.但如果大家想使用自己的iso文件作为pe使用,那就是非常慢的.

置顶里帖子,我一直没更新,也是由于这个原因,如果这个问题解决了,我会作最后的更新.
作者: wuwuzz    时间: 2009-7-14 20:31
一、首先,纠正一下LZ对普通盘情况的认识

devload/loadsys只是很次要的加载软件,核心在usbaspi.sys/aspidisk.sys。
fbinst在用了copy-bpb参数的情况下,即使PE放在可见普通数据区也不行。
因为fbinst区超过31M后,aspidisk.sys执行不正常,现象是:
可以分配盘符,但内容乱码,所以,定位、copy会失败。



二、我问过bean大,ud在dos下无效,最新版grub.exe不能访问ud。
我是这样想的:grldr支持ud,因此,可以考虑绕个弯,用grub.exe调用grldr,再用grldr访问ud。



[ 本帖最后由 wuwuzz 于 2009-7-14 20:32 编辑 ]
作者: lrbin50    时间: 2009-7-14 21:31
PE在UD内部可以解开?0PE怎做到的,BEAN不是说只支持整体镜像仿真么?
作者: xianglang    时间: 2009-7-14 22:17
我的折衷方法是,PE放在普通数据区,这样用我自己做的DOS2PE.IMG可以加速启动PE。UD盘,只需放一些如菜单、GRLDR这样不需要经常修改更新的东西好了,PE之类,还是放在UD外比较方便。
作者: qwer123    时间: 2009-7-15 01:16
原帖由 xianglang 于 2009-7-14 22:17 发表
我的折衷方法是,PE放在普通数据区,这样用我自己做的DOS2PE.IMG可以加速启动PE。UD盘,只需放一些如菜单、GRLDR这样不需要经常修改更新的东西好了,PE之类,还是放在UD外比较方便。

同意,这样方便以后更新
作者: lrbin50    时间: 2009-7-15 13:36
我把核心放UD内部了,核心现已定型,没必要改动了。觉得有必要讨论这个问题。
作者: victor888    时间: 2009-7-15 13:53
对这个DOS加载USB2.0我还是要强调一下:

对于使用GHOST而言,其自带的forceusb参数就已经够用了,基本可以识别到U盘并加载EHCI驱动乾地备份。

对于启动PE,没有必要加载USBASPI.SYS驱动了,因为可以通过MAP --MEM命令把PE的内核读入内存运行,速度也是很快的。加载了USBASPI.SYS文件,不过是MAP --MEM的过程快一点而已。但USBASPI.SYS的兼容性存在问题,比较起来OMNIFS.EXE的兼容性似乎好一些,但其执行效率并不高。综合考虑,只要把PE内核放到内存中运行就可以了,速度也是非常快的,没有必要寻求DOS下加载USB2.0驱动。
作者: wuwuzz    时间: 2009-7-15 14:31
呵呵,萝卜白菜,各有所爱,我觉得作为一个附加选项,还是有必要。

以当前热门的fbinst+0pe环境为例,在某些BIOS USB2驱动不完善的机器上,
加不加plpbt.bin/usbaspi.sys/omnifs -forceusb等USB2驱动,启动速度
至少要相差1/3,还是很可观的。

另,与usbaspi.sys一样,omnifs -forceusb同样存在兼容性问题。
尤其是fbinst+量产后的多分区盘。
作者: xianglang    时间: 2009-7-15 14:56
近 6MB 的 0PE 用MAP也得比较长时间,更别说几十MB甚至上百兆的ISO了。对于有USB2.0但是启动时不支持的电脑,我觉得DOS2PE还是很有必要的。
作者: victor888    时间: 2009-7-15 16:33
我不知道6M的PE MAP MEM一下要多长时间,我也不知道是什么样的板子。

我们一般关注PE的启动速度,似乎只注意USB2.0了,其实这个USB2.O不过体现的是非WINDOWS下的速度行为,当PE内核一旦进了内存,PE的启动过程就是飞快了,因为是从内存盘进行的PE。因此,就PE的启动过程而言,只有这个MAP MEM时间慢。

USB2.0,还值得研究。
作者: gzk101    时间: 2009-7-15 18:32
觉得wuwu的通过grub.exe启动grldr可行,只是不知道如何通过grldr将文件拷贝到内存中.
作者: xianglang    时间: 2009-7-15 21:58
在我的技嘉GA-8IG的845G主板上,如果用U盘启动并且启动U盘上的PE,如果不使用DOS来加速的话,要进入桌面超过20分钟;使用了DOS加速,进入桌面不用2分钟——都是从GRLDR处选择菜单后开始计时。
作者: mygamexxx    时间: 2009-7-16 15:09
老机器使用dos2PE.IMG,加载USB2.0驱动后基本上1~2分钟进入WINPE桌面,不使用驱动基本上5分钟以上才能进入WINPE桌面。
使用GRUB4DOS仿真磁盘加载30M的PE光盘映像ISO文件,基本上在5分钟以上才能进入桌面。
作者: 歌理    时间: 2009-9-4 22:40
原帖由 victor888 于 2009-7-15 13:53 发表
对这个DOS加载USB2.0我还是要强调一下:

对于使用GHOST而言,其自带的forceusb参数就已经够用了,基本可以识别到U盘并加载EHCI驱动乾地备份。

对于启动PE,没有必要加载USBASPI.SYS驱动了,因为可以通过M ...


01、omnifs读取fbinst格式的U盘信息时会死机!另外,omnifs也不能访问fbinst的隐藏分区(通过omnifs32得知)
02、之所以启动慢,就是因为将PE.iso读入内存时很费时,所以“综合考虑,只要把PE内核放到内存中运行就可以了,速度也是非常快的,没有必要寻求DOS下加载USB2.0驱动”是错误的。
03、plpbt.bin加载USB,基本没有成功的例子
04、由于dos下无法访问fbinst隐藏分区,所以加载USBASPI.SYS驱动没有意义。
05、改进的办法:
    a、将PE放在可见分区?这好象失去了fbinst意义
    b、BEAN大改进程序,加快读取速度?
    c、bean大改进程序,或者弄另外一个程序,让DOS访问UD(类似omnifs),本人大胆预测,不会多久,这个功能肯定会实现。
作者: mygamexxx    时间: 2009-9-4 23:13
map --mem方式启动UD扩展分区内的32M的WINPE.ISO大约5分钟左右可进入PE启动界面。

加载USB2.0驱动后复制非UD区内的32M的WINPE.ISO到虚拟A盘,再用map方式启动,大约2分钟左右进入PE启动界面。

[ 本帖最后由 mygamexxx 于 2009-9-4 23:30 编辑 ]
作者: 歌理    时间: 2009-9-5 00:43
dos下读取UD的方法:

大家知道dspt吧?
该软件可以直接按扇区读取数据并保存为文件。
思路是:
1\启动UD后,加载USB驱动(DOS)
2\然后用DSPT将PEISO读到A盘,用grub.exe启动PE

问题的关键是:读取目录表,根据目录表文件名计算出文件所在扇区
哪位高手试试
作者: gzk101    时间: 2009-9-13 00:58
楼上兄弟的这个想法不错,但实行起来困难太大。
作者: ntsyh    时间: 2009-10-18 14:03
我是2003年的七喜品牌P4 2.8台式电脑,使用小马的PE先加载USB2.0驱动后基本上2分钟进入WINPE桌面,不使用驱动基本上8分钟以上才能进入WINPE桌面。
区别太大了




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