无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 123
打印 上一主题 下一主题

按zhaohj要求,做个ggghost备份恢复工具(01.27)

[复制链接]
481#
发表于 2007-10-29 09:42:02 | 只看该作者
我晕,竟然还有形象代言人一说
呵呵
支持zhaohj
回复

使用道具 举报

482#
发表于 2007-10-29 13:19:27 | 只看该作者
非常不错,好用。建议加上自动搜索硬盘 根目录和一级目录下的GHO镜像 让它出显在表栏中 便于隐藏分区中镜像还原
回复

使用道具 举报

483#
发表于 2007-10-29 14:51:03 | 只看该作者
看起来好像还不错的样子
用下看看
回复

使用道具 举报

484#
发表于 2007-10-29 15:10:17 | 只看该作者
可以看到隐藏分区:

但是:
怎样备份GHO镜像到隐藏分区?
怎样从隐藏分区还原GHO镜像?
回复

使用道具 举报

485#
发表于 2007-10-29 15:38:49 | 只看该作者
原帖由 ck 于 2007-10-29 03:10 PM 发表
可以看到隐藏分区:
30798
但是:
怎样备份GHO镜像到隐藏分区?
怎样从隐藏分区还原GHO镜像?
30799


目前只有手动输入,如1:6\sys.gho
回复

使用道具 举报

486#
 楼主| 发表于 2007-10-29 17:15:46 | 只看该作者
原帖由 ck 于 2007-10-29 15:10 发表
可以看到隐藏分区:
30798
但是:
怎样备份GHO镜像到隐藏分区?
怎样从隐藏分区还原GHO镜像?
30799

问题已解决,但有危险性(连C:都能隐藏)
回复

使用道具 举报

487#
 楼主| 发表于 2007-10-29 17:20:45 | 只看该作者
原帖由 oym2007 于 2007-10-29 13:19 发表
非常不错,好用。建议加上自动搜索硬盘 根目录和一级目录下的GHO镜像 让它出显在表栏中 便于隐藏分区中镜像还原

可以考虑,不过如果硬盘文件比较多会不会很慢啊?
回复

使用道具 举报

488#
发表于 2007-10-29 17:38:45 | 只看该作者
原帖由 123 于 2007-10-29 05:15 PM 发表

问题已解决,但有危险性(连C:都能隐藏)

真正完美了。呵呵。辛苦了。
回复

使用道具 举报

489#
发表于 2007-10-29 17:41:25 | 只看该作者
看来我的gghost简化版还需更新一次。
回复

使用道具 举报

490#
 楼主| 发表于 2007-10-29 17:50:47 | 只看该作者
原帖由 lianjiang 于 2007-10-29 17:41 发表
看来我的gghost简化版还需更新一次。

你都简化了还更新什么?
回复

使用道具 举报

491#
发表于 2007-10-29 17:54:44 | 只看该作者
原帖由 123 于 2007-10-29 05:50 PM 发表

你都简化了还更新什么?

支持隐藏分区的格式显示了,上次不是显示出错,在你建议下改用旧版的了。
另外现在能随时隐藏和显示了1,需要时还是很有用的,当然不会用的人可能会出问题。这确实是把双刃剑。搞不好系统要起不来。
回复

使用道具 举报

492#
发表于 2007-10-29 17:55:59 | 只看该作者
要不暂时就不更新gghost简化版了,到时再说。呵呵。
回复

使用道具 举报

493#
 楼主| 发表于 2007-10-29 18:11:23 | 只看该作者
忘了给移动硬盘加颜色,下机了明天搞
回复

使用道具 举报

494#
发表于 2007-10-29 18:15:23 | 只看该作者
原帖由 123 于 2007-10-29 06:11 PM 发表
忘了给移动硬盘加颜色,下机了明天搞


以前那个64K的能否发个上来?谢谢!
回复

使用道具 举报

495#
 楼主| 发表于 2007-10-29 18:40:23 | 只看该作者
帮忙测试一下隐藏C盘后能不能启动,是否能直接GHOST
回复

使用道具 举报

496#
发表于 2007-10-29 19:35:50 | 只看该作者
原帖由 123 于 2007-10-29 05:20 PM 发表

可以考虑,不过如果硬盘文件比较多会不会很慢啊?


这是深度 一健自动搜索GHO镜像的的批处理:

@echo off
set searchfolder=
set object=
set object=%1
for %%a in (r R) do if %2#==-%%a# set searchfolder=Yes
echo       搜索范围:所有存在驱动器的根目录和一级目录>%temp%\me.bak
echo       搜索对象:%1>>%temp%\me.bak
echo       搜索路径:>>%temp%\me.bak
echo.>>%temp%\me.bak
echo.>>%temp%\me.bak
echo.>>%temp%\me.bak
echo  搜索结果:>>%temp%\me.bak
call vtm /T %temp%\me.bak %temp%\menu.bak
wbat fill24,10(1,62)(white on +black) " "
wbat fill16,10(7,62)(white on +black) " " !text17,10@%temp%\menu.bak
wbat text21,16(1,50)(+white on black) "[                                                ]"
for %%a in (folder result) do if exist %temp%\%%a.txt del %temp%\%%a.txt
drvtypes /d>%temp%\drv.txt
type %temp%\drv.txt|find /v "A:"|find /v "B:"|find /v "%RAMDRIVE%" >%temp%\drv.txt
strings linage=linesize %temp%\drv.txt
strings drv=read %temp%\drv.txt,1
if %drv%#==# goto end
strings linage=add %linage%,1
set number=0
:cycle
if %number%#==%linage%# goto next
strings number=add %number%,1
strings drv=read %temp%\drv.txt,%number%
if %drv%#==# goto cycle
dready %drv% /w |if errorlevel 2 goto cycle
echo %drv%>>%temp%\folder.txt
if %searchfolder%#==# goto cycle
dir "%drv%" /ad/b>%temp%\path.txt
strings linepath=read %temp%\path.txt,1
if %linepath%#==# goto cycle
strings linepath=linesize %temp%\path.txt
strings linepath=add %linepath%,1
set pathnum=0
:pcycle
if %pathnum%#==%linepath%# goto cycle
strings pathnum=add %pathnum%,1
strings folder=read %temp%\path.txt,%pathnum%
if %folder%#==# goto pcycle
echo %drv%\%folder%>>%temp%\folder.txt
goto pcycle
:next
for %%a in (searchfolder linage drv number linepath pathnum folder) do set %%a=
strings linage=linesize %temp%\folder.txt
strings linage=add %linage%,1
calc387 49 / %linage%>%temp%\norm.txt
strings norm=read %temp%\norm.txt,1
set guage=1
set number=0
:search
if %number%#==%linage%# goto end
strings number=add %number%,1
strings location=read %temp%\folder.txt,%number%
if %location%#==# goto search
dir "%location%\%object%" /a/b >%temp%\file.txt
strings filenum=read %temp%\file.txt,1
if %filenum%#==# goto guage
strings filenum=linesize %temp%\file.txt
strings filenum=add %filenum%,1
set num=0
:file
if %num%#==%filenum%# goto guage
strings num=add %num%,1
strings file=read %temp%\file.txt,%num%
if %file%#==# goto file
set wz=0
set filesize=
set filedate=
strings filesize=filesize %location%\%file%|if errorlevel 1 goto result
strings filedate=filedate %location%\%file%>nul
strings filesize=div %filesize%,1024
if %filesize%#==0# set filesize=1
strings length=length %filesize%
set div=%filesize%
:div
strings div=div %div%,1024
if not %div%#==0# strings wz=add %wz%,1
if not %div%#==0# goto div
strings wz=add %length%,%wz%
strings wz=sub 38,%wz%
strings filesize=addcommas %filesize%
set filesize=%filesize%KB
:result
set name=%location%\%file%                              
if not %wz%#==0# strings name=left %name%,%wz%
echo %name% %filesize% %filedate%>>%temp%\result.txt
wbat fill24,10(1,62)(white on +black) " " !text24,15 "%name% %filesize% %filedate%"
goto file
:guage
calc387 %guage% + %norm%>%temp%\norm.txt
strings guage=read %temp%\norm.txt,1
strings _dot=filename %guage%
calc387 %guage% * 2 - 1>%temp%\norm.txt
strings percent=read %temp%\norm.txt,1
strings percent=filename %percent%
wbat fill19,26(1,40)(white on +black) " " !text19,26(1,40) "%location%"
wbat fill21,16(1,%_dot%)(white on blue) !text21,39(1,2) "%percent%%%"
goto search
:end
wbat fill21,16(1,50)(white on blue) !text21,39(1,2) "100%%"
for %%a in (gho GHO iso ISO) do if %1#==*.%%a# if exist %temp%\result.txt copy %temp%\result.txt %temp%\%%a.ini /y >nul
for %%a in (drv folder path file norm) do if exist %temp%\%%a.txt del %temp%\%%a.txt
for %%a in (menu me) do if exist %temp%\%%a.bak del %temp%\%%a.bak
for %%a in (linage norm guage number location num file filenum object _dot percent filesize filedate wz length div name) do set %%a=


还原时的批处理:
@echo off
cls
set gpos=4
if exist %temp%\hdd.ini wbat [email=text@%temp%\hdd.ini]text@%temp%\hdd.ini[/email]
if exist %temp%\gho.ini wbat [email=text25@%temp%\gho.ini]text25@%temp%\gho.ini[/email]
if exist %temp%\hdd.ini goto usable
call vtm /P 硬盘没有可用空间。 %temp%\menu.bak
wbat list @%temp%\menu.bak
goto end
:usable
if exist %temp%\gho.ini goto next
:Nogho
call vtm /P 没有发现Ghost映像文件。 %temp%\menu.bak
wbat list @%temp%\menu.bak
goto end
:next

type %temp%\hdd.ini|find "1:"|find "Act" >%temp%\hdd.tmp
if not errorlevel 1 goto active
set actsign=1:1
goto ghofile
:active
strings active=read %temp%\hdd.tmp,1
strings actsign=left %active%,13
strings actsign=right %actsign%,4
for %%a in (%actsign%) do set actsign=%%a
:ghofile
strings ghonum=linesize %temp%\gho.ini
type %temp%\gho.ini|find /i "SYSBACK" >%temp%\gho.tmp
if errorlevel 1 goto default
strings num=linesize %temp%\gho.tmp
if not %num%#==0# goto default
strings gho=read %temp%\gho.tmp,1
if not %gho%#==# set wcb1=0
if not %gho%#==# goto 盘符转换
:default
if %ghonum%#==0# strings gho=read %temp%\gho.ini,1
if %ghonum%#==0# if %gho%#==# goto Nogho
if %ghonum%#==0# goto 盘符转换
:映像选择
echo :yxxz "请选择一个Ghost镜像文件,作为还原点:(取消按Esc键)" [x]>%temp%\me.bak
call vtm /T %temp%\me.bak %temp%\menu.bak
type %temp%\gho.ini>>%temp%\menu.bak
call w.bat [email=list@%temp%\menu.bak:yxxz]list@%temp%\menu.bak:yxxz[/email]
if errorlevel 100 goto end
if %wbat%#==# goto 映像选择
set gho=%wbat%
:盘符转换
echo @echo off>%temp%\part.bat
echo set ghofile=%%1>>%temp%\part.bat
call %temp%\part.bat %gho%
for %%a in (%gho%) do set ghodate=%%a
strings ghoy=right %ghodate%,4
strings ghom=left %ghodate%,2
strings ghodate=left %ghodate%,5
strings ghodate=right %ghodate%,2
strings ghodrv=left %ghofile%,2
if %nofat%#==No# goto Restore
if not exist %temp%\nofatdrv.ini goto end
type %temp%\nofatdrv.ini|find /i "%ghodrv%" >nul
if errorlevel 1 goto Restore
type %temp%\hdd.ini|find /i "%ghodrv%" >%temp%\gho.tmp
strings ghopart=read %temp%\gho.tmp,1
strings ghosign=left %ghopart%,13
strings ghosign=right %ghosign%,4
for %%a in (%ghosign%) do set ghosign=%%a
strings ghoname=length %ghofile%
strings ghoname=sub %ghoname%,2
strings ghoname=right %ghofile%,%ghoname%
set ghofile=%ghosign%:%ghoname%

:Restore
set xz= 有多个Ghost映像存在   [按此重选映像 (&C)))]
if %ghonum%#==0# set xz=.
if %ghonum%#==0# set gpos=3
if %wcb1%#==# set wcb1=1
echo :Restore "还原系统最后确认!" [x]>%temp%\me.bak
echo @将%actsign%区还原到%ghoy%年%ghom%月%ghodate%日备份前状态@>>%temp%\me.bak
echo Ghost映像:%ghofile%>>%temp%\me.bak
echo%xz%>>%temp%\me.bak
echo.>>%temp%\me.bak
echo 还原到(激活)%actsign%区         [按此重选 (&D)))]>>%temp%\me.bak
echo.>>%temp%\me.bak
echo     [! 在还原前,先检测Ghost映像完整性]>>%temp%\me.bak
echo ==========================================>>%temp%\me.bak
echo     [ 开始还原 (&A)]        [ 返回 (&E)]>>%temp%\me.bak
echo :>>%temp%\me.bak
call vtm /T %temp%\me.bak %temp%\menu.bak
call w.bat fix box12 @%temp%\menu.bak:Restore #%gpos%
set gpos=%?%
if %wbat%#==E# goto end
if %wbat%#==C# goto 重选映像
if %wbat%#==D# goto 还原选择
:ghost
call ifs -c
if exist %ramdrive%\quit.bat call quit.bat
if exist ghosterr.txt del ghosterr.txt
set ghoerr=
if %wcb1%#==1# ghost -chkimg,%ghofile% -sure -fx
if %wcb1%#==1# call 错误报告
if not %ghoerr%#==# goto end
ghost -clone,mode=pload,src=%ghofile%:1,dst=%actsign% -sure -fx
call 错误报告 还原系统
goto end
:重选映像
echo :yxxz "请选择一个Ghost镜像文件,作为还原点:(取消按Esc键)" [x]>%temp%\me.bak
call vtm /T %temp%\me.bak %temp%\menu.bak
type %temp%\gho.ini>>%temp%\menu.bak
call w.bat [email=list16@%temp%\menu.bak:yxxz]list16@%temp%\menu.bak:yxxz[/email]
if errorlevel 100 goto Restore
if %wbat%#==# goto 重选映像
set wcb1=0
echo %wbat%|find /i "SYSBACK"|if errorlevel 1 set wcb1=1
set gho=%wbat%
goto 盘符转换
:还原选择
echo :part_num "选择将选定的Ghost映像,还原到哪个区" [x]>%temp%\me.bak
type %temp%\hdd.ini|find /v "%ghodrv%" >>%temp%\me.bak
call vtm /T %temp%\me.bak %temp%\menu.bak
call w.bat list18 @%temp%\menu.bak:part_num
if errorlevel 100 goto Restore
if %wbat%#==# goto 还原选择
strings actsign=left %wbat%,13
strings actsign=right %actsign%,4
for %%a in (%actsign%) do set actsign=%%a
goto Restore
:end
for %%a in (wbat wcb1 gpos num gho ghodrv ghopart ghosign ghoname active actsign ghonum ghodate ghoy ghom ghofile ghoerr xz) do set %%a=
for %%a in (menu.bak hdd.tmp me.bak gho.tmp part.bat) do if exist %temp%\%%a del %temp%\%%a
回复

使用道具 举报

497#
发表于 2007-10-29 19:45:19 | 只看该作者
windows下处理不需要那么麻烦。
回复

使用道具 举报

498#
发表于 2007-10-29 19:46:39 | 只看该作者
原帖由 123 于 2007-10-29 06:40 PM 发表
帮忙测试一下隐藏C盘后能不能启动,是否能直接GHOST

原来以为隐藏了C:\后会无法启动,没想试了一下,竟然可以。重启后并没隐藏。
回复

使用道具 举报

499#
 楼主| 发表于 2007-10-29 20:11:48 | 只看该作者
所有隐藏重启后都还原吗?那GHOST呢
回复

使用道具 举报

500#
发表于 2007-10-29 21:05:44 | 只看该作者
刚才测试了一下,隐藏系统盘后,重启。直接用光驱启动,显示分区信息,发现系统所在主分区并没隐藏。
由此可以说明,windows下进行的隐藏系统所在分区的操作,实际上是无效的。操作时显示出的隐藏是个形式上的隐藏,是个假象。当然这个结果更理想,就不怕新手误操作了。
本来想在隐藏后,直接用dsptw来查看硬盘信息,由于被隐藏,无法执行。
隐藏操作对其他分区是有效的。
回复

使用道具 举报

501#
 楼主| 发表于 2007-10-29 21:23:11 | 只看该作者
那隐藏C盘后到底能不能在XP里对C盘GHOST
回复

使用道具 举报

502#
发表于 2007-10-29 21:29:00 | 只看该作者
ghost应无影响,本来就没隐藏,重启动后的操作与没隐藏是一样的。
回复

使用道具 举报

503#
发表于 2007-10-29 21:35:09 | 只看该作者
还是不动分区表为妙,win下临时mount隐藏分区是可以的,但不要真的写分区表。
回复

使用道具 举报

504#
发表于 2007-10-29 21:41:21 | 只看该作者
原帖由 wang6610 于 2007-10-29 09:35 PM 发表
还是不动分区表为妙,win下临时mount隐藏分区是可以的,但不要真的写分区表。


真写麻烦就大了,呵呵。
回复

使用道具 举报

505#
 楼主| 发表于 2007-10-29 21:44:21 | 只看该作者
我隐藏后桌面消失,跟拔掉硬盘没两样,完全有可能GHOST!甚至可以把盘符改成D
回复

使用道具 举报

506#
发表于 2007-10-29 21:58:41 | 只看该作者
隐藏C:\后,能做的事只有一件,那就是关机。其他操作已经无法进行了。windows下备份当然也是不可能得了。
回复

使用道具 举报

507#
发表于 2007-10-29 21:59:25 | 只看该作者
嗯,不错,越来越强大了。
测试发现移动硬盘显示颜色也是黑色,并非介绍上写的灰色
回复

使用道具 举报

508#
 楼主| 发表于 2007-10-29 22:04:58 | 只看该作者
难道就不能在隐藏前先运行GHOST,隐藏后再用刚才运行的GHOST还原吗?难道一隐藏GHOST就立刻自动退出?
回复

使用道具 举报

509#
 楼主| 发表于 2007-10-29 22:16:17 | 只看该作者
要不是我现在没有电脑我才不会跟你说那么多废话,上次也是想当然的以为INI必须可写
回复

使用道具 举报

510#
发表于 2007-10-30 11:07:40 | 只看该作者
测试了一下,启动PE,运行GGGHOST,隐藏c盘,关机启动XP系统,正常启动。再关机启动PE,看到原C盘没有隐藏。

我再测试一下,启动PE,运行GGGHOST,隐藏c盘,关机重启到PE,看看C盘有没有隐藏
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 09:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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