无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 20097|回复: 36
打印 上一主题 下一主题

grub4dos调用IMG映像通用模块实现快速恢复VHD_支持NTFS隐藏分区及长文件名

  [复制链接]
1#
发表于 2012-1-5 07:08:08 | 显示全部楼层
回复

使用道具 举报

2#
发表于 2012-2-14 08:00:17 | 显示全部楼层
if "%sysno%"=="2" set diskno=1.3:

请问如何获取磁盘序号?
回复

使用道具 举报

3#
发表于 2012-2-14 11:42:21 | 显示全部楼层
if "%sysno%"=="2" set sysname=win7
if "%sysno%"=="2" set diskno=1.3:
if "%sysno%"=="2" set vhddir=\vhd_sys
if "%sysno%"=="2" set subvhd=my_win7_CHILD.vhd
if "%sysno%"=="2" set subvhdbak=my_win7_CHILD_BAK.vhd

"2" set vhddir=\vhd_sys
这句是什么意思?
回复

使用道具 举报

4#
发表于 2012-2-14 11:42:52 | 显示全部楼层
是不是VHD文件是目录?
回复

使用道具 举报

5#
发表于 2012-2-14 17:07:02 | 显示全部楼层

回复 #15 qj_tzy 的帖子

谢谢!辛苦了!学习了。
回复

使用道具 举报

6#
发表于 2012-2-14 17:09:52 | 显示全部楼层
不知为何快速还原后不能接着启动系统?
回复

使用道具 举报

7#
发表于 2012-2-14 17:23:47 | 显示全部楼层
原帖由 wanghh 于 2012-2-14 17:09 发表
不知为何快速还原后不能接着启动系统?


文件布置情况如下:

2012-02-14_172249.gif (147.95 KB, 下载次数: 167)

2012-02-14_172249.gif
回复

使用道具 举报

8#
发表于 2012-2-14 17:31:22 | 显示全部楼层
#本菜单用grub4dos调用软盘映像方式快速还原:原生win2008r2/win7.vhd,及vboot驱动的win2008/winvista/win2003/winxp.vhd
default 0
timeout 0

title 0. Fast Restore System
echo Select Fast Restore's System:
echo 1-win2008r2
echo 2-win7
echo 3-win2008
echo 4-winvista
echo 5-win2003
echo 6-winxp
set /p sysno=Please Input 1-6(Input Others Return Main Menu):
checkrange 1:6 calc %sysno% || goto 1

if "%sysno%"=="1" set sysname=win2008r2
if "%sysno%"=="1" set diskno=1.3:
if "%sysno%"=="1" set vhddir=\vhd_sys
if "%sysno%"=="1" set subvhd=my_win2008r2_CHILD.vhd
if "%sysno%"=="1" set subvhdbak=my_win2008r2_CHILD_BAK.vhd

if "%sysno%"=="2" set sysname=win7
if "%sysno%"=="2" set diskno=1.2:
if "%sysno%"=="2" set vhddir=\win7
if "%sysno%"=="2" set subvhd=my_win7_CHILD.vhd
if "%sysno%"=="2" set subvhdbak=my_win7_CHILD_BAK.vhd

if "%sysno%"=="3" set sysname=win2008
if "%sysno%"=="3" set diskno=1.3:
if "%sysno%"=="3" set vhddir=\vboot_vhd
if "%sysno%"=="3" set subvhd=win2008_child.vhd
if "%sysno%"=="3" set subvhdbak=win2008_child_bak.vhd

if "%sysno%"=="4" set sysname=winvista
if "%sysno%"=="4" set diskno=1.3:
if "%sysno%"=="4" set vhddir=\vboot_vhd
if "%sysno%"=="4" set subvhd=winvista_child.vhd
if "%sysno%"=="4" set subvhdbak=winvista_child_bak.vhd

if "%sysno%"=="5" set sysname=win2003
if "%sysno%"=="5" set diskno=1.3:
if "%sysno%"=="5" set vhddir=\vboot_vhd
if "%sysno%"=="5" set subvhd=win2003_child.vhd
if "%sysno%"=="5" set subvhdbak=win2003_child_bak.vhd

if "%sysno%"=="6" set sysname=winxp
if "%sysno%"=="6" set diskno=1.3:
if "%sysno%"=="6" set vhddir=\vboot_vhd
if "%sysno%"=="6" set subvhd=winxp_child.vhd
if "%sysno%"=="6" set subvhdbak=winxp_child_bak.vhd

map --mem /grub4dos/restore_vhd.img (fd0)
map --hook

#使用以下命令通过环境变量传递参数
#echo @ECHO OFF > (fd0)/autoexec.bat
#echo set sysname=%sysname% >> (fd0)/autoexec.bat
#echo set diskno=%diskno% >> (fd0)/autoexec.bat
#echo set vhddir=%vhddir% >> (fd0)/autoexec.bat
#echo set subvhd=%subvhd% >> (fd0)/autoexec.bat
#echo set subvhdbak=%subvhdbak% >> (fd0)/autoexec.bat
#echo STOREVHD >> (fd0)/autoexec.bat

#或使用以下命令通过批处理文件直接传递参数
echo @ECHO OFF > (fd0)/autoexec.bat
echo STOREVHD %sysname% %diskno% %vhddir% %subvhd% %subvhdbak% >> (fd0)/autoexec.bat

rootnoverify (fd0)
chainloader +1

title 1. return Main menu
configfile (md)4+8
回复

使用道具 举报

9#
发表于 2012-2-14 17:53:31 | 显示全部楼层
显示恢复成功。但不能进入系统。
回复

使用道具 举报

10#
发表于 2012-2-16 11:39:04 | 显示全部楼层
原帖由 qj_tzy 于 2012-2-15 11:16 发表
要先用工具或
《在win7pe等环境下建立原生和VBOOT驱动的VHD的子VHD的批处理》
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=205426&highlight=%2Bqj%5C_tzy
提供的批处理,建立好子VHD的备份文件如xx_child_bak ...



这些都有了啊。
回复

使用道具 举报

11#
发表于 2012-2-16 11:40:30 | 显示全部楼层
pause
grub.exe --config-file="chainloader (hd0)+1"
rem reboot


可能这句有问题。不知什么意思?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-9 17:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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