无忧启动论坛

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

[求助] 这样的一键恢复怎么完善

[复制链接]
跳转到指定楼层
1#
发表于 2024-1-15 16:57:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是vhd系统,一键恢复是这样的,写一个bat文件,里面几个简单的命令:
@echo off  
del WIN7_child.VHD
copy WIN7_child_bak.VHD WIN7_child.VHD
WIN7_child.VHD是差分子文件,是平时使用的系统,WIN7_child_bak.VHD是差分子文件备份,需要恢复系统时,把WIN7_child.VHD删除,WIN7_child_bak.VHD复制改名WIN7_child.VHD,重启后又是一个新系统了。
现在的问题是,每次操作要进入pe执行这个bat文件,能不能简单一点,用grub(g4d或grub2)命令完成这个功能?请大神们不吝赐教!
2#
发表于 2024-1-15 17:11:34 | 只看该作者
这种事情还是稳妥点好啊!
难得一次,手工输入一长串命令,记不住或怕键错,也不见得快到那里去!
弄个骨头版的PE,PECMD.INI里加一句,进去就运行那个批处理;
最后再来一句PECMD命令,好像是PECMD.EXE SHUT R,重启PE也行,慢不了多少;
回复

使用道具 举报

3#
发表于 2024-1-15 17:18:21 | 只看该作者
回复

使用道具 举报

4#
发表于 2024-1-15 17:20:18 | 只看该作者
::在注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
::右键新建字符串值 restore 样例: 字符串数值数据里就是填写 D:\Win7vhd\Restore_Win7vhd.cmd

@ECHO off&PUSHD %~dp0
setlocal enabledelayedexpansion
SET dif=Basevhd.vhdx
SET Sub_1=BaseSub_1.vhdx
SET Sub_2=BaseSub_2.vhdx
set ID={c16c08ed-b1b6-11ee-b734-4ccc6afb2e83}
:Start
   IF NOT EXIST %~dp0!dif! call :first
   for /f,"delims=",%%a in ("!dif!") do set vol=[%%~da]& set pn=%%~pa
:bcd_restore
   COPY /y %~dp0!dif!  %~dp0!Sub_1! >nul 2>nul
   IF errorlevel 1  (
      COPY /y %~dp0!dif!  %~dp0!Sub_2!
      BCDEDIT /set !ID! osdevice vhd=!vol!!pn!!sub_2!
      BCDEDIT /set !ID! device vhd=!vol!!pn!!sub_2!
      ) ELSE (
      BCDEDIT /set !ID! osdevice vhd=!vol!!pn!!sub_1!
      BCDEDIT /set !ID! device vhd=!vol!!pn!!sub_1!
    )
:reg
    for /f "tokens=1*" %%c in ('bcdedit /enum !ID!') do (
                     if /i "%%c"=="device" (echo --BCD changed to %%d)
                )
    pause>nul
    EXIT
:first
    for /r %%d in (*.vhdx,*.vhd) do (set sys=%%~nxd)
    echo %sys%& pause>nul
    ECHO create vdisk file=%~dp0!dif! parent="%~dp0!sys!"|DISKPART >nul
    COPY /y %~dp0!dif!  %~dp0!Sub_1!
    GOTO :eof

仅供参考 ...
回复

使用道具 举报

5#
发表于 2024-1-15 18:03:31 | 只看该作者
本帖最后由 hilsonma 于 2024-1-15 18:37 编辑

我的是这样的:

  1. @echo off
  2. title 一键还原_vhd
  3. set p=%~p0
  4. set d=%~d0
  5. set d=%d:~,1%
  6. echo.
  7. echo     注意!!!
  8. echo.
  9. echo 即将把系统还原到刚安装时的状态!!!
  10. echo 如果有未保存的资料请先保存!!!
  11. echo.
  12. echo.
  13. echo 要取消还原请关闭此窗口
  14. echo.
  15. echo 要继续还原请按任意键...
  16. pause>nul
  17. cls
  18. if %SystemDrive%==X: goto pe
  19. copy win0.vhdx win1.vhdx&&set n=1||(set n=2&copy win0.vhdx win2.vhdx)
  20. bcdedit /set {default} device vhd=[%d%:]%p%win%n%.vhdx
  21. bcdedit /set {default} osdevice vhd=[%d%:]%p%win%n%.vhdx
  22. goto end
  23. :pe
  24. copy win0.vhdx win1.vhdx
  25. copy win0.vhdx win2.vhdx
  26. :end
  27. echo.
  28. echo 已还原,按任意键即刻重启
  29. echo 要取消重启请关闭窗口
  30. pause>nul
  31. shutdown /r /t 0
复制代码


我是交替使用win1.vhdx 和 win2.vhdx 的
相当于2个楼主的WIN7_child.VHD
而作为备份的叫win0.vhdx,相当于楼主的 WIN7_child_bak.VHD

注意主启动需是bcd菜单,且vhd系统是默认项,否则只适用于pe执行,不适用于vhd系统内执行

点评

以您的技术,还用准备着随时恢复系统 ? 我目前安装的系统,已用了几年了,照样很流畅;退一步说,即使系统出问题了,进不去了或不流畅了,也首先要想办法解决,而不是恢复系统;再退一步说,即便系统真出问题了  详情 回复 发表于 2024-1-15 22:43
回复

使用道具 举报

6#
发表于 2024-1-15 19:36:08 | 只看该作者
谢谢分享
回复

使用道具 举报

7#
发表于 2024-1-15 22:43:29 | 只看该作者
本帖最后由 likeyouli 于 2024-1-16 07:21 编辑

以您的技术,还用准备着随时恢复系统 ?
  我目前安装的系统,已用了几年了,照样很流畅;退一步说,即使系统出问题了,进不去了或不流畅了,也首先要想办法解决,而不是恢复系统;再退一步说,即便系统真出问题了,进不去了,在保留当前系统数据的基础上,再安装一个新系统,新系统进去后,依然能调老系统的数据,什么也不影响(当然有些软件需要重新安装,软件数据差不多都能恢复了,起码我使用的软件都没问题)。
      综上,我连备份系统都懒得备份了,更别说通过vhd差分交替恢复系统或用影子系统、uwf什么的了,我生怕我使用的记录保留不下呢,这样下次使用就会很方便。

点评

修复系统、清理系统、新装系统都比较费时间,用差分系统可以秒还原至新装状态,我觉得方便。 存档我都放到D盘了的,vhd系统是纯操作系统,没有自己的存档,所以还原不影响存档文档。 还有的场景就是我的一些朋友  详情 回复 发表于 2024-1-16 05:52
回复

使用道具 举报

8#
发表于 2024-1-16 05:52:34 | 只看该作者
本帖最后由 hilsonma 于 2024-1-16 06:01 编辑
likeyouli 发表于 2024-1-15 22:43
以您的技术,还用准备着随时恢复系统 ?
  我目前安装的系统,已用了几年了,照样很流畅;退一步说,即 ...

修复系统、清理系统、新装系统都比较费时间,用差分系统可以秒还原至新装状态,我觉得方便。
存档我都放到D盘了的,vhd系统是纯操作系统,没有自己的存档,所以还原不影响存档文档。

备份也是费时间的,用差分系统就不需要另作备份,父vhd就是现成的备份了,使用的都是差分系统,还原的也是差分系统,操作轻便。

还有的场景就是我的一些朋友,电脑技术不是很好,只是会一些办公操作,我给他们装了vhd系统,当他们用着觉得卡了,可以随时一键秒还原至我安装的状态,这样就不用久不久的找我处理这方面的问题了。
回复

使用道具 举报

9#
 楼主| 发表于 2024-1-16 08:53:43 | 只看该作者
感谢各位大佬!综上各贴,干脆就不用bat文件了,做3个差分子文件,一个备份,二个都放入菜单,一个损坏,从另一个启动,然后把备份的一个又复制改名为损坏文件同名。这样比进pe要快多了。父文件大,子文件反正很小的。
回复

使用道具 举报

10#
发表于 2024-1-16 08:54:10 | 只看该作者
回复

使用道具 举报

11#
发表于 2024-1-16 10:19:45 | 只看该作者
grub的dd命令不靠谱,可以用native pe内核来完成替换文件,在nativepe里写批处理,精简又快
回复

使用道具 举报

12#
发表于 2024-1-17 04:55:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

13#
发表于 2024-1-24 15:22:35 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
发表于 2024-1-26 12:03:33 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-29 08:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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