无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 175268|回复: 205
打印 上一主题 下一主题

DOS下加载USB2.0驱动再启动PE (新增全自动判断U盘盘符版本)

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-28 22:47:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
版主记:
楼主的构思很巧妙,即从内存虚拟出一个大的(28M)的软盘镜像,将winpe.is_等必备文件拷贝入此镜像,再启动,真是很好的想法,这才是真正的USB2.0启动之一,方式为DOS下加载。
在此提点改进意见:
1. 不使用di1000dd.sys来分配USB盘符,使用通用性最高的aspidisk.sys
2. usbasp.sys使用/v /e /norst参数,这样只加载USB2.0驱动,且不影响USB鼠标和键盘的使用。
3. menu.lst中对于直接支持usb2.0 high speed速度的主板,增加直接启动PE的选项。



4月16日更新
更新里面的usbaspi.sys为2.24版
对于loadsys版本,根据chenall的建议,更改了判断盘符的办法,放弃使用call,只针对U盘/移动硬盘的盘符进行循环,更高效率
对于devload版本,采用对di1000dd.sys添加参数,使其从r盘开始,然后用if从r开始判断,也不再采用call的办法
根据版主的建议,usb驱动也添加了/v /e /norst参数
img容量大小仍未28800KB
也就是说如果你的PE核心镜像大小在26M以上
请用winimage调整下img的容量
不要调太大,够装你的PE核心,然后空出2M左右用来存放DOS启动相关文件等
不然就是浪费内存了



-----------------------------------------------------------------------------------------------------

大家根据需要自己修改下里面的autoexec.bat中复制pe文件部分和判断u盘盘符判断,grub命令行中引用的文件名称和路径
这几个U盘文件分别是 winnt.xpe/ntdetect.com/peldr/winpe.is_
自己动手的办法
我已经提供了peldr文件
该文件是我从毛桃0418PE中提取出来的,已经修改好了目录结构(具体修改,winnt.xpe>boot\pe.x ; ntdetect.com>boot\ntd.pro )

1. 在U盘或者移动硬盘的启动分区上建立好boot目录,在boot目录下建立好grub目录,在grub目录中放入grub4dos主程序grub.exe
2. 下载附件peldr.rar,解压并把peldr并放在boot目录下
3. 下载附件loadsys1.gz和devload.gz并放在boot目录下
4. 将原来毛桃的winnt.xpe文件改名为pe.x并移动到boot目录下,修改pe.x文件,将其中的winpe.is_更改成boot\winpe.is_(如果是小小强的PE,修改为boot\winpe.im_)根据情况自己修改
5. 将原来的ntdetect.com文件改名为ntd.pro并移动到boot目录下
6. 用grub4dos调用的菜单添加两项[菜单中的find --set-root......根据自己情况可以考虑更改,因为某些U盘用find查找不到文件,但是可以直接用root (设备名称)来定义,例如如果你的U盘被识别为hd0,则可以改成root (hd0,0)如果识别为fd0则改成root (fd0)就可以啦]
title 直接启动winpe(这个菜单可以不加,在原来的菜单下修改下peldr对应的文件名称和路径就可以啦)
find --set-root /boot/peldr
chainloader /boot/peldr
title 先进入dos加载完USB2.0驱动后再进入PE(loadsys装载驱动)
find --set-root /boot/usbdsk.flg
map --mem /boot/loadsys1.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot


title 先进入dos加载完USB2.0驱动后再进入PE(devload装载驱动)
find --set-root /boot/usbdsk.flg
map --mem /boot/devload1.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot

loadsys1.gz (197.28 KB, 下载次数: 7482)
devload1.gz (158.99 KB, 下载次数: 6016)

[ 本帖最后由 hytmtet 于 2008-4-16 10:07 PM 编辑 ]

peldr.rar

139.73 KB, 下载次数: 11543, 下载积分: 无忧币 -2

评分

参与人数 1无忧币 +100 收起 理由
chnhhwz + 100 精品文章

查看全部评分

2#
 楼主| 发表于 2007-10-28 23:02:09 | 只看该作者
刚才拔掉USB鼠标又测了一下
又提升了5秒的速度
没办法呀

在HP的新机器上
根本不用加载USB驱动,直接用grub4dos启动PELDR
到进入桌面仅仅20秒完成


在我的机器上就只有死慢啦
还好有这招
现在提高到50秒进桌面啦~~哈哈

刚才忘记测在PE下再插USB鼠标能用不(因为用的触摸板,只点了下重启的,没插外接鼠标)应该是没问题的~
回复

使用道具 举报

3#
发表于 2007-10-28 23:11:14 | 只看该作者
值得一试,你还是做个模板吧。
以牺牲内存来提供加载速度,256m以下机器基本没戏了。好在现在内存都很大。

[ 本帖最后由 zhaohj 于 2007-10-28 11:21 PM 编辑 ]
回复

使用道具 举报

4#
发表于 2007-10-28 23:23:43 | 只看该作者
速度也是硬道理。支持楼主。要是能有什么简单的方法整合到PE启动中,就是我们菜鸟的福气了。不知楼主是用的哪种USB启动方式。
回复

使用道具 举报

5#
发表于 2007-10-28 23:41:19 | 只看该作者
好文章
支持楼主继续研究

顺便问一下
100多M的全内置PE核心能用这个方法吗?

内置可以让很多问题简单化
唯一的问题就是启动加载镜像太慢了

如果可以用这个方法提速
那就可以不再用外置了
很爽啊
回复

使用道具 举报

6#
发表于 2007-10-29 01:57:24 | 只看该作者
观察中。
  u盘启动在某些机器上速度不如光盘启动,这是个问题
回复

使用道具 举报

7#
发表于 2007-10-29 06:58:15 | 只看该作者
这个要试试
我的老PC从在GRUB4DOS中选择WINPE到将WINPE.IS_载入完毕,需要380秒!!!
回复

使用道具 举报

8#
发表于 2007-10-29 07:19:31 | 只看该作者
请问楼主,config.sys是用NT系统中的?还是用Win98se启动盘中的?
具体怎么修改config.sys?
在哪儿加入:
DEVICEHIGH=himem.sys /testmem /off
DEVICEHIGH=USBASPI.SYS
DEVICEHIGH=DI1000DD.SYS
这3行?

下面是Win98se启动盘的config.sys的内容:
[menu]
menuitem=CD, Start computer with CD-ROM support.
menuitem=NOCD, Start computer without CD-ROM support.
menuitem=HELP, View the Help file.
menudefault=CD,30
menucolor=7,0

[CD]
device=himem.sys /testmem:off
device=oakcdrom.sys /D:mscd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:mscd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:mscd001

[NOCD]
device=himem.sys /testmem:off

[HELP]
device=himem.sys /testmem:off

[COMMON]
files=10
buffers=10
dos=high,umb
stacks=9,256
devicehigh=ramdrive.sys /E 2048
lastdrive=z

是把上面的内容清空,再写入那3行?
还是把那3行加入某一项下?
还是把那3行作为独立的一项?比如:
[]
DEVICEHIGH=himem.sys /testmem /off
DEVICEHIGH=USBASPI.SYS
DEVICEHIGH=DI1000DD.SYS

这3行前面有没有[]?[]里写什么?

[ 本帖最后由 ck 于 2007-10-29 05:13 PM 编辑 ]
回复

使用道具 举报

9#
发表于 2007-10-29 08:12:30 | 只看该作者
密切关注楼主的进展,要是能选择性的加载usb2.0驱动就更好了。
回复

使用道具 举报

10#
发表于 2007-10-29 09:09:12 | 只看该作者
不要加载di1000dd.sys,这个是分配盘符的,然后直接用GRUB看看会不会卡住。
回复

使用道具 举报

11#
发表于 2007-10-29 10:23:06 | 只看该作者
转篇帖子,给大家参考一下
dos下驱动usb2.0的u盘

车里焖-原创-qq-87175704
很早以前就有dos下启动盘驱动优盘的方法,但那个驱动不了usb2.0的,我作的启动盘方法差不多,但能dos驱动2.0的。
为什么要在dos下驱动usb2.0盘?这是很重要地!
我用它来dos杀毒,当然还可以干很多别的事情。
为什么要在DOS下杀毒?因为很多病毒只有dos下能杀干净

存病毒库,软盘的容量是不够了,病毒库又常更新,把杀毒软件坐在光盘上,很快就淘汰了

dos启动盘启动,加载usb驱动,转到u盘盘符,运行dos杀毒程序!
这个方法比u盘直接启动dos好,不受主板限制。

我有个机子,主板 是 只支持usb1.1的。我原来的u盘也是usb1.1的32M,
这个u盘在 dos下 软盘 驱动方法(编辑config.sys):
device=USBASPI.SYS     ///     1。x
device=Di1000dd.SYS    ///     n年以前的
能用,用了快两年,嫌太小,给我弟了。
我又弄了个usb2.0的128M,又用这张软盘驱动,不行了,我又把 USBASPI.SYS 换成了 2。06 的,还不行。
-----------再强调一遍,以上命令对usb2.0优盘不好用了,-------------------------------------

应该是因为优盘里面的芯片变了.我又下载了 [超级通用MS-DOS 7.10启动盘]据说有n多特点,
也支持dos驱动优盘。我做成了软盘,启动时选择了3和4测试,选3 加载失败,选4死机,加载了太多程序兼容

性不行,我又到别处找方法。但是国内说的都乱七八糟,我也就乱七八糟的试验。瞎弄一顿,居然可以用软盘

在dos下加载(usb2.0)u盘了!!!就是不知道为什么?经过n次失败,终于得出了在usb1.1主板上识别我的u盘

的方法(就是不知道为什么?):
device=duse.exe                     
device=USBASPI.SYS
device=Di1000dd.SYS
和前面有什么区别?就是多了一个device=duse.exe,并且必须按照上面顺序,国内的启动盘都没有第一个
所以都驱动不了usb2.0优盘,但是现在usb1.1优盘基本没了,对8

我觉得我这个成果达到了国内领先水平!!!因为我在华军等地方下载的所有启动盘都不能驱动我的usb2.0优

盘。其实就是没有这条命令“device=duse.exe”,或者没把以上三条命令,按我的次序排列!

接着,我又把 duse.exe 升级成最新的4.9
-----------必须加上duse.exe-------------------------------------------------------------  
那个2.06版的usbaspi。sys 加上 /e参数就支持usb2.0的主板呢(ehci),大家都测试一下。

以上内容均是转帖过来的。
duse4.9:http://www.onlinedown.net/soft/19261.htm
usbmass4.05:http://www.quick8.cn/soft/00555.htm
USBASPI.SYS 和Di1000dd.SYS:
http://www.dlgw.net/Soft/UploadSoft/200501/20050101200301296.rar


[ 本帖最后由 xwmkmk 于 2007-10-29 01:45 PM 编辑 ]
回复

使用道具 举报

12#
发表于 2007-10-29 13:09:45 | 只看该作者
-----------必须加上duse.exe-------------------------------------------------------------  
怎么没见你的加上?
请提供上述文件打包下载
回复

使用道具 举报

13#
发表于 2007-10-29 13:13:57 | 只看该作者
楼主整理一下
如果确实普遍可行
加精华置顶
回复

使用道具 举报

14#
发表于 2007-10-29 15:11:08 | 只看该作者
不是很懂啊……是使自己的启动盘更快一点吗?
回复

使用道具 举报

15#
发表于 2007-10-29 18:52:33 | 只看该作者
类似的方法我早就是过了,给搂住一些建议:
在dos下可以用loadsys来加载usb驱动,然后复制u盘中的文件至ramdisk,之后用loadsys卸载usb驱动,在执行grub.exe就不会死机了。
回复

使用道具 举报

16#
 楼主| 发表于 2007-10-29 18:58:04 | 只看该作者
原帖由 fujianabc 于 2007-10-29 06:52 PM 发表
类似的方法我早就是过了,给搂住一些建议:
在dos下可以用loadsys来加载usb驱动,然后复制u盘中的文件至ramdisk,之后用loadsys卸载usb驱动,在执行grub.exe就不会死机了。


多谢提醒
先谢谢啦
我自己用就不想再改了~
复制到ramdisk是肯定不行的
grub4dos没办法定位ramdisk设备
不过可以定位仿真的软驱
我本来想复制到硬盘的
但是通用性不强,例如有的机器根本没分区的新机器就比较麻烦
后来想到用大容量的img软盘镜像..

loadsys的方式留给后来人研究吧~现在没时间做这个啦
回复

使用道具 举报

17#
发表于 2007-10-29 20:25:57 | 只看该作者
原帖由 hytmtet 于 2007-10-29 06:58 PM 发表


多谢提醒
先谢谢啦
我自己用就不想再改了~
复制到ramdisk是肯定不行的
grub4dos没办法定位ramdisk设备
不过可以定位仿真的软驱
我本来想复制到硬盘的
但是通用性不强,例如有的机器根本没分区的新机 ...

我的意思是这个ramdisk不是dos的ramdisk,而是用grub中的map --mem或者memdisk生成的ramdisk,copy当然是在dos下运行的。
另外,grub4dos中还包含了一个hmload.com程序,它可以在dos下生成一个ramdisk,然后在grub4dos下还能使用。
回复

使用道具 举报

18#
 楼主| 发表于 2007-10-29 20:43:55 | 只看该作者
原帖由 fujianabc 于 2007-10-29 08:25 PM 发表

我的意思是这个ramdisk不是dos的ramdisk,而是用grub中的map --mem或者memdisk生成的ramdisk,copy当然是在dos下运行的。
另外,grub4dos中还包含了一个hmload.com程序,它可以在dos下生成一个ramdisk,然后 ...



可以考虑
loadsys制作出来的兼容性应该更高
因为在启动grub.exe之前可以卸载USB驱动
减小了grub.exe启动出错的可能

在自己的机器上试了
无论是否卸载usb驱动
都会造成grub.exe直接启动卡死
卡死是由于内置菜单的find --set-root...命令造成的
因为在加载USB驱动之前,U盘被识别为HD0,0/或者FD0之类的
一旦加载这驱动,导致U盘的原有设备HD0,0/FD0无效
导致grub4dos在搜索hd0,0时卡死(我的机器是hd0,0的)
修改内置菜单
或者用grub --config-file="....."
可以解决这个问题
当然用命令行更方便~
回复

使用道具 举报

19#
 楼主| 发表于 2007-10-29 20:45:56 | 只看该作者
原帖由 zhaohj 于 2007-10-29 01:09 PM 发表
-----------必须加上duse.exe-------------------------------------------------------------  
怎么没见你的加上?
请提供上述文件打包下载


我用过duse和usbmass
直接在dos下就死机了.....
反倒只用那一个驱动,再加一个分配盘符的驱动就没事
速度是2.0的
我测试过
一个52M的ISO文件
从硬盘copy到U盘上花了12秒左右
回复

使用道具 举报

20#
发表于 2007-10-29 22:55:49 | 只看该作者
不成功
提示如图

IMG_14541.JPG (72.61 KB, 下载次数: 354)

IMG_14541.JPG
回复

使用道具 举报

21#
发表于 2007-10-30 09:42:53 | 只看该作者
请问一下,驱动u盘之后,能否直接读取u盘上的pe或者其他的dos盘呢?
就是说,不要把东西复制到ramdisK而直接用grub读取u盘呢?
回复

使用道具 举报

22#
发表于 2007-10-30 10:28:02 | 只看该作者
偶现在好想找到这样的方法,o(∩_∩)o...
强啊,回去试试
方便了没钱买光驱的同胞们啊
回复

使用道具 举报

23#
发表于 2007-10-30 11:32:02 | 只看该作者
建议关心这个问题的可以看一下这个帖子:
http://www.cn-dos.net/forum/viewthread.php?tid=34782&fpage=1
以及其中的链接
http://sysdocs.stu.qmul.ac.uk/sysdocs/Comment/GrubForDOS/
回复

使用道具 举报

24#
发表于 2007-10-30 11:43:55 | 只看该作者
原帖由 fujianabc 于 2007-10-30 11:32 AM 发表
建议关心这个问题的可以看一下这个帖子:
http://www.cn-dos.net/forum/viewthread.php?tid=34782&fpage=1
以及其中的链接
http://sysdocs.stu.qmul.ac.uk/sysdocs/Comment/GrubForDOS/

想到一个方法,可以用hmload在dos下加载一个无盘天使的ramdisk的winpe镜像,然后进grub再找到这个memdisk,然后启动。这样就无须搂住方法那样额外的内存需求了。

[ 本帖最后由 fujianabc 于 2007-10-31 09:32 AM 编辑 ]
回复

使用道具 举报

25#
发表于 2007-10-30 13:54:05 | 只看该作者
让人受益匪浅,大开眼界。盼望高手都出招奋力攻坚。
回复

使用道具 举报

26#
发表于 2007-10-30 22:04:13 | 只看该作者
不是很懂啊……是使自己的启动盘更快一点吗?
还是能使旧板子认U盘了
回复

使用道具 举报

27#
发表于 2007-10-30 22:04:51 | 只看该作者
取决于bios中对u盘的识别是什么意思?是不是,如果主板支持U盘启动,是不是应该在bios中能找到相应的盘符
如果开机时U盘灯不亮。是不是板子不支持u盘启动???

但为什么在板子bios中启动顺序中能找到usb-zip,usb-hdd,usb-fdd,但刚开机时U盘灯不亮,只有出现xp画面u盘灯才亮。,看样板子一开始不认u盘呀,只有系统引导之后,才能认出,这为什么,跟不同牌子的u盘不关吗

[ 本帖最后由 mmck321 于 2007-10-30 10:41 PM 编辑 ]
回复

使用道具 举报

28#
发表于 2007-10-31 08:48:45 | 只看该作者
原帖由 mmck321 于 2007-10-30 10:04 PM 发表
取决于bios中对u盘的识别是什么意思?是不是,如果主板支持U盘启动,是不是应该在bios中能找到相应的盘符
如果开机时U盘灯不亮。是不是板子不支持u盘启动???

但为什么在板子bios中启动顺序中能找到usb-z ...



就是啊,偶也想问这个问题啊,为什么有的BIOS里面明明有USB启动的选项,但是启动的时候,就是启动不了呢???
回复

使用道具 举报

29#
发表于 2007-10-31 10:41:41 | 只看该作者
按照您的方法和步骤,文件名和文件夹名也照搬
前面的程序执行一切顺利
到“if not exist %ypan%:\boot\winpe.is_ goto err”这步,能顺利的把所有文件都copy到虚拟的boot文件夹中,下面的不知道是否执行:
%ypan%:
%ypan%:\loadsys.exe /u
%ypan%:\loadsys.exe /u
cd \boot
grub --config-file="rootnoverify (%dsk%);chainloader (%dsk%)/boot/peldr"
goto ext
………………

出现一闪动光标,什么提示都没有,死机。
失败!
什么原因?请指教!
回复

使用道具 举报

30#
 楼主| 发表于 2007-10-31 10:47:14 | 只看该作者
原帖由 ck 于 2007-10-31 10:41 AM 发表
按照您的方法和步骤,文件名和文件夹名也照搬
前面的程序执行一切顺利
到“if not exist %ypan%:\boot\winpe.is_ goto err”这步,能顺利的把所有文件都copy到虚拟的boot文件夹中,下面的不知道是否执行:
% ...


重新下载附件试试
卸载驱动这次没偷懒
把要卸载的驱动名称也加上去了的
loadsys /u di1000dd.sys
loadsys /u usbaspi.sys

如果还死机
换一个版本的grub.exe试试

因为驱动都卸载了
原则上应该是没问题的
不然就没办法啦
说明grub.exe在你的主板上没办法正常运行
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-27 13:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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