无忧启动论坛

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

[求助] 怎么实现在WIN系统下全自动备份C盘,求指点

[复制链接]
跳转到指定楼层
1#
发表于 2011-9-30 14:57:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自动还原系统我简单的思路和做法是

用grub只做个GHLDR引导做好的GHOST.IMG  
IMG里面设置好自动还原的AUTOEXEC.BAT(ghost.exe -clone,mode=pload,src=1:2\xfghost\xf.gho:1,dst=1:1 -fx -sure -rb )   
然后用BAT将做好的boot.ini替换boot.ini来实现在系统下重启一键还原系统.
attrib c:\boot.ini -h -r -s
copy boot.ini c:\
copy ghldr c:\
copy ghost.img c:\
shutdown -r -t 10

自动还原没问题,不过自动备份就没办法了,因为我是通过替换修改boot.ini来实现的,
[boot loader]
timeout=3
default=c:\ghldr
[operating systems]
c:\ghldr=自动备份系统
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff


这样的话是可以自动备份,不过备份完又反复自动循环备份,没办法重启后只备份一次后选择正常进入WIN系统.


请教下有什么简单点的办法可以实现在windows系统桌面下实现全自动备份,过程不用人手工干预,各位高手的一键备份是怎么做的,感谢指教.
怎么让重启后只执行一次的boot.ini默认修改启动=C:\ghldr,然后在ghost自动备份后又恢复到正常boot.ini的启动
[boot loader]
timeout=4
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff
2#
发表于 2011-9-30 18:11:12 | 只看该作者
我是菜鸟,你说的我不懂。

不过,我用的是虚拟还原软件,可以设置每隔1个小时自动建立一个还原点,无需干预,若要还原系统,可以随时选择以前建立的任意一个还原点还原,可选还原系统盘或者全盘。

还可以使用2011版影子系统,可以对任意一个分区或者某几个、或者所有分区进行影子保护。重启后被保护分区所做的修改统统消失。

[ 本帖最后由 2011fmzc 于 2011-9-30 18:15 编辑 ]
回复

使用道具 举报

3#
发表于 2011-9-30 18:49:12 | 只看该作者

标题

用pecmd的命令功能创建一配置文件置于开始菜单程序启动目录下实现开机自启,搜索所有分区下的备份文件,存在则使用正常boot.ini下次启动正常进系统,反之替换含备份菜单的boot.ini文件下次启将实现自动备份!
回复

使用道具 举报

4#
 楼主| 发表于 2011-10-1 15:56:03 | 只看该作者
谢谢楼上热心的朋友帮忙

如果有含自动备份菜单的BOOT.INI替换原来BOOT.INI后,重启动后能自动先启动GHOST进行备份.
但GHOST自动备份后重启动还是用含备份菜单的BOOT.INI启动,而BOOT.INI没有变,这样一来,如果没人动,NTLDR读BOOT.INI时就一直先备份,然后又一直重启,反复循环.

怎么让boot.ini重启后只修改一次并执行?
或者在GHOST自动备份结束后用什么办法把从win系统启动boot.ini再替换修改过的boot.ini?
还是不是很明白
回复

使用道具 举报

5#
发表于 2011-10-1 16:25:09 | 只看该作者
被楼主搞的好纠结,为boot.ini下一定要原来的呢,不明白

[ 本帖最后由 2010ksharpdabu 于 2011-10-5 10:58 编辑 ]
回复

使用道具 举报

6#
发表于 2011-10-1 17:45:45 | 只看该作者
反过来。。。不是备份后再修改boot.ini,而是先修改boot.ini再备份——启动进入备份系统,备份系统修改boot.ini然后备份,重启进入正常系统,再修改boot.ini,重启重复以上过程...。。
回复

使用道具 举报

7#
发表于 2011-10-5 06:04:43 | 只看该作者
echo [boot loader] >>boot.ini
echo timeout=4 >>boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >>boot.ini
echo [operating systems] >>boot.ini
echo multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff >>boot.ini

copy boot.ini c:\
attrib c:\boot.ini +h +r +s

GHOST -clone,mode=pdump,src=1:1,dst=1.2:\xfghost\xf.gho -z2 -sure -rb

不明白楼主为什么要这么做!!

[ 本帖最后由 jh1688 于 2011-10-5 06:20 编辑 ]
回复

使用道具 举报

8#
 楼主| 发表于 2011-10-12 21:53:31 | 只看该作者
原帖由 2010ksharpdabu 于 2011-10-1 16:25 发表
被楼主搞的好纠结,为boot.ini下一定要原来的呢,不明白


我只是想在Windows系统下能点一下鼠标就能自动备份好一次C盘,在GHOST备份完系统能再进入系统。
要求过程中全部自动化,不需要人工干预,用不用原来的boot.ini都可以,只要能实现

是这样的,公司和客户装商用软件,装完后要做系统备份,但我想将系统备份更简单化点,只要装好软件后在系统运行一下BAT就可以了,不用说我先重启动,然后按F8进到boot.ini选项,再用手选择一键备份,我想省去这一步。
回复

使用道具 举报

9#
 楼主| 发表于 2011-10-12 21:55:50 | 只看该作者
原帖由 2010pby 于 2011-10-1 17:45 发表
反过来。。。不是备份后再修改boot.ini,而是先修改boot.ini再备份——启动进入备份系统,备份系统修改boot.ini然后备份,重启进入正常系统,再修改boot.ini,重启重复以上过程...。。



谢谢帮我说明
回复

使用道具 举报

10#
 楼主| 发表于 2011-10-12 22:03:58 | 只看该作者
原帖由 jh1688 于 2011-10-5 06:04 发表
echo  >>boot.ini
echo timeout=4 >>boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >>boot.ini
echo [operating systems] >>boot.ini
echo multi(0)disk(0)rdisk(0)partition(1)\WIN ...


多谢高手的BAT,我的写法比较笨,可这样好像还是无法解决我的问题,我问题的关键是GHOST后能改写boot.ini,要不如果没人去手动修改,就会一直备份下去。
回复

使用道具 举报

11#
 楼主| 发表于 2011-10-12 22:07:40 | 只看该作者
是这样的,公司给客户装超市软件,装完后都要做系统备份,但我想将系统备份更简单化点,只要装好软件后在系统运行一下BAT就可以了,不用说我先重启动,然后按F8进到boot.ini选项,再用手选择一键备份,我想省去这一步。因为每次都是好几台电脑,走来走去很麻烦的。

我只是想在Windows系统下能点一下鼠标就能自动备份好一次C盘,在GHOST备份完系统能再进入系统。要求过程中全部自动化,不需要人工干预。
回复

使用道具 举报

12#
发表于 2011-10-12 23:26:08 | 只看该作者
GHOST -clone,mode=pdump,src=1:1,dst=1.2:\xfghost\xf.gho -z2 -sure -fx

echo [boot loader] >>boot.ini
echo timeout=4 >>boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >>boot.ini
echo [operating systems] >>boot.ini
echo multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff >>boot.ini

copy boot.ini c:\
attrib c:\boot.ini +h +r +s

如果这样还不能满足楼主的要求,我也没办法了……

实际上这和前面我说的方法是一样的,我感觉前面的更好一些,备份中的文件已经改动过,这一份是备份以后再改,如果客户误操作,那么会麻烦很多……

[ 本帖最后由 jh1688 于 2011-10-12 23:29 编辑 ]
回复

使用道具 举报

13#
 楼主| 发表于 2011-10-13 21:17:35 | 只看该作者
原帖由 jh1688 于 2011-10-12 23:26 发表
GHOST -clone,mode=pdump,src=1:1,dst=1.2:\xfghost\xf.gho -z2 -sure -fx

echo  >>boot.ini
echo timeout=4 >>boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >>boot.ini
echo [op ...



我测试了,将你的BAT改了加入到ghost.img的AUTOEXEC.BAT里,因为在系统下测试如果不改boot.ini属性写不入,所以加了句

echo [boot loader] >>boot.ini
echo timeout=4 >>boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >>boot.ini
echo [operating systems] >>boot.ini
echo multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff >>boot.ini
attrib c:\boot.ini -h -r -s
copy boot.ini c:\
attrib c:\boot.ini +h +r +s
ghost.exe -pwd=2275622 -clone,mode=pdump,src=1:1,dst=1.2:\xfghost\xf.gho -z2 -sure -rb

结果还是不可以,系统引导的顺序是
MBR -PBR -ntldr (读boot.ini)- ghldr(我有gurb改的,只引导ghost.img)- ghost.img.  
到然后运行AUTOEXEC.BAT(BAT为以上你写的)

能ghost,但还是改不了boot.ini,我不清楚是不是因为在ghost.img镜像里面无法找到C盘的boot.ini路径来修改还是其它什么.因为在上一次重启前我是修改boot.ini默认启动顺序是ghldr(既自动备份)
如果改不回boot.ini,就一直重启动后从ghldr启动,永远进不WIN系统
回复

使用道具 举报

14#
 楼主| 发表于 2011-10-13 23:10:19 | 只看该作者
GHOST -clone,mode=pdump,src=1:1,dst=1.2:\xfghost\xf.gho -z2 -sure -fx

echo [boot loader] >>boot.ini
echo timeout=4 >>boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >>boot.ini
echo [operating systems] >>boot.ini
echo multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff >>boot.ini

copy boot.ini c:\
attrib c:\boot.ini +h +r +s

也试过了,ghost完后命令提示符退回A:  找不到C:盘,就是找不到路径问题
我的ghost.exe是在用grub加载的IMG里的
回复

使用道具 举报

15#
 楼主| 发表于 2011-10-14 00:06:05 | 只看该作者
我的C盘是NTFS造成你的BAT用不上,我想如果是FAT32就可以了,还没试
如果有GHOST.IMG支持NTFS的就好办
回复

使用道具 举报

16#
 楼主| 发表于 2011-10-14 01:04:02 | 只看该作者
非常感谢jh1688,按你的办法我重装系统,将C盘格式化为FAT32,测试通过,谢谢指点

终于有解决的办法了,不过现在还有些遗憾,NTFS格式下无法通过,再请问下有什么ghost.img能支持NTFS格式的(或者支持NTFS的DOS,我下了个NTFSDOS和NTFSPRO好像都不可以),如果可以就完美了.

不过已经有办法和思路了,很感谢您,也谢谢论坛的热心朋友
回复

使用道具 举报

17#
发表于 2011-10-14 01:39:37 | 只看该作者
我觉得用PECMD来做你这个正好能满足你的要求,NTFS问题可以解决,C盘的定位也很容易,可以去找个精简到只有命令行的PE试试
回复

使用道具 举报

18#
发表于 2011-10-14 01:53:51 | 只看该作者
http://bbs.wuyou.net/forum.php?m ... ighlight=%2Blxl1638
这个你看一下,不过应该得加磁盘驱动进去才行
回复

使用道具 举报

19#
发表于 2011-10-14 02:31:36 | 只看该作者
为什么非要重新启动呢?当前系统下备份不可以吗?如果要一键搞定,写个批处理不可以吗?GHOST32也是支持命令行的,不过还原就无法在当前系统下进行了,但还原还是比较简单的

[ 本帖最后由 2011-01-22 于 2011-10-14 10:55 编辑 ]
回复

使用道具 举报

20#
 楼主| 发表于 2011-10-14 03:02:17 | 只看该作者
NTFS的问题我用NTFSPRO试了,虽然可以读出NTFS分区,可惜还是无果.
当前系统下备份不可以吗?这个我是试过不行,执行时候提示出错,请教下你是怎么实现的.如果可以就更简单了,十分感谢
还原的问题我已经解决了,现在还是备份的问题
回复

使用道具 举报

21#
 楼主| 发表于 2011-10-14 05:11:06 | 只看该作者
再次感谢大家,给我很多帮助和启发

研究了一晚,总算有结果了,用DOS.img先进去测试通过了,ghost完后读NTFS再改,就是速度不快,有待改善


系统下运行VBS

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c xfgh.bat",vbhide
Dim a
DIM objShell
set objShell=wscript.createObject("wscript.shell")
a = MsgBox("这里可以输入你要写的文字" & Chr(10) _
& "这里可以输入你要写的文字", 1)
if a = 1 Then objShell.Run "shutdown -r -t 10",1

(xfgh.bat)
attrib boot.ini -h -r -s
ping -n 1 127.0.0.1 > nul
attrib c:\boot.ini -h -r -s
ping -n 1 127.0.0.1 > nul
copy boot.ini c:\
copy xfldr c:\
copy ghost.img c:\
exit

(boot.ini)
[boot loader]
timeout=3
default=c:\xfldr
[operating systems]
c:\xfldr=自动备份系统
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff

(xfldr)
default 0
timeout 1
title ghost.IMG
find --set-root --ignore-floppies /ghost.IMG
map --mem /ghost.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

重启动后

ghost.exe -clone,mode=pdump,src=1:1,dst=1.2:\xfghost\xf11.gho -z2 -sure -fx
@echo off
set cp=936
if not %1#==# set cp=%1
echo Loading IFS driver..
lh hdpmi32
lh ndos -lfn -mountall -cp:%cp%
ndlist -
set cp=
echo.
echo [boot loader] >>boot.ini
echo timeout=4 >>boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >>boot.ini
echo [operating systems] >>boot.ini
echo multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff >>boot.ini
copy boot.ini c:\
attrib c:\boot.ini +h +r +s
shutdown -r

[ 本帖最后由 2011huntercj 于 2011-10-14 05:17 编辑 ]
回复

使用道具 举报

22#
发表于 2011-10-14 05:58:50 | 只看该作者
还是先贺一个!!!

如果是我,决不这么累,直接给用户一个恢复GHOST.IMG 在BOOT.INI中建立引导,当前XP系统下做好备份,就OK了……

GHOST32可以在当前系统下备份,而且支持命令行,楼主可以从这方面去考虑一下……
回复

使用道具 举报

23#
 楼主| 发表于 2011-10-14 09:03:44 | 只看该作者
a source could not be locked as it it in use by another process do you wish to attempt to force a dismount on the volume

all open handles to this volume would then be invalid

我在系统下有用GHOST32测试,不过提示C盘在使用,不能备份。
回复

使用道具 举报

24#
 楼主| 发表于 2011-10-14 10:21:56 | 只看该作者
echo [boot loader] >>boot.ini
echo timeout=5 >>boot.ini
echo default=c:\xfldr >>boot.ini
echo [operating systems] >>boot.ini
echo c:\xfldr=自动备份系统 >>boot.ini
echo multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"

/noexecute=optin /fastdetect /noexecute=alwaysoff >>boot.ini
attrib c:\boot.ini -h -r -s
copy boot.ini c:\
copy xfldr c:\
copy ghost.img c:\
shutdown -r -t 10
exit

重启,grub加载DOS.img

default 0
timeout 1
title ghost.IMG
find --set-root --ignore-floppies /ghost.IMG
map --mem /ghost.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

加载NTFS驱动写入C盘,卸载NTFS驱动后启动GHOST命令行备份

@echo off
set cp=936
if not %1#==# set cp=%1
echo Loading IFS driver..
lh hdpmi32
lh ndos -lfn -mountall -cp:%cp%
ndlist -
set cp=
echo.
echo [boot loader] >>boot.ini
echo timeout=4 >>boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >>boot.ini
echo [operating systems] >>boot.ini
echo multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"

/noexecute=optin /fastdetect /noexecute=alwaysoff >>boot.ini
copy boot.ini c:\
attrib c:\boot.ini +h +r +s
xmsman -c
echo.
ghost.exe -clone,mode=pdump,src=1:1,dst=1.2:\xfghost\xf11.gho -z2 -sure -fx -rb

备份完自动重启动进到系统


差不多就这样了,我觉得还可以了,虽然有点麻烦,而且入DOS去加载GHOST,速度好像很慢.
回复

使用道具 举报

25#
发表于 2011-10-15 06:49:16 | 只看该作者

回复 #24 2011huntercj 的帖子

从表面上看来似乎没有什么问题了,但楼主想过没有,你在做备份时复制到C:盘的 xfldr、ghost.img 两个文件没有处理掉,被一同备份到xf11.gho文件中去了。以后恢复时这两个文件永远会在C盘根目录留着,虽然目前来说这点小文件对C:盘40—50GG的空间来说,不算什么,但用不着的文件就是垃圾……
回复

使用道具 举报

26#
 楼主| 发表于 2011-10-15 11:17:53 | 只看该作者
确实这两个文件有残留,xfldr可以在批处理里del掉,不过ghost.img怕就不能删除自身了,也没试
如果我用GRUB去引导D:\xfghost\ghost.img的话这个就不会有残留

GRUB我只会简单的 D:\xfghost\ghost.img  我用GRUB命令的话该怎么写?
回复

使用道具 举报

27#
发表于 2011-10-15 11:50:28 | 只看该作者

回复 #26 2011huntercj 的帖子

实际上这问题也不是很难解决,你可以在GHOST。IMG镜像文件中创建一个虚拟内存盘,然后把GHOST。IMG中的文件释放到虚拟盘中运行,速度又快,而C盘中的文件又可以在GHOST之前删除掉……

或者你干脆将备份文件做在U盘或移动硬盘上,在那上面直接运行也不会有残留文件在C盘上了……

[ 本帖最后由 jh1688 于 2011-10-15 11:52 编辑 ]
回复

使用道具 举报

28#
发表于 2011-10-15 16:49:08 | 只看该作者
根本没必要重启,直接在系统里面热备份更简洁。
用drivesnapshot一条命令搞定。新版ghost32/ghost64也可以
回复

使用道具 举报

29#
 楼主| 发表于 2011-10-15 19:26:42 | 只看该作者
原帖由 fujianabc 于 2011-10-15 16:49 发表
根本没必要重启,直接在系统里面热备份更简洁。
用一条命令搞定。新版ghost32/ghost64也可以


非常感谢,受益匪浅啊
drivesnapshot我下了,测试OK,热备速度最快,恢复也快,不过论坛里介绍的不多,还麻烦说下命令行的用法
已经PM了你,随后我在论坛找,下了个Ghost11.5.1.2269 果然简洁

我是个新手,用之前的惯性思维去思考,走了很多麻烦路,不过也在大家的帮助下学到了多,再次感谢这里的热心朋友
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-30 20:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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