无忧启动论坛

标题: 经过多日研究,终于搞定USB光驱启动DOS,并在DOS下成功加载USB光驱驱动 [打印本页]

作者: 9622315    时间: 2008-12-28 15:22
标题: 经过多日研究,终于搞定USB光驱启动DOS,并在DOS下成功加载USB光驱驱动
  给朋友组装的监控服务器,由于各方面限制,系统恢复光盘只能用USB光驱装载。我采用GHOST无人值守的恢复方案,为恢复光盘的核心方案,但问题是,USB光驱引导启动DOS,不成问题,也非常简单,只要BIOS支持,就OK,关键在于,仅仅引导DOS是不够的,还要在DOS下驱动起这个USB光驱,因为克隆恢复映像包要从光盘读取,这样就出现了,只要在CONFIG.SYS中加载USB驱动,启动过程中那个虚拟A驱,就会马上丢失,紧接着就是DOS启动宣告失败。其原因在于USB驱动装载后,接替了BIOS对USB设备的管理权,但似乎任务交接出现某些问题,导致USB驱动虽然接替了BIOS对USB设备的管理权,但由于管理方式不同,对于BIOS没有处理完成的任务,采取的处理方式是——撒手不管,这就必然导致上述启动失败的最终必然结果。

  在以上描述中,我们可以看到,问题的核心就是,在USB驱动接替BIOS管理USB设备之前,只要能想办法,把后续引导够过程中可能要用到的文件,转存到另外的地方,并重新设置有关的系统环境变量,就能顺利完成整个启动过程。要解决这个矛盾,最简单的方法就是内存虚拟盘。在这里要提到的就是,用这个方法就不能在CONFIG.SYS中加载USB驱动及USB光驱驱动了,而要在AUTOEXEC.BAT中用DEVICE.COM来加载这些驱动。因为加载内存盘驱动之后的,紧接着要进行的系统文件备份操作,只能在AUTOEXEC.BAT中进行,所以在此之后的一切与装载驱动有关的操作,都只能在AUTOEXEC.BAT中进行,好在有DEVICE.COM这个实用的程序,不然问题就真的无法解决了。

  经过多次试验,终于做成了这张恢复光盘,光盘不但提供系统分区恢复功能,还提供自动分区(用GDISK实现)选项和手动分区(这当要选用大家熟悉的PQMAGIC了)选项,这样即便是新买的硬盘,用这张光盘引导简单几步,就能让机器正常运转工作。大功告成,终于可以休息一下了!

CONFIG.SYS
device=himem.sys /testmem:off
dos=high,umb
files=10
buffers=10
stacks=9,256
devicehigh=uides.sys /D:UIDE
devicehigh=ramdrive.sys /E 1024
lastdrive=z


AUTOEXEC.BAT
@ECHO OFF
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 setramd.bat %LglDrv%
set temp=c:\
set tmp=c:\
path %RAMD%\
copy a:\load\*.* %RAMD%\ > NUL
copy a:\autoexec.bat %RAMD%\ > NUL
copy a:\command.com %RAMD%\ > NUL
set comspec=%RAMD%\command.com
subst a: %RAMD%\
device usbaspi.sys /norst
device usbcd.sys /d:USB
lh mscdex /d:UIDE /d:USB
findcd.exe
lh smartdrv.exe
lh ctmouse.exe
lh tway32.exe
call shell.bat


SETRAMD.BAT
@echo off
set RAMD=
set CDROM=
a:\findramd
if errorlevel 255 goto no_ramdrive
if not errorlevel 3 goto no_ramdrive
goto do_shift
:loop
if errorlevel %1 goto no_shift
:do_shift
shift
shift
if not %1*==* goto loop
goto no_ramdrive
:no_shift
set ramd=%2
goto success
:no_ramdrive
echo The Windows 98 startup disk could not create a temporary drive for the
echo diagnostic tools. This may be because this computer has less than the  
echo minimum required extended memory.  
echo.
:success
set RAMD=%RAMD%:


SHELL.BAT
@ECHO OFF
:start
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo ┌───────────────────────┐
echo │             NDVR监控系统恢复光盘             │
echo │                                              │
echo │             1. 自动分区                      │
echo │             2. Pqmagic手工分区               │
echo │             3. 恢复系统分区到出厂状态        │
echo │             4. 重新启动                      │
echo │             5. 关机                          │
echo └───────────────────────┘
echo.
CHOICE /C:12345 /N /T:5,10 "请选择操作[1/2/3/4/5]:"
if errorlevel 255 goto start
if errorlevel 5 goto shutdown
if errorlevel 4 goto reboot
if errorlevel 3 goto restore
if errorlevel 2 goto pqmagic
if errorlevel 1 goto gdisk
goto start
:gdisk
echo.
echo 自动分区操作将导致硬盘上已有的数据资料全部清除,在
CHOICE /C:yn /N /T:n,10 "确认此操作前请备份重要数据资料,是否继续分区[Y/N]?"
if errorlevel 255 goto start
if errorlevel 2 goto start
if errorlevel 1 goto do_gdisk
goto start
:do_gdisk
%cdrom%
cd ghost11
gdisk 1 /del /all /i /nousb /y
gdisk 1 /batch:fast.txt /i /nousb /y
goto end
:pqmagic
echo.
echo 手动分区操作将导致硬盘上已有的数据资料全部或部分清除,
CHOICE /C:yn /N /T:n,10 "在确认此操作前请备份重要数据资料,是否继续分区[Y/N]?"
if errorlevel 255 goto start
if errorlevel 2 goto start
if errorlevel 1 goto do_pqm
goto start
:do_pqm
%cdrom%
cd pqmagic8
pqmagic
goto end
:restore
echo.
echo 恢复系统分区操作将导致硬盘系统分区上已有的数据资料全部清
CHOICE /C:yn /N /T:n,10 "除,在确认此操作前请备份重要数据资料,是否继续恢复[Y/N]?"
if errorlevel 255 goto start
if errorlevel 2 goto start
if errorlevel 1 goto do_rest
goto start
:do_rest
%cdrom%
cd ghost11
ghost -nousb -noide -clone,mode=pload,src=%cdrom%\ndvr.gho:1,dst=1:1 -batch -sure -rb
goto end
:reboot
reboot
:shutdown
shutdown
:end
reboot

由于附件大小限制,无法上传启动盘img文件与相关程序,需要的话请与我联系。

[ 本帖最后由 9622315 于 2011-2-25 13:59 编辑 ]
作者: a102135    时间: 2008-12-29 12:21
楼主的经验值得我们学习!
作者: icyboy    时间: 2008-12-29 13:27
呵呵 谢谢楼主分享经验
作者: zytlinux    时间: 2008-12-29 17:07
文件能放出来一下看不?
作者: li6915304    时间: 2008-12-29 19:30
这个 问题 还是比较麻烦的 有些电脑 用USB光驱 在DOS下 怎么也找不到 谢谢楼主的分享
作者: zc-lzj    时间: 2008-12-29 21:36
做出来分享一下
作者: 星空无语as    时间: 2008-12-29 22:14
不是很明白...............
作者: victor888    时间: 2008-12-29 22:43
LZ,你搜索一下这里,会发现你的问题早就解决了。
作者: rentong    时间: 2008-12-29 22:50
楼主辛苦了,好经验和心得大家分享真不错啊
作者: shinesai    时间: 2008-12-29 23:16
有你的经验,我们就可以少走弯路了
作者: xzmclb    时间: 2008-12-29 23:43
楼主 你自找麻烦啊 恢复系统量产好的进pe就行了啊  你折腾什么啊
作者: even    时间: 2008-12-31 09:46
ut165主控,我还找不到怎样才能在dos下驱动usbcd
作者: vivi123    时间: 2008-12-31 10:25
深山红叶V30这张光盘启动可以在DOS里面驱动USB光驱,我1年前就试过了!
作者: ldlychenbo    时间: 2009-3-6 11:06
分享你成功的快乐!!!!!!
作者: xpoqx    时间: 2009-10-27 07:32
比较复杂啊,集成啊啊
作者: 渴饮匈奴血    时间: 2009-10-27 21:25
这个真的很重要,楼主具体写一下,大家来参详,目前正具体地准备做一下这个。
作者: zhang0241    时间: 2009-10-28 09:54
比较复杂!!!!!!!!
作者: 9622315    时间: 2011-2-25 15:26
标题: 你说的我知道,我说的你就没仔细看
原帖由 vivi123 于 2008-12-31 10:25 发表
深山红叶V30这张光盘启动可以在DOS里面驱动USB光驱,我1年前就试过了!


你说的是用深山红叶光盘,放在IDE光驱中启动DOS,然后驱动USB光驱,我说的是把这张启动盘放在USB光驱中,从USB启动DOS,然后还要驱动起这个USB光驱。

[ 本帖最后由 9622315 于 2011-2-25 15:27 编辑 ]
作者: 9622315    时间: 2011-2-25 15:32
标题: 回复 #11 xzmclb 的帖子
你傻啦,PE如果好用,谁还用DOS。

我做的是傻瓜式系统恢复盘,电脑白痴,只要认识字,跟着提示,都能恢复。

你可以不用输入任何指令、命令,不要求你懂什么叫分区,什么叫格式化,

甚至你不知道Ghost是啥,PQmagic做啥的也不碍事,一样可以用这张光盘恢复系统,

即便是全新没有分区的硬盘,也可以顺利恢复系统,你用PE做得到么?

[ 本帖最后由 9622315 于 2011-2-25 15:39 编辑 ]
作者: 2011cafechen    时间: 2011-3-23 23:03
与楼主同样需求 已试验过提取文件HD4.IMG进行修改重新封装 并且做成iso文件在vmware下用usb光驱启动引导 都能够在GHOST 11下识别USB光驱及其中的文件 可以完成恢复
但是用本机无法正常运行 光标一直停止在 。。。scanning usb devices。。。现没想明白 看楼主是否能提供详细的解决方案
作者: lcq386@126.com    时间: 2021-12-22 14:03
抄作业了
作者: M_zero    时间: 2023-7-28 19:06
感谢分享




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