无忧启动论坛

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

关于加速U盘版XPE的简易方法

[复制链接]
跳转到指定楼层
1#
发表于 2008-4-9 22:55:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
玩U盘上的操作系统很久了。(具体可在中国DOS联盟里看我的帖子)。一直苦于U盘上的系统启动慢,前两天在无忧这里看到有人提到过先在DOS下驱动USB2.0然后再加载XPE,其实我以前很早想到过该方法,但一直没有把自己的威刚2G的U盘驱动成功,最后用了兼容性最好的usbaspi.sys和aspidisk.sys将它驱动了,方法是这样的,希望对大家有所帮助:先用xmsdsk作一个内存盘,盘符定为M,这样的好处就是驱动成功的U盘盘符将为N或N以后的,这点很重要,如果没有同时有两个以上的USB,那么驱动的U盘盘符一定为N。至少我这里试过多种机器。我驱动USB2.0的批命令为USB2.BAT,内容是:@echo off
xmsdsk 1440 M: /y >nul
mkdir m:\usb2 >nul
copy \command.com m:\ /y >nul
copy \dos\usb2\usb2ok.bat m:\usb2 /y >nul
copy \dos\usb2\aspidisk.sys m:\usb2 /y >nul
copy \dos\usb2\usbaspi.sys m:\usb2 /y >nul
copy \dos\usb2\loadsys.exe m:\usb2 /y >nul
set comspec=M:\command.com >nul
m:
\usb2\usb2ok.bat  其中usb2ok.bat的内容是:@echo off
cls
echo Loading USB2.0 driver now.
echo Waitting...
m:
cd \usb2
loadsys usbaspi.sys /e /v /norst >nul
loadsys aspidisk.sys >nul
set drive=n:
PATH=.\;%drive%\;%drive%\dos;%drive%\boot;%drive%\boot\media;%drive%\boot\net;%drive%\boot\ext
%drive%
cd \boot
echo Now USB disk is: %drive%
echo.    以上部分中,我将几个程序都放在\dos\usb2下,drive变量是我在autoexec.bat里定义的,最初为A(USB_ZIP),或者为C(USB_HDD),还未改进的地方是当有两个以上USB接上时的判断,没有时间写好,请有空的兄弟们修改后再分享给大家,这样U盘驱动为2.0,并有了盘符,再用GRUB4DOS或其他方法装入XPE或其它较大的IMG就行了。以下是我的autoexec.bat,config.sys,和menu.lst
2#
 楼主| 发表于 2008-4-9 22:55:51 | 只看该作者

autoexec.bat

@echo off
cls
set drive=a:

path=.\;%drive%\;%drive%\dos;%drive%\boot;%drive%\boot\media;%drive%\boot\net;%drive%\boot\ext
doskey > NUL
IF "%config%"=="nothing" GOTO nothing
IF "%config%"=="cdrom" GOTO cdrom
IF "%config%"=="tools" GOTO tools
IF "%config%"=="airen" GOTO airen
IF "%config%"=="network" GOTO network
IF "%config%"=="internet" GOTO internet
IF "%config%"=="wince" GOTO wince
IF "%config%"=="win32" GOTO win32
IF "%config%"=="win98" GOTO win98
IF "%config%"=="winxpe" GOTO winxpe
IF "%config%"=="pc3000" GOTO pc3000

:nothing
echo.
echo.
echo     Please type "menu" if enter *CHINESE DOS ENVIRONMENT*.
echo.
echo.
echo.
echo.
GOTO END

:cdrom
LH %drive%\DOS\MSCDEX.EXE /D:MSCD000 /S /K
GOTO END

:tools
xmsdsk 16000 /y
set EXPAND=YES
set DIRCMD=/O:N
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
call %drive%\dos\setramd.bat %LglDrv%
path=%path%;%RAMD%:\
set temp=%RAMD%:\
set tmp=%RAMD%:\
copy %drive%\command.com %RAMD%:\ >NUL
set comspec=%RAMD%:\command.com
LH %drive%\DOS\MSCDEX.EXE /D:MSCD000 /S /K >NUL
prompt CD=%CDROM%:_RAM=%RAMD%:_$p$g
%drive%
%drive%\boot\tw /np /n3 > nul
cls
cd \
echo.
echo              超级系统维护与多媒体工具箱
echo  ==================================================
echo  +   系统维护工具...............     \boot        +
echo  +   多媒体软件.................     \boot\media  +
echo  +                                                +    .::::.
echo  ================================================== .::::::::.
echo      DOS下的多媒体软件:                            :::::::::::
echo         请直接输入:qv / pv / sea。其中qv是查看     ':::::::::::..
echo      图片与电影的最佳软件; sea看图不错;pv也是      :::::::::::::::'
echo      一个看图软件,功能较强大。另外还有一些其他       ':::::::::::.
echo      软件,详细内容见\boot\media。                      .::::::::::::::'
echo                                                       .:::::::::::...
echo                                                      ::::::::::::::''
echo                                           .:::.       '::::::::''::::
echo                                         .::::::::.      ':::::'  '::::
echo                                        .::::':::::::.    :::::    '::::.
echo                                      .:::::' ':::::::::. :::::      ':::.
echo                                    .:::::'     ':::::::::.:::::       '::.
echo                                  .::::''         '::::::::::::::       '::.
echo                                 .::''              '::::::::::::         :::...
echo                              ..::::                  ':::::::::'        .:' ''''
pause >nul
%drive%\boot\tw/q > nul
cls
GOTO END

:airen
xmsdsk 16000 /y
path=%path%;%RAMD%:\;%drive%\boot\boot\airen
set EXPAND=YES
SET DIRCMD=/O:N
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
call %drive%\dos\setramd.bat %LglDrv%
set temp=%RAMD%:\
set tmp=%RAMD%:\
copy %drive%\command.com %RAMD%:\ >nul
set comspec=%RAMD%:\command.com
LH %drive%\DOS\MSCDEX.EXE /D:MSCD000 /S /K >NUL
prompt CD=%CDROM%:_RAM=%RAMD%:_$p$g
%drive%
cd boot\boot\airen
menu
echo.
GOTO END

:network
path=%path%;%drive%\boot\boot\lan
%drive%
cd %drive%\boot\boot\lan
%drive%\BOOT\BOOT\LAN\net initialize
%drive%\BOOT\BOOT\LAN\netbind.com
%drive%\BOOT\BOOT\LAN\umb.com
%drive%\BOOT\BOOT\LAN\tcptsr.exe
%drive%\BOOT\BOOT\LAN\tinyrfc.exe
%drive%\BOOT\BOOT\LAN\nmtsr.exe
%drive%\BOOT\BOOT\LAN\emsbfr.exe
%drive%\BOOT\BOOT\LAN\net start
GOTO END

:internet
%drive%
cd boot\net
%drive%\boot\NET\NETCARD\rtspkt 0x60
cls
%drive%\boot\tw /np /n3 > nul
cd \
echo.
echo                  DOS下畅游网络
echo  ==================================================
echo  +   请输入如下命令:                             +
echo  +       lynx    文本方式浏览器                   +
echo  +       www     图形方式浏览器(不支持中文)       +    .::::.
echo  +       ftp     DOS下的文件传输工具              + .::::::::.
echo  ================================================== :::::::::::
echo                                                     ':::::::::::..
echo                                                      :::::::::::::::'
echo                                                       ':::::::::::.
echo                                                         .::::::::::::::'
echo                                                       .:::::::::::...
echo                                                      ::::::::::::::''
echo                                           .:::.       '::::::::''::::
echo                                         .::::::::.      ':::::'  '::::
echo                                        .::::':::::::.    :::::    '::::.
echo                                      .:::::' ':::::::::. :::::      ':::.
echo                                    .:::::'     ':::::::::.:::::       '::.
echo                                  .::::''         '::::::::::::::       '::.
echo                                 .::''              '::::::::::::         :::...
echo                              ..::::                  ':::::::::'        .:' ''''
pause >nul
%drive%\boot\tw/q > nul
cls
GOTO END

:wince
xmsdsk 1440 M: /y >nul
copy \boot\boot\wince\wince.bat m:\ /y >nul
M:\WINCE.BAT
GOTO END

:win32
@ECHO OFF
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
%drive%\BOOT\BOOT\win32\TM /R=30 /D=250 > NUL
LH %drive%\DOS\MSCDEX.EXE /D:MSCD000 /S /K > NUL
LH %drive%\BOOT\DOSKEY > NUL
LH %drive%\BOOT\CTMOUSE > NUL
LH %drive%\BOOT\BOOT\win32\ESCAPE  > NUL
CALL %drive%\BOOT\BOOT\win32\WIN.BAT
GOTO END

:win98
@ECHO OFF
cls
LH %drive%\DOS\MSCDEX.EXE /D:MSCD000 /S /K >NUL
lh %drive%\BOOT\TW /np /n3 > nul
SET EXPAND=YES
SET DIRCMD=/O:N
SET TEM=%ramd%:\
SET TEMP=%ramd%:\
SET RAMD=Y
SET CDROM=A
XMSDSK 64000 Y: /y /t > NUL
PATH=%path%;%drive%\BOOT\BOOT\WIN98;%RAMD%:\;%cdrom%:\
GOTO START
::
IF %CDROM%#==# GOTO NORAM
:NORAM
%drive%\BOOT\BOOT\WIN98\SRC/R
:START
%drive%\BOOT\TW /np /n3 >nul
echo.
echo.
echo  正在装载Windows98...
echo.
echo  请稍等...
echo.
echo.
%drive%\boot\lfn.com > nul
copy %drive%\BOOT\BOOT\win98\mini98.exe Y: > nul
y:
mini98.exe /y > nul
del mini98.exe
%drive%\boot\lfn /u > nul
%drive%\boot\tw /q >nul
cls
%drive%\dos\smartdrv.exe /double-buffer /d+ > nul
%drive%\BOOT\BOOT\win98\label Y: mini98
cd \mini98
win
GOTO END

:winxpe
cls
%drive%
cd boot\grub
rem grub --config-file="#@a:\boot\grub\menu.lst"
rem grub --config-file="(fd0)/boot/grub/menu.lst"
grub --config-file="(fd0)/boot/grub/menu/mainmenu.lst"
GOTO END

:pc3000
%drive%
\BOOT\DISKTOOL\PC3000\EMUL\VGAGA.EXE
rem 下面一行看一下说明
\BOOT\DISKTOOL\PC3000\EMUL\PCDOSEMU.COM 1
rem 下面一行显示中文,否则就是俄文
\BOOT\DISKTOOL\PC3000\EMUL\VGAGA.COM
@ECHO OFF
PATH=%path%;\BOOT\DISKTOOL\PC3000\PC3000;\BOOT\DISKTOOL\PC3000\DOS
CD \BOOT\DISKTOOL\PC3000\PC3000
SHELL
cd \boot
GOTO END

:END
回复

使用道具 举报

3#
 楼主| 发表于 2008-4-9 22:56:26 | 只看该作者

config.sys

[menu]
menuitem=nothing,Nothing.
menuitem=cdrom,  DOS Prompt.                       #===========================#
submenu=dosext,  DOS Extend...                     #    Welcome to Udisk OS    #
menuitem=wince,  GUI Windows CE.                   #===========================#
menuitem=win32,  GUI Windows 32.                   #             minchengan    #
menuitem=win98,  GUI Windows 98.                   #              2007.10.1    #
menuitem=winxpe, WindowsXPE+Linux.                 #===========================#

menudefault=nothing,10
menucolor=2

[dosext]
menuitem=tools, Supper System and Media tools.
menuitem=airen, Supper AiRen ToolsBox in here.
menuitem=pc3000, Supper Disk Repair Tools(PC3000).
menuitem=network, 8139/8130 adapter with Local Network.
menuitem=internet, WWW/FTP/MAIL(lynx/arachne/ftp) Rtl8139 Adapter.

[nothing]

[cdrom]
devicehigh=\himem.sys
devicehigh=\dos\emm386.exe
devicehigh=\dos\vide-cdd.sys /D:mscd000

[tools]
devicehigh=\himem.sys
devicehigh=\dos\emm386.exe
rem devicehigh=\dos\password.sys
rem password:_73tM31n
devicehigh=\dos\vide-cdd.sys /D:mscd000

[airen]
devicehigh=\himem.sys
devicehigh=\dos\emm386.exe
rem devicehigh=\dos\password.sys
devicehigh=\dos\vide-cdd.sys /D:mscd000

[network]
devicehigh=\ifshlp.sys
devicehigh=\himem.sys
devicehigh=\dos\emm386.exe
rem devicehigh=\dos\password.sys
LASTDRIVE=Z

[internet]
devicehigh=\himem.sys
devicehigh=\dos\emm386.exe
rem devicehigh=\dos\password.sys

[wince]
break=on
device=\himem.sys /testmem:OFF

[win32]
rem DEVICEHIGH=\DOS\PASSWORD.SYS
DEVICEHIGH=\DOS\ECHO.SYS W/e/l/c/o/m/e /t/o W/i/n/d/o/w/s /3/./2...
DEVICEHIGH=\HIMEM.SYS /EISA /INT15=256
DEVICEHIGH=\DOS\ZENO.EXE
DEVICEHIGH=\DOS\EMM386.EXE
DEVICEHIGH=\DOS\VIDE-CDD.SYS /D:MSCD000
SHELL=\COMMAND.COM /P /E:640
LASTDRIVE=32
SET TEMP=\BOOT\BOOT\WIN32\TEMP
SET TMP=\BOOT\BOOT\WIN32\TEMP
SET COMSPEC=\COMMAND.COM
COMMENT Made by Minchengan.
COMMENT All rights reserved. 2006.12.31.

[win98]
devicehigh=\himem.sys
devicehigh=\dos\emm386.exe
rem devicehigh=\dos\password.sys
devicehigh=\dos\vide-cdd.sys /D:mscd000
SHELL=\COMMAND.COM /P /E:640
SET TMP=.
SET TEMP=.
COMMENT Made by Minchengan.
COMMENT All rights reserved. 2006.12.31.

[winxpe]
devicehigh=\himem.sys

[pc3000]
DEVICE=\BOOT\DISKTOOL\PC3000\dos\HIMEM.SYS
DEVICE=\BOOT\DISKTOOL\PC3000\dos\EMM386.EXE RAM
DOS=HIGH,UMB
FILES=60

[COMMON]
rem devicehigh=\ifshlp.sys
numlock=off
files=30
buffers=30,0
dos=high,umb,AUTO
stacks=9,256
回复

使用道具 举报

4#
 楼主| 发表于 2008-4-9 22:57:30 | 只看该作者

menu.lst(其实我将其命名为mainmenu.lst)

#find --set-root /RXPE.LDR
color white/green yellow/green
timeout 10
default 0
splashimage /boot/grub/splash.gz
#splashimage /boot/grub/splash.xpm
fontfile /boot/grub/fonts.gz
foreground 00ff00

title 00. WindowsXPE
chainloader /RXPE.LDR
boot

title 01. LINUX=>KEYlinux
kernel /BOOT/GRUB/boot/keylinux
boot

title 02. LINUX=>CDlinux
map --mem /boot/grub/boot/cdlinux.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 03. LINUX=>MClinux
map --mem /boot/grub/boot/mclinux.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 04. 多媒体播放系统
kernel /GEEXBOX/vmlinuz root=/dev/ram0 rw init=linuxrc boot=sda vga=789 splash=silent video=vesafb:ywrap,mtrr
initrd /GEEXBOX/initrd.gz
boot

title 05. 经典MSDOS 7.10
map --mem /boot/grub/boot/dos71.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 06. MSDOS-SATA支持
map --mem /boot/grub/boot/sata.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 07. 日文DOS(JPDOS)
map --mem /boot/grub/boot/JPDOS.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 08. MAXDOS Ver6 SE
map --mem /boot/grub/boot/maxdos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 09. NTFS系统维护盘
map --mem /boot/grub/boot/sbmsr400.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 10. 万能网络启动盘
map --mem /boot/grub/boot/network.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 11. 深山红叶工具箱
map --mem /boot/grub/boot/sshy.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 12. 效率源硬盘修复
map --mem /boot/grub/boot/xly30.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 13. 金海硕硬盘修复
map --mem /boot/grub/boot/jhs2007.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 14. 内存检测工具
chainloader /BOOT/GRUB/boot/WINDIAG

title 15. 加载光盘映像
#map (hd0,1)/myiso.iso (hd32)
map (fd0)/myiso.iso (hd32)
map --hook
chainloader (hd32)
boot

### title 启动DOS/Windows 95/98/Me
#find --set-root /io.sys
#chainloader /io.sys

title 16. 从硬盘启动
# Boot from Hard Drive (hd0,0)
rootnoverify (hd0,0)
makeactive
chainloader +1

### title Microsoft Windows NT/2K/XP
#find --set-root /ntldr
#chainloader /ntldr

### title Microsoft Windows Vista
#find --set-root /bootmgr
#chainloader /bootmgr

title 17. 返回主菜单
chainloader /IO.SYS

title 18. 重启计算机
reboot

title 19. 关闭计算机
halt
回复

使用道具 举报

5#
发表于 2008-4-10 13:23:31 | 只看该作者
绝对牛逼的很哦!!
我支持!!
回复

使用道具 举报

6#
发表于 2008-4-10 13:31:01 | 只看该作者
牛人牛贴,谢谢
回复

使用道具 举报

7#
发表于 2008-4-10 14:54:00 | 只看该作者
高,行家里手.什么时候楼主发上成品"工具箱"让大家分享?
回复

使用道具 举报

8#
发表于 2008-4-10 14:58:13 | 只看该作者
支持LZ出成品====================
懒人有福了=====================
回复

使用道具 举报

9#
 楼主| 发表于 2008-4-15 21:12:55 | 只看该作者
其实成品早出来了,只是目前想提高启动的速度,用我的一楼的方法,现在遇到了问题,就是GRUB4DOS中MAP的路径问题,有人说是GRUB4DOS跟USB2.0驱动不兼容,反正这个地方现在卡住了。如果不提速的话,我的XPE启动在865CPU,256M内存的机器上要近3分钟才能启动。所以速度必须要突破。
回复

使用道具 举报

10#
发表于 2008-4-22 19:01:22 | 只看该作者
LZ一楼的方法我试了,不行。U盘虽然有了盘符,用GRUB4DOS或其他方法装入XPE或其它较大的IMG执行失败。主要原因,USBASPI.sys加载后会重置盘符,使grub的find set-root执行成问题,找不到RXPE.LD的。
回复

使用道具 举报

11#
发表于 2008-4-22 19:53:04 | 只看该作者
LZ的意思是,只能有一个USB了,如果用USB鼠标的话,就没戏了?
回复

使用道具 举报

12#
 楼主| 发表于 2008-4-23 08:57:54 | 只看该作者
接USB键盘鼠标时,还有两个以上USB口接U盘时这些情况都 没有试验,前面只是提供一个方法,共大家共同研究
回复

使用道具 举报

13#
发表于 2008-4-23 09:28:38 | 只看该作者
本论坛有先加载USB2.0再启动PE的帖子
分别有grub4dos访问空白(剩余空间很大)大容量IMG的方法
还有就是用HMLOAD的方法

盘符判断部分
楼主可以参考一下论坛内的作品


用xmsdsk的以前也做过
有的时候这驱动和grub4dos有冲突
所以后来就不用xmsdsk了

楼主的办法只适合U盘有一个分区
盘符固定的方法
加上判断语句来实现多个U盘分区/移动硬盘的情况

或者干脆提取驱动成功后里面的提示信息
把盘符信息提取出来
论坛的作品中有
自己找找吧
回复

使用道具 举报

14#
发表于 2008-4-23 09:52:29 | 只看该作者
期待成品,这样U盘启动就不用那样痛苦了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-29 17:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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