无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
123
返回列表 发新帖
楼主: 2010speedloong
打印 上一主题 下一主题

[教程] UEFI启动模式下实现VHD秒还原

    [复制链接]
25#
发表于 2021-1-19 22:42:36 来自手机 | 只看该作者
可惜我不懂批处理,我原来的思路是vhd文件夹里面两个子vhd1  vhd2,bak文件夹里面也是这两个子vhd,引导bcd菜单有两个选项vhd1,vhd2,0秒,开机批处理静默执行,复制bak文件夹里面两个子vhd覆盖替换vhd文件夹里面两个子vhd,不能删除或者替换就跳过,bcd当前菜单条目下移,这样每次重启,都会进入另外一个子vhd,然后覆盖替换,就会非当前使用中的子vhd删除掉,从而实现还原

点评

copy D:\System\BAK.vhdx D:\System\B1.vhdx /y copy D:\System\BAK.vhdx D:\System\B2.vhdx /y bcdedit /default {current} bcdedit /set {b6de56c0-d268-11ea-b9b6-d0509993fc4a} description "Huan Yuan" bcd  详情 回复 发表于 2021-11-21 20:43
回复

使用道具 举报

24#
 楼主| 发表于 2021-1-18 11:18:45 | 只看该作者
langyun 发表于 2021-1-17 08:31
hilsonma 是一个很热心的好人

是的 很感谢他的热心相助 最终得以实现
回复

使用道具 举报

23#
 楼主| 发表于 2021-1-18 11:17:55 | 只看该作者
langyun 发表于 2021-1-17 08:31
hilsonma 是一个很热心的好人

是的 很感谢他的热心相助 最终得以实现
回复

使用道具 举报

22#
 楼主| 发表于 2021-1-18 11:17:20 | 只看该作者
oym2016 发表于 2021-1-17 19:35
按楼主思路,做了个 手动还原restore.cmd

::父盘=Win81x64.vhdx  差分盘=Win81bak.vhdx  差分盘由 BOOTIC ...

666 我觉得用这种方式引导无论是自动或手动 都挺方便的
后续的维护也方便 嗯..据说DD的方式不太好 也不支持UEFI
回复

使用道具 举报

21#
 楼主| 发表于 2021-1-18 11:16:00 | 只看该作者
lk5258 发表于 2021-1-15 16:31
请问老大 vhd能不能支持 休眠功能?

不敢当 ..
休眠我没测试过 可以试一下看看
因为是镜像 个人觉得应该是能够支持的
不过我每次都是powercfg -h off
回复

使用道具 举报

20#
发表于 2021-1-17 19:35:18 | 只看该作者
本帖最后由 oym2016 于 2021-1-19 08:29 编辑

按楼主思路,做了个 手动还原restore.cmd
::父盘=Win81x64.vhdx  差分盘=BaseOS.vhdx
::批处理重复复制 差分盘为二个不同名的子盘 供实际使用文件.
::grub2(ufei)识别不同的标志,启动所对应的磁盘镜像
::子盘1=SubOS_1.vhdx  标志=SubOS.1  
::子盘2=SubOS_2.vhdx  标志=SubOS.2
@ECHO off
PUSHD %~dp0
:Start
FOR /F "tokens=*" %%G in ('dir /s /b SubOS.*') DO (goto :revhd)
::第一次无标志时 创建SubOS_1.vhdx 标志=SubOS.1;SubOS_2.vhdx
  COPY %~dp0BaseOS.vhdx %~dp0SubOS_1.vhdx >nul
  ECHO SubOS_2vhdx >%~dp0SubOS_2.vhdx
  ECHO SubOS1 >%~dp0SubOS.1
GOTO :end
:revhd
::获取BaseOS.vhdx  SubOS_1.vhdx SubOS_2.vhdx 文件大小
for /f %%i in ('dir /s /b %~dp0BaseOS.vhdx') do (set size_b=%%~zi)
for /f %%i in ('dir /s /b %~dp0SubOS_1.vhdx') do (set size_1=%%~zi)
for /f %%i in ('dir /s /b %~dp0SubOS_2.vhdx') do (set size_2=%%~zi)

IF EXIST %~dp0SubOS.1 (
::如果SubOS_1.vhdx已还原过, 程序退出.
   if %size_1% equ %size_b% echo SubOS_1.vhdx Restored OK & TIMEOUT /t 5&exit  
   DEL /S %~dp0SubOS_2.vhdx >nul
   COPY %~dp0BaseOS.vhdx %~dp0SubOS_2.vhdx >nul
   ECHO SubOS2 >%~dp0SubOS.2
   DEL %~dp0SubOS.1 >nul
) ELSE (
::如果SubOS_2.vhdx已还原过, 程序退出.
   if %size_2% equ %size_b% echo SubOS_2.vhdx Restored OK & TIMEOUT /t 5&exit
   DEL /S %~dp0SubOS_1.vhdx >nul
   COPY %~dp0BaseOS.vhdx %~dp0SubOS_1.vhdx >nul
   ECHO SubOS1 >%~dp0SubOS.1
   DEL %~dp0SubOS.2 >nul
)
:end
echo SubOS Restored !!!
TIMEOUT /t 5
exit

::grub2菜单
menuentry "Windows 8.1 Vhdx"   --class windows  {
   if search -n -s -f /vhdos/SubOS.1;then
      ntboot --efi=/vhdos/bootmgfw.efi --vhd /vhdos/SubOS_1.vhdx
   elif
      search -n -s -f /vhdos/SubOS.2;then
       ntboot --efi=/vhdos/bootmgfw.efi --vhd /vhdos/SubOS_2.vhdx
   fi;
}

restore.7z

842 Bytes, 下载次数: 41, 下载积分: 无忧币 -2

点评

666 我觉得用这种方式引导无论是自动或手动 都挺方便的 后续的维护也方便 嗯..据说DD的方式不太好 也不支持UEFI  详情 回复 发表于 2021-1-18 11:17
回复

使用道具 举报

19#
发表于 2021-1-17 09:47:12 | 只看该作者
赞一个!
回复

使用道具 举报

18#
发表于 2021-1-17 08:31:31 | 只看该作者
hilsonma 是一个很热心的好人

点评

是的 很感谢他的热心相助 最终得以实现  详情 回复 发表于 2021-1-18 11:18
是的 很感谢他的热心相助 最终得以实现  详情 回复 发表于 2021-1-18 11:17
回复

使用道具 举报

17#
发表于 2021-1-16 15:46:14 | 只看该作者
感谢分享
回复

使用道具 举报

16#
发表于 2021-1-15 16:31:04 来自手机 | 只看该作者
请问老大 vhd能不能支持 休眠功能?

点评

不敢当 .. 休眠我没测试过 可以试一下看看 因为是镜像 个人觉得应该是能够支持的 不过我每次都是powercfg -h off  详情 回复 发表于 2021-1-18 11:16
回复

使用道具 举报

15#
发表于 2021-1-15 15:31:41 | 只看该作者
谢谢
回复

使用道具 举报

14#
发表于 2021-1-14 17:47:17 | 只看该作者
谢谢大师指导
回复

使用道具 举报

13#
发表于 2021-1-14 09:34:12 | 只看该作者
本帖最后由 hilsonma 于 2021-1-14 09:36 编辑
qq328 发表于 2021-1-14 08:59
进入到父VHD系统中,原有三个分区,要全删除分区盘符吗?还是只删除D盘符?

原有三个分区,原本是C/D/E三个盘符的,C盘是Windows系统

当你进入父VHD系统后,C盘是父VHD系统,原有的三个分区变成了D/E/F

为了使得在父VHD系统中看到的盘符内容跟原来系统一致,就需要在父VHD系统中把Windows分区的盘符D删除(只删除盘符,不是删除分区),把第二分区的盘符E改回D,把第三分区的盘符F改回E

改了之后,C盘是父VHD系统,D盘是第二分区,E盘是第三分区,看到的内容就跟原来系统中一样。而第一分区即原来的windows系统就会隐藏不见。

点评

看了有点复杂 大大有空搞个简单的。呵呵 看到win10系统每次重启即使不操作C盘也会越变越大,真实头疼  详情 回复 发表于 2021-11-24 18:03

评分

参与人数 1无忧币 +5 收起 理由
俊采星驰 + 5 热心助人,赞!

查看全部评分

回复

使用道具 举报

12#
发表于 2021-1-14 08:59:45 | 只看该作者
进入到父VHD系统中,原有三个分区,要全删除分区盘符吗?还是只删除D盘符?

点评

原有三个分区,原本是C/D/E三个盘符的,C盘是Windows系统 当你进入父VHD系统后,C盘是父VHD系统,原有的三个分区变成了D/E/F 为了使得在父VHD系统中看到的盘符内容跟原来系统一致,就需要在父VHD系统中把Windows分  详情 回复 发表于 2021-1-14 09:34
回复

使用道具 举报

11#
发表于 2021-1-11 22:36:57 | 只看该作者
感谢楼主的网盘分享,学习一下慢慢研究
回复

使用道具 举报

10#
 楼主| 发表于 2021-1-11 15:27:12 | 只看该作者
ls68057121 发表于 2021-1-11 14:02
意思是,脚本每次都会复制指定的vhd并改名是吗

是的 按照步骤可以先操作一次就能明白了 先按操作步骤跟一遍 后续如果需要根据自己喜好调整文件名这些的可在理解后再自行更改
回复

使用道具 举报

9#
发表于 2021-1-11 14:22:38 | 只看该作者
先顶,然后慢慢研究
回复

使用道具 举报

8#
发表于 2021-1-11 14:02:47 来自手机 | 只看该作者
2010speedloong 发表于 2021-1-11 13:05
grub2只是启动引导而已 实际达到还原效果最关键的是脚本和复制子VHD的操作

意思是,脚本每次都会复制指定的vhd并改名是吗

点评

是的 按照步骤可以先操作一次就能明白了 先按操作步骤跟一遍 后续如果需要根据自己喜好调整文件名这些的可在理解后再自行更改  详情 回复 发表于 2021-1-11 15:27
回复

使用道具 举报

7#
 楼主| 发表于 2021-1-11 13:05:45 | 只看该作者
本帖最后由 2010speedloong 于 2021-1-11 14:07 编辑
2010speedloong 发表于 2021-1-11 13:04
先跟着步骤来做 不会有问题的

grub2只是启动引导而已 实际达到还原效果最关键的是脚本和复制子VHD的操作

点评

意思是,脚本每次都会复制指定的vhd并改名是吗  详情 回复 发表于 2021-1-11 14:02
回复

使用道具 举报

6#
 楼主| 发表于 2021-1-11 13:04:44 | 只看该作者
ls68057121 发表于 2021-1-11 12:20
看得不是很懂,是grub2每次都会自己刷一个新的子vhd出来嘛

先跟着步骤来做 不会有问题的

点评

gurb2只是启动引导而已 实际达到还原效果最关键的是脚本和复制子VHD的操作  详情 回复 发表于 2021-1-11 13:05
回复

使用道具 举报

5#
发表于 2021-1-11 12:54:17 | 只看该作者
2010speedloong 发表于 2021-1-11 12:12
好的 稍后我调整一下

感谢楼主的网盘分享
回复

使用道具 举报

4#
发表于 2021-1-11 12:20:16 来自手机 | 只看该作者
看得不是很懂,是grub2每次都会自己刷一个新的子vhd出来嘛

点评

先跟着步骤来做 不会有问题的  详情 回复 发表于 2021-1-11 13:04
回复

使用道具 举报

3#
 楼主| 发表于 2021-1-11 12:12:21 | 只看该作者
mrzhonghb 发表于 2021-1-11 11:56
下载附件需要多少分啊,能不能放网盘啊

好的 稍后我调整一下

点评

感谢楼主的网盘分享  详情 回复 发表于 2021-1-11 12:54
回复

使用道具 举报

2#
发表于 2021-1-11 11:56:33 | 只看该作者
下载附件需要多少分啊,能不能放网盘啊

点评

好的 稍后我调整一下  详情 回复 发表于 2021-1-11 12:12
回复

使用道具 举报

1#
发表于 2021-1-11 11:28:18 | 只看该作者
干洗分项
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-21 14:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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