中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » GHOST如何自动定位作后一个分区
作者:
标题: GHOST如何自动定位作后一个分区 上一主题 | 下一主题
skybolt
新手上路





积分 12
发帖 5
注册 2007-5-14
状态 离线
『楼 主』:  GHOST如何自动定位作后一个分区

前提:在硬盘最后一个分区的GHOST目录下有一个名为BF.GHO的备份(硬盘4个分区都是NTFS格式)。
假设已经知道硬盘有4个分区,使用GHOST访问最后一个分区的GHOST\BF.GHO实现全自动恢复的方法为:
Ghost.exe -clone,mode=pload,src=1:4:\ghost\bf.gho:1,dst=1:1 -fx -sure -rb

如果不知道硬盘有4个分区,假设GHOST有一个参数:lastp 表示最后一个分区,则我们就可以用以下命令实现自动还原:
Ghost.exe -clone,mode=pload,src=lastp:\ghost\bf.gho:1,dst=1:1 -fx -sure -rb

事实上,GHOST有没有这个参数?要是有的话是什么?该怎么用?或者通过什么方法实现(分区是NTFS)?

小菜期待大虾解决!谢谢!鞠躬!

2008-1-4 12:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

难度非常高且没有具有100%通用性的代码
最好的方法,在Windows下先定位ghost\bf.gho盘号并生成一个ghost还原参数的批处理文件,纯DOS下加载ntfs驱动直接调用该批处理,获取盘号参考此贴10楼
http://www.cn-dos.net/forum/viewthread.php?tid=36493&fpage=4



第一高手    第二高手

2008-1-4 12:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
skybolt
新手上路





积分 12
发帖 5
注册 2007-5-14
状态 离线
『第 3 楼』:  

感谢葱大虾,期待GHOST自己解决这个参数了。

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




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 4 楼』:  

不适用于全部分区是NTFS格式的,只供参考:
@echo off
:: BOOT.INI
attrib c:\boot.ini -s -h -r -a
if not exist c:\boot.ini goto end
for /f "eol=; delims== tokens=1" %%a in ('type c:\boot.ini ^|findstr "multi"') do @set multi=%%a
if %multi%*==* goto end
for /f "tokens=6 delims=()" %%a in ('type c:\boot.ini^|findstr /i "rdisk"') do @set rd=%%a
if "%rd%"=="1" set rdisk=2
if "%rd%"=="0" set rdisk=1
for /f "tokens=8 delims=()" %%a in ('type c:\boot.ini 2^>nul^|findstr /i "partition"') do @set partition=%%a

:: Lastdrive
setlocal EnableDelayedExpansion
set drives= CDEFGHIJKLMNOPQRSTUVWXYZ
for /f %%i in ('wmic logicaldisk where "drivetype=3" get FileSystem ^| find /c "FAT"') do set lastdrive=!drives:~%%i,1!:
if %lastdrive%*==C:* goto end
if %lastdrive%*== :* goto end

:: BACKUP
if not exist %lastdrive%\BACKUP\nul md %lastdrive%\BACKUP
copy Ghost32.exe %lastdrive%\BACKUP /y>nul
copy GhostExp.exe %lastdrive%\BACKUP /y>nul

:: CREATE.TXT
echo -CLONE,MODE=PCREATE,SRC=%rdisk%:%partition%,DST=%lastdrive%\BACKUP\H%rdisk%P%partition%.GHO>%lastdrive%\BACKUP\CREATE.TXT
echo -SKIP=\PAGEFILE.SYS>>%lastdrive%\BACKUP\CREATE.TXT
echo -SURE>>%lastdrive%\BACKUP\CREATE.TXT
echo -RB>>%lastdrive%\BACKUP\CREATE.TXT

:: RESTORE.TXT
echo -CLONE,MODE=PRESTORE,SRC=%lastdrive%\BACKUP\H%rdisk%P%partition%.GHO:1,DST=%rdisk%:%partition%>%lastdrive%\BACKUP\RESTORE.TXT
echo -SURE>>%lastdrive%\BACKUP\RESTORE.TXT
echo -RB>>%lastdrive%\BACKUP\RESTORE.TXT

:end
attrib c:\boot.ini +s +h -a
set multi=
set rd=
set partition=
set drives=
set lastdrive=
[ Last edited by chishingchan on 2008-1-7 at 08:37 AM ]

2008-1-7 08:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: