无忧启动论坛

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

[重发]快速恢复VHD软盘映像_支持中文菜单、NTFS隐藏分区及长文件名

  [复制链接]
跳转到指定楼层
#
发表于 2011-8-6 16:29:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
[重发]快速恢复VHD软盘映像_支持中文菜单、NTFS隐藏分区及长文件名

申明:此帖原由网友hbby发布,其软盘映像支持中文菜单、NTFS普通隐藏分区及长文件名。在此,对网友hbby表示感谢!

经本人作了一点微小改动,即在DOS下使用omnifs info命令,或在winpe或windows中使用omnifs32 info命令,如列出存放VHD文件的分区的编号为1.3(即第1硬盘第3分区),将autoexec.bat的内容(其中的1.3:\dir\file,不能改为1:3\dir\file)作如下修改,将映像更改为2.88M后,将omnifs.exe及autoexec.bat加入映像后,用grub4dos调用该映像即可。

改动后,支持普通隐藏或EISA隐藏的NTFS分区及长文件名,且还原后,子VHD文件的大小与时间,与备份VHD文件的大小与时间完全相同。

改动后的映像下载:http://data.99pan.com/download/149748_33_3911094801409736350.html

欢迎各位网友再更新。

@ECHO OFF
PATH A:\
LH DOSKEY.COM
DOSLFN
SET COMSPEC=A:\COMMAND.COM
set cp=936
if not %1#==# set cp=%1
lh hdpmi32
lh ndos -lfn -mountall -cp:%cp%
ndlist -
set cp=
LH tw /ns /np>nul
mode 80
rem 此法支持普通隐藏或EISA隐藏的NTFS分区及长文件名,且还原后,子VHD文件的大小与时间,与备份VHD文件的大小与时间完全相同
set diskno=1.3:
rem diskno的值可根据omnifs info命令查得

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:1**67 请选择
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
omnifs copy %diskno%"\vhd_sys\my_win2008r2_CHILD_BAK.vhd" %diskno%"\vhd_sys\my_win2008r2_CHILD.vhd"
echo Restore OK!
pause
goto end

:win7
omnifs copy %diskno%"\vhd_sys\my_win7_CHILD_BAK.vhd" %diskno%"\vhd_sys\my_win7_CHILD.vhd"
echo Restore OK!
pause
goto end

:win2008
omnifs copy %diskno%\vboot_vhd\win2008_child_bak.vhd %diskno%\vboot_vhd\win2008_child.vhd
echo Restore OK!
pause
goto end

:winvista
omnifs copy %diskno%\vboot_vhd\winvista_child_bak.vhd %diskno%\vboot_vhd\winvista_child.vhd
echo Restore OK!
pause
goto end

:win2003
omnifs copy "%diskno%\vboot_vhd\win2003_child_bak.vhd" "%diskno%\vboot_vhd\win2003_child.vhd"
echo Restore OK!
pause
goto end

:winxp
omnifs copy "%diskno%\vboot_vhd\winxp_child_bak.vhd" "%diskno%\vboot_vhd\winxp_child.vhd"
echo Restore OK!
pause
goto end

:end
reboot

另:为方便使用,我上传了omnifs32.exe
下载地址为http://data.99pan.com/download/149748_35_6972135173138132601.html

可用另一法,感觉更方便,请阅grub4dos调用IMG映像通用模块实现快速恢复VHD_支持NTFS隐藏分区及长文件名 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=204649&highlight=%2Bqj%5C_tzy

[ 本帖最后由 qj_tzy 于 2012-9-21 09:23 编辑 ]

评分

参与人数 3无忧币 +66 收起 理由
星影 + 1
vrboxing + 5 很给力!
2010ttt + 60 我很赞同

查看全部评分

推荐
发表于 2011-8-6 23:09:35 | 只看该作者
不错,支持一下,和我的有点区别,我的已经部署40多台电脑了,基本上没出什么问题。

我的是放在EISA分区的。
回复

使用道具 举报

推荐
发表于 2011-8-6 22:37:04 | 只看该作者
原帖由 qj_tzy 于 2011-8-6 16:29 发表
[重发]快速恢复VHD软盘映像_支持中文菜单、NTFS隐藏分区及长文件名

申明:此帖原由网友hbby发布,其软盘映像支持中文菜单、NTFS普通隐藏分区及长文件名。在此,对网友hbby表示感谢!

经本人作了一点微小 ...


楼主客气了,你的方案更加完善,非常实用,我的原帖不知道是不是违规了,我也看不到了,呵呵!
回复

使用道具 举报

推荐
发表于 2011-8-6 20:44:58 | 只看该作者
看不懂下下来试试...
回复

使用道具 举报

推荐
发表于 2011-8-7 10:36:42 | 只看该作者
我共享下我的开机就还原VHD的文件,我就不另开主题了。

注意: 我的这套东西,要求XP VHD 要放在 第一个EISA隐藏分区(NTFS格式),就是分区标识为12,可以用DG把标识为7的NTFS转为12.

建议部署的方式:

1: fbinst + grldr

       硬盘用fbinst格式化,引导文件放ud内,最后一个分区先格式化为NTFS,再把分区参数转为12,也具是转为EISA分区。VHD文件放最后一个分区。

2:grldr.mbr 或者 wee 引导。其他同上。


有多余的代码未清理。

主要核心文件代码:

VHDLDR:

!BAT
set
:begin
if /i "--vboot"=="%~1" && goto :vboot_vhd
if /i "--restore"=="%~1" && goto :restore_vhd
exit
:vboot_vhd
map --mem (bd)/BOOT/GRUB/VBOOT.IMG (0)
map --hook
find --set-root %~2
uuid ()
set /l ?_UUID=%?_UUID%
echo -e -n "(UUID=%?_UUID%)%~2"\xd\xa\x7d >> (0)/vboot/grub/grub.cfg
kernel (0)/vbootldr
boot
exit
:restore_vhd
map --mem (bd)/BOOT/GRUB/VBOOT.IMG (0)
map --hook
find --set-root %~2
uuid ()
set /l ?_UUID=%?_UUID%
echo -e -n "(UUID=%?_UUID%)%~3"\xd\xa\x7d >> (0)/vboot/grub/grub.cfg
echo -e REVHD %~2 %~3 \n >> (0)/AUTOEXEC.BAT
cat --locate=/ --replace=\\ (0)/AUTOEXEC.BAT
rootnoverify (0)
chainloader (0)+1
boot
exit


REVHD.BAT :

@echo off
cls
tway /np >nul
::---------------------------------------------------
set VHD_BAK=%1
set VHD_NAME=%2
  
echo.
wbat text 3,6 (+green on black)"某某单位专用系统启动中,请等待...... !!!"
echo.
omnifs info >hd_id.txt
awk '/Diag/' hd_id.txt|nset VHD_PART=$1
::---------------------------------------------------
:del_vhd
cls
echo.
::可换单位自己的口号
wbat text 3,6 (+green on black)"发展社区健康服务,提高居民健康水平!"
echo.
omnifs if exist %VHD_PART%\%VHD_NAME% delete %VHD_PART%\%VHD_NAME% >nul
::---------------------------------------------------
:cp_vhd
cls
echo.
::可换单位自己的口号
wbat text 3,6 (+green on black)"医者,如临深渊,如履薄冰,需求真求确,必邃必专!"
echo.
omnifs copy %VHD_PART%\%VHD_BAK%   %VHD_PART%\%VHD_NAME%
::---------------------------------------------------
:satar
grub.exe --config-file="kernel (fd0)/vbootldr "
::---------------------------------------------------
:end
quit.com r
  
  


汗一个,忘记修改message文件了,背景是我单位定制的,变形的图片,4:3的显示器会变形。宽屏的刚好还原成正常比例。

[ 本帖最后由 Plantsoot 于 2011-8-7 21:03 编辑 ]

VHDLDR_Plantsoot下载地址.zip

227 Bytes, 下载次数: 496, 下载积分: 无忧币 -2

回复

使用道具 举报

46#
发表于 2024-3-3 16:06:38 | 只看该作者
谢谢提供
回复

使用道具 举报

45#
发表于 2024-2-23 01:28:52 | 只看该作者
先收下
回复

使用道具 举报

44#
发表于 2024-2-22 06:40:10 | 只看该作者
谢谢分享
回复

使用道具 举报

43#
发表于 2024-2-22 06:08:45 来自手机 | 只看该作者
先看看
回复

使用道具 举报

42#
发表于 2015-12-6 16:08:28 来自手机 | 只看该作者
好东西,赞
回复

使用道具 举报

41#
发表于 2015-12-1 12:00:38 | 只看该作者
看不懂下下来试试...
回复

使用道具 举报

40#
发表于 2014-12-18 12:03:05 | 只看该作者
还原VHDXP,出现“no volume could be mounted using”,这是什么问题?
回复

使用道具 举报

39#
发表于 2014-6-24 08:37:08 | 只看该作者
回复

使用道具 举报

38#
发表于 2013-5-26 13:42:57 | 只看该作者
不错,支持一下
回复

使用道具 举报

37#
发表于 2012-9-19 12:47:54 | 只看该作者
好 好 谢谢共享经验,菜鸟受教了
回复

使用道具 举报

36#
发表于 2012-8-15 06:26:05 | 只看该作者
谢谢楼主分享!
回复

使用道具 举报

35#
发表于 2012-7-28 17:35:10 | 只看该作者
既然部署了dos下进行还原子VHD,为什么不继续的替换完vhd,直接继续引导win7呢
回复

使用道具 举报

34#
发表于 2012-3-16 00:22:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

33#
发表于 2011-11-1 11:37:48 | 只看该作者
☆۩۞۩☆【谢谢提供!】 ☆۩۞۩☆
回复

使用道具 举报

32#
发表于 2011-9-27 12:41:53 | 只看该作者
非常感谢谢楼主解答!
回复

使用道具 举报

31#
 楼主| 发表于 2011-9-27 11:34:59 | 只看该作者

回复 #35 haook 的帖子

将set diskno=1.4:改为set diskno=1.2:,将目录\vhd_sys\改为\win7,且将子VHD的名称更改为你的子VHD的名称即可。
回复

使用道具 举报

30#
发表于 2011-9-26 15:12:01 | 只看该作者
谢谢楼主的解答!还有2个问题:
1、为什么我用你上传的omnifs32.exe在DOS下使用omnifs info命令,或在winpe或windows中使用omnifs32 info命令,都没有列出存放VHD文件的分区的编号,如何正确使用omnifs32.exe才能显示编号。
2、我的WIN7-VHD文件放在第一硬盘第二主分区EISA隐藏的NTFS分区WIN7目录下,请楼主帮我改一下autoexec.bat,然后上传,谢谢!

[ 本帖最后由 haook 于 2011-9-26 15:23 编辑 ]
回复

使用道具 举报

29#
发表于 2011-9-24 15:42:48 | 只看该作者
很强大的方法,一键恢复也用不上了!
回复

使用道具 举报

28#
 楼主| 发表于 2011-9-24 11:29:29 | 只看该作者

回复 #32 haook 的帖子

1.能支持所有vhd系统,当然包括win7;

2.在GRUB菜单中设置密码问题,请详见帖子《winxp、win7双VHD系统的安装、启动、快速还原、更改启动项密码方法简介》
http://bbs.wuyou.net/forum.php?m ... hlight=%2Bqj%5C_tzy

3.能支持所有分区。因VHD文件在某一电脑中的分区是确定的,可在winpe或windows中使用omnifs32 info命令,如列出存放VHD文件的分区的编号若为1.4(即第1硬盘第4分区),在批处理中将set diskno=1.3:改为set diskno=1.4:即可。若每次均是全盘搜索VHD文件,批处理写起来比较麻烦,搜索起来也比较费时,我觉得完全没有这个必要。
回复

使用道具 举报

27#
发表于 2011-9-22 17:19:44 | 只看该作者

回复 #20 Plantsoot 的帖子

对你的部署方案很感兴趣,非常期待能够支持所有分区,另外向你请教两个问题:1、能不能支持WIN7.VHD  2、在你的GRUB菜单中,如何设置密码?谢谢!
回复

使用道具 举报

26#
发表于 2011-9-15 14:56:19 | 只看该作者
哦!这样啊!谢谢你的解答!明白了!
回复

使用道具 举报

25#
 楼主| 发表于 2011-9-15 12:46:15 | 只看该作者

回复 #29 thttht 的帖子

因grub4dos的DD命令不更改目标文件的大小,因此,可导致目标子VHD文件的大小越来越大(网友chenall说:最大不会超过实际大小)。

此用映像方式还原的子VHD文件的大小与时间,与备份VHD文件的大小与时间完全相同。


[ 本帖最后由 qj_tzy 于 2011-9-15 12:48 编辑 ]
回复

使用道具 举报

24#
发表于 2011-9-14 16:34:31 | 只看该作者
请教原来用dd命令还原的方法有什么弊端吗?
回复

使用道具 举报

23#
发表于 2011-9-13 08:22:59 | 只看该作者
好强大,谢谢。。。。。。。。。。。。。。
回复

使用道具 举报

22#
发表于 2011-8-19 09:56:04 | 只看该作者
没太看懂呢,下来试一试吧
回复

使用道具 举报

21#
发表于 2011-8-14 23:03:57 | 只看该作者
原帖由 Plantsoot 于 2011-8-7 10:46 发表


呵呵,老兄速度真快,我正编辑帖子呢。

http://u.115.com/file/dncbhs7j#
VHDLDR_Plantsoot.zip



你的vhd还原 如果不用eisa(12)分区,只用ntfs(07)或者ntfs隐藏(17)
应该怎么样做
回复

使用道具 举报

20#
 楼主| 发表于 2011-8-10 12:43:25 | 只看该作者

回复 #24 chenall 的帖子

谢谢,我学习一下,不清楚的再请教!
回复

使用道具 举报

19#
发表于 2011-8-10 09:15:28 | 只看该作者

回复 #23 qj_tzy 的帖子

我之前有试了一下,好像有没有加长文件名效果都差不多.

有兴趣可以看一下MODBOOT的模块方法.

实例可以参考QGHO(QGHO是MODBOOT的一个模块)
回复

使用道具 举报

18#
 楼主| 发表于 2011-8-10 09:08:49 | 只看该作者

回复 #21 chenall 的帖子

我原已知omnifs不需要DOS下的长文件名支持就可以复制长文件名,但未试,昨晚试了,不要DOS下的长文件名支持时,用omnifs还原时好像要慢一些,有DOS下的长文件名支持时,用omnifs还原时好像要快一些,不知为何,不知是否?

另外,对您所说的使用GRUB4DOS查找定位好文件.然后把所需要的参数直接传给DOS的omnifs直接运行的方法,比较感兴趣,但不知如何做,可否给些帮助,不知有否这方面的实例,是否如xiaoy
大之NTBOOT恢复映像之方法。
回复

使用道具 举报

17#
发表于 2011-8-7 23:58:07 | 只看该作者
我那个NTBOOT修改版VHD还原工具就是用C大方法修改的,只是做得不太好,希望有人完善得更好,它可以很方便实现开机自动还原VHD系统和创建真正意义上的多用户VHD系统。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-28 04:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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