中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [求助]改造自己滴恢复光盘 上一主题 | 下一主题
181801669
初级用户





积分 58
发帖 27
注册 2006-12-7
状态 离线
『楼 主』:  [求助]改造自己滴恢复光盘

以前自己在高人指点下曾经成功搞了个恢复光盘,可以自动在硬盘里寻找特殊文件夹snghost..\正的sn.gho文件来恢复系统,为了对付串口光驱还加上了GCDROM.SYS,可是现在这个驱动又更新成UIDE.SYS了,而且可以用shsucdx.com来转向,本来以为是很简单滴事,改一下就行了,郁闷的是自己改了以后测试的时候就提示Invalid system disk,所以发以前的上来大家帮助改一下看看到底有什么讲究

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
cls
call setramd.bat %LglDrv%
set temp=c:\
set tmp=c:\
path=%RAMD%:\;a:\;%CDROM%:\
copy command.com %RAMD%:\ > NUL
set comspec=%RAMD%:\command.com
copy extract.exe %RAMD%:\ > NUL
copy smartdrv.exe %RAMD%:\ > NUL
copy readme.txt %RAMD%:\ > NUL
copy ghost.exe %RAMD%:\ > NUL

:ERROR
IF EXIST ebd.cab GOTO EXT
echo Please insert Windows 98 Startup Disk 2
echo.
pause
GOTO ERROR

:EXT
%RAMD%:\extract /y /e /l %RAMD%: ebd.cab > NUL
echo The diagnostic tools were successfully loaded to drive %RAMD%.
echo.

LH %ramd%:\MSCDEX.EXE /D:mscd001 /L:%CDROM%
echo.
GOTO QUIT

:QUIT
echo now,we go revovery!
echo.
call rebak.bat


config.sys
[COMMON]
device=himem.sys /testmem:off
device=oakcdrom.sys /D:mscd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:mscd001
device=gcdrom.sys /D:mscd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:mscd001
files=10
buffers=10
dos=high,umb
stacks=9,256
devicehigh=ramdrive.sys /E 2048
lastdrive=z


rebak.bat
tw /np /nm /nw >nul
LH %ramd%:\MSCDEX.EXE /D:mscd001 /L:%CDROM%
smartdrv.exe

REM 判断sn所在分区
set drvnew=
for %%z in (i h g f e d c) do if exist %%z:\snghos~1\sn.gho set drvnew=%%z
if not %drvnew%#==# goto _findnew

:_nosn
REM 判断bak所在分区
set drvold=
for %%c in (i h g f e d c) do if exist %%c:\ghost\bak.gho set drvold=%%c
if not %drvold%#==# goto _findold

:_nobak
echo.
echo       错误: 在你的硬盘中【FAT分区】没有发现任何备份!
echo.
echo       在硬盘中必须有 *.gho 文件, 否则无法恢复!
pause
goto quit


:_findnew
ghost -clone,mode=pload,src=%drvnew%:\snghos~1\SN.gho:1,dst=1:1  -fx -sure -RB

:_findold
ghost -clone,mode=pload,src=%drvold%:\ghost\bak.gho:1,dst=1:1  -fx -sure -RB

:quit

2008-4-3 02:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
181801669
初级用户





积分 58
发帖 27
注册 2006-12-7
状态 离线
『第 2 楼』:  

干脆把自己没有修改成功的也发上来大家看一下
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
cls
call setramd.bat %LglDrv%
set temp=c:\
set tmp=c:\
path=%RAMD%:\;a:\;%CDROM%:\
copy command.com %RAMD%:\ > NUL
set comspec=%RAMD%:\command.com
copy extract.exe %RAMD%:\ > NUL
copy smartdrv.exe %RAMD%:\ > NUL
copy readme.txt %RAMD%:\ > NUL
copy ghost.exe %RAMD%:\ > NUL

:ERROR
IF EXIST ebd.cab GOTO EXT
echo Please insert Windows 98 Startup Disk 2
echo.
pause
GOTO ERROR

:EXT
%RAMD%:\extract /y /e /l %RAMD%: ebd.cab > NUL
echo The diagnostic tools were successfully loaded to drive %RAMD%.
echo.

echo.
GOTO QUIT

:QUIT
echo now,we go revovery!
echo.
call rebak.bat


CONFIG.SYS
device=himem.sys /testmem:off
devicehigh=uide.sys /s40 /D:mscd001
DEVICE=USBASPI.SYS /R
DEVICE=DI1000DD.SYS
DEVICE=USBCD.SYS
dos=high,umb
files=60
buffers=45
stacks=9,256
devicehigh=ramdrive.sys /E 4096
lastdrive=z


rebak.bat
tw /np /nm /nw >nul
LH SHSUCDX /D:?mscd001

REM 判断sn所在分区
set drvnew=
for %%z in (i h g f e d) do if exist %%z:\snghos~1\sn.gho set drvnew=%%z
if not %drvnew%#==# goto _findnew

:_nosn
REM 判断bak所在分区
set drvold=
for %%c in (i h g f e d) do if exist %%c:\ghost\bak.gho set drvold=%%c
if not %drvold%#==# goto _findold

:_nobak
echo.
echo       错误:  貌似在你的硬盘中没有发现任何备份!
echo.
echo       在硬盘中必须有 *.gho 文件, 否则无法恢复!
pause
goto quit

请各位帮帮忙吧

2008-4-3 02:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bc12060101
银牌会员





积分 1455
发帖 712
注册 2006-1-20
状态 离线
『第 3 楼』:  

嘿嘿,楼主认真点,就没有问题了。
自行修改的文件中少了最后的几行:
-----------------------------------------
:_findnew
ghost -clone,mode=pload,src=%drvnew%:\snghos~1\SN.gho:1,dst=1:1  -fx -sure -RB

:_findold
ghost -clone,mode=pload,src=%drvold%:\ghost\bak.gho:1,dst=1:1  -fx -sure -RB

:quit
---------------------------------------------
补上之后,在偶这里测试通过。
嘿嘿,若仅仅是用于恢复备份,批处理文件中的大部分内容都可以删除掉。

2008-4-3 12:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
181801669
初级用户





积分 58
发帖 27
注册 2006-12-7
状态 离线
『第 4 楼』:  

楼上滴兄弟,刚才仔细看了一下,少滴这几行在偶滴IMG文件中是有滴,可能是昨天复制到帖子中出错了,可见问题不在这,兄弟居然测试通过了,可否指点一下是用什么测试滴,或者说能把代码帮忙精简修改一下吗,万分感谢!

2008-4-3 13:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bc12060101
银牌会员





积分 1455
发帖 712
注册 2006-1-20
状态 离线
『第 5 楼』:  

嘿嘿,精简后的:
autoexec.bat
-----------------------------
@ECHO OFF
path=a:\;x:\
tw /np /nm /nw >nul
LH SHSUCDX /D:?mscd001 /l:x

:quit
REM 判断sn所在分区
set drvnew=
for %%z in (i h g f e d) do if exist %%z:\snghos~1\sn.gho set drvnew=%%z
if not %drvnew%#==# goto _findnew

:_nosn
REM 判断bak所在分区
set drvold=
for %%c in (i h g f e d) do if exist %%c:\ghost\bak.gho set drvold=%%c
if not %drvold%#==# goto _findold

:_nobak
echo.
echo       错误:  貌似在你的硬盘中没有发现任何备份!
echo.
echo       在硬盘中必须有 *.gho 文件, 否则无法恢复!
pause
goto quit

:_findnew
ghost -clone,mode=pload,src=%drvnew%:\snghos~1\SN.gho:1,dst=1:1  -fx -sure -RB

:_findold
ghost -clone,mode=pload,src=%drvold%:\ghost\bak.gho:1,dst=1:1  -fx -sure -RB

:quit


config.sys
---------------------------
device=himem.sys /testmem:off
devicehigh=uide.sys /s40 /D:mscd001

vpc测试通过

[ Last edited by bc12060101 on 2008-4-3 at 04:05 PM ]

2008-4-3 16:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
181801669
初级用户





积分 58
发帖 27
注册 2006-12-7
状态 离线
『第 6 楼』:  

兄弟,不好意思,偶出门了才回来,晚上回家测试一下,再告诉你测试结果,兄弟真是热心人一个

2008-4-4 18:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
181801669
初级用户





积分 58
发帖 27
注册 2006-12-7
状态 离线
『第 7 楼』:  

果然测试成功,兄弟不错,是偶学习滴榜样

2008-4-8 14:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bc12060101
银牌会员





积分 1455
发帖 712
注册 2006-1-20
状态 离线
『第 8 楼』:  

楼上滴,若真的要用的话,建议添加两行:把ghost程序拷贝到硬盘上运行,免得累着光驱。

...........
...........
:_findnew
copy x:\ghost.exe %drvnew%:\snghos~1\ghost.exe
ghost -clone,mode=pload,src=%drvnew%:\snghos~1\SN.gho:1,dst=1:1  -fx -sure -RB

:_findold
copy x:\ghost.exe %drvnew%:\ghost\ghost.exe
ghost -clone,mode=pload,src=%drvold%:\ghost\bak.gho:1,dst=1:1  -fx -sure -RB

2008-4-8 17:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
181801669
初级用户





积分 58
发帖 27
注册 2006-12-7
状态 离线
『第 9 楼』:  

这个不要紧,偶在光盘上专门搞了个安装程序,先建立特殊带点文件夹snghost..,再拷贝相关文件到这个文件夹中,不过仍然要感谢兄弟滴好意

2008-4-9 15:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
awera
初级用户





积分 94
发帖 36
注册 2005-9-19
状态 离线
『第 10 楼』:  

嘿嘿。刚好看到

可以用新的光驱驱动啊

不过我也搞不明白到底哪个好

2008-4-10 10:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lfopt
初级用户





积分 71
发帖 34
注册 2008-3-12
状态 离线
『第 11 楼』:  

看不懂,有什么用呀

2008-4-10 11:31
查看资料  发送邮件  发短消息 网志  OICQ (343253490)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: