Plantsoot 发表于 2011-7-3 15:16:21

回复 #7 hbby 的帖子

确实如你所说,我启动了几十次后,差分VHD已经5G了,dd的方案不好。
呵呵,看看你的方案。

qj_tzy 发表于 2011-7-3 17:37:55

回复 #1 hbby 的帖子

我已下载看了,这不失为一个恢复VHD系统的好方法。

但VHD系统的文件名一般取为长文件名,且一般将其置于EISA隐藏的NTFS分区中,若能支持EISA隐藏的NTFS分区,且支持长文件名就好了。

我已努力试着解决这一问题,但无果,本人已无法解决。还望高手现身解决这一问题。

我用grub4dos调用映像文件:

title 快速恢复VHD系统(软盘映像方式)
unhide (hd0,1)
#先试验普通隐藏方式,非EISA隐藏方式
map --mem /grub/restore_vhd.img (fd0)
map --hook
rootnoverify (fd0)
chainloader +1

autoexec.bat的内容为
@ECHO OFF
PATH A:\
LH DOSKEY.COM
SET COMSPEC=A:\COMMAND.COM
LH tw /ns /np>nul
ntfs4dos command /P /F /E:2000 /k autoexec.bat
rem LH DOSLFN /C- /Z:CP936UNI.TBL
doslfn >nul
mode 80
echo.
echo *** 快速还原VHD系统 ***
echo.
echo 1.快速还原-win2008r2
echo 2.快速还原-win7
echo 3.快速还原-win2008
echo 4.快速还原-winvista
echo 5.快速还原-win2003
echo 6.快速还原-winxp
echo 7.重新启动电脑
echo.
choice /c:1234567 请选择
if errorlevel 7 goto end
if errorlevel 6 goto winxp
if errorlevel 5 goto win2003
if errorlevel 4 goto winvista
if errorlevel 3 goto win2008
if errorlevel 2 goto win7
if errorlevel 1 goto win2008r2

:win2008r2
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\vhd_sys\my_win2008r2_CHILD_BAK.vhd set drv=%%b:
copy %drv%\vhd_sys\my_win2008r2_CHILD_BAK.vhd %drv%\vhd_sys\my_win2008r2_CHILD.vhd /y >nul
echo Restore OK!
pause
goto end

:win7
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\vhd_sys\my_win7_CHILD_BAK.vhd set drv=%%b:
copy %drv%\vhd_sys\my_win7_CHILD_BAK.vhd %drv%\vhd_sys\my_win7_CHILD.vhd /y >nul
echo Restore OK!
pause
goto end

:win2008
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\vboot_vhd\win2008_child_bak.vhd set drv=%%b:
copy %drv%\vboot_vhd\win2008_child_bak.vhd %drv%\vboot_vhd\win2008_child.vhd /y >nul
echo Restore OK!
pause
goto end

:winvista
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\vboot_vhd\winvista_child_bak.vhd set drv=%%b:
copy %drv%\vboot_vhd\winvista_child_bak.vhd %drv%\vboot_vhd\winvista_child.vhd /y >nul
echo Restore OK!
pause
goto end

:win2003
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\vboot_vhd\win2003_child_bak.vhd set drv=%%b:
copy %drv%\vboot_vhd\win2003_child_bak.vhd %drv%\vboot_vhd\win2003_child.vhd /y >nul
echo Restore OK!
pause
goto end

:winxp
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\vboot_vhd\winxp_child_bak.vhd set drv=%%b:
copy %drv%\vboot_vhd\winxp_child_bak.vhd %drv%\vboot_vhd\winxp_child.vhd /y >nul
echo Restore OK!
pause
goto end

:end
REBOOT

xiaoy 发表于 2011-7-3 19:47:06

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=184518&extra=page%3D1

O.Y.M.2010 发表于 2011-7-3 21:54:17

采用OMNIFSVHD镜像放在最后一个分区

@echo off
cls
tway /np >nul
::---------------------------------------------------
:sys_set
set VHD_DIR=VHD
set VHD_XP=VHD_XP-S1.VHD
set XP_BAK=VHD_XP-BAK.VHD
set VHD_W7=VHD_W7-S1.VHD
set W7_BAK=VHD_W7-BAK.VHD
set USE_PWD=1234
echo.
wbat text 3,6 (+green on black)"正在确定 VHDOS 镜像所在硬盘分区,请等待...... !!!"
echo.
omnifs info >hd_id.txt
awk -f lastdrv.awk hd_id.txt|nset VHD_PART=$1
::---------------------------------------------------
:use_pass
cls
call w.bat box :use_password # +1
if %password%==%USE_PWD% goto menu_vhd
wbat box "操作员密码错误!",重新输入,退出重启 #1
if errorlevel 100 goto use_pass
if errorlevel 2 goto end
if errorlevel 1 goto use_pass
::---------------------------------------------------
:menu_vhd
call w.bat box :vhdmenu # +3
if errorlevel 3 goto end
if errorlevel 2 goto w7_vhd
if errorlevel 1 goto xp_vhd
::---------------------------------------------------
:xp_vhd
cls
echo.
wbat text 3,6 (+green on black)"正删除%VHD_XP%并从%XP_BAK%恢复,稍后启动......!!!"
echo.
omnifs delete %VHD_PART%\%VHD_DIR%\%VHD_XP% >nul
omnifs copy %VHD_PART%\%VHD_DIR%\%XP_BAK%   %VHD_PART%\%VHD_DIR%\%VHD_XP%
grub.exe --config-file="command (fd0)/boot/ntboot/ntboot vboot=/%VHD_DIR%/%VHD_XP%"
goto end
::---------------------------------------------------
:w7_vhd
cls
echo.
wbat text 3,6 (+green on black)"正删除%VHD_W7%并从%W7_BAK%恢复,稍后启动......!!!"
echo.
omnifs delete %VHD_PART%\%VHD_DIR%\%VHD_W7% >nul
omnifs copy %VHD_PART%\%VHD_DIR%\%W7_BAK%   %VHD_PART%\%VHD_DIR%\%VHD_W7%
grub.exe --config-file="command (fd0)/boot/ntboot/ntboot nt6=/%VHD_DIR%/%VHD_W7%"
:end
quit.com r

[ 本帖最后由 O.Y.M.2010 于 2011-7-6 10:56 编辑 ]

Plantsoot 发表于 2011-7-3 22:27:08

回复 #13 O.Y.M.2010 的帖子

支持EISA隐藏分区?

O.Y.M.2010 发表于 2011-7-3 22:59:16

原帖由 Plantsoot 于 2011-7-3 22:27 发表 http://bbs.wuyou.net/images/common/back.gif
支持EISA隐藏分区?
OMNFIS 支持EISA隐藏分区的

Plantsoot 发表于 2011-7-3 23:01:26

回复 #15 O.Y.M.2010 的帖子

太好了,可以把这个IMG打包共享一下吗?

O.Y.M.2010 发表于 2011-7-3 23:16:19

原帖由 Plantsoot 于 2011-7-3 23:01 发表 http://bbs.wuyou.net/images/common/back.gif
太好了,可以把这个IMG打包共享一下吗?
http://u.115.com/file/e62r0ny6#
RE_XP_WIN7_VHD.img

[ 本帖最后由 O.Y.M.2010 于 2011-7-6 10:55 编辑 ]

zqywult 发表于 2011-7-4 01:39:53

原帖由 O.Y.M.2010 于 2011-7-3 23:16 发表 http://bbs.wuyou.net/images/common/back.gif

http://u.115.com/file/aqbzq9ku#
REVHD.img

下载后虚拟机测试,要求输入密码??
请O.Y.M.2010 朋友给出密码!谢谢了!!!

Plantsoot 发表于 2011-7-4 09:36:04

回复 #16 Plantsoot 的帖子

奇怪的事情发生了,按你的方法,VHD还是不断增大。

经测试 omnifs copy %VHD_PART%\%VHD_DIR%\%VHD_BAK% %VHD_PART%\%VHD_DIR%\%VHD_NAME% 没起作用。
奇怪了。

[ 本帖最后由 Plantsoot 于 2011-7-4 09:49 编辑 ]
页: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15
查看完整版本: VBOOT及WinXP_VHD辅助工具安装VHD系统等的用户使用经验汇总(7月28日更新)