无忧启动论坛

标题: 详细记录一下我的【子VHD秒还原】菜单 [打印本页]

作者: 879792799    时间: 2022-5-23 08:53
标题: 详细记录一下我的【子VHD秒还原】菜单
本帖最后由 879792799 于 2023-5-26 12:19 编辑

不建议工作环境使用此方法,家庭娱乐可以在备份好数据后尝试下!


重要提醒:
已经有两位大佬顾虑DD命令影响硬盘数据安全  想尝试请先把硬盘数据备份好 本人概不负责
                             但也没有实在事实 证明DD命令真的不安全  大家自己谨慎选择吧!

我是传统的Legacy模式(BIOS+MBR)模式 不是EFI和GPT  请注意数据安全备份好!

=========================================================================
                                                                    先来个浓缩版的                     
                       大致意思这样:[不进系统也不进pe]就在GRUB4DOS中【 相当于一个微型pe】直接用DD命令
                             实现用【备份vhd】直接覆盖【在用vhd】然后再SISO启动vhd -- 实现秒还原!
=========================================================================


C盘设置引导方式为GRUB4DOS和放置好 SISO menu.lst等相关文件后
------也就是2010sya大大 一个2M大小的u盘PE整体引导工具  此处也可以下载 我直接解压到C盘 然后设置引导方式为GRUB4DOS

然后我是这样的:
一共是三个VHD文件--注意是vhd不是vhdX  (VHDX与VHD写法有区别的)
一个父vhd --D:\DIY\000\Windows81eie.vhd(父VHD的位置无关紧要 可以与子vhd分开放貌似不在一个盘符都可以  )
一个子vhd【在用VHD】  ---‪D:\DIY\1.vhd
一个子vhd初始状态的复制版【子VHD复制版】  -----D:\DIY\1-bak.vhd

修改menu.lst(去除红色注释 并修改成自己实际在用名称
------下面启动代码与父VHD无关  仅仅是子VHD和子VHD的复制版本的位置


pxe detect                                                                                   ----------惯例代码 不用管
configfile                                                                                  ----------惯例代码 不用管
default 2                                                                              ----------惯例代码 不用管
timeout 5                                                                          ----------惯例代码 不用管


title  1. ==miao huanyuan==                                             ----------这个秒还原标题
find --set-root --ignore-floppies --ignore-cd /DIY/1-bak.vhd    -----找到子VHD复制版本也就是【D:\DIY\1-bak.vhd】位置
dd if=()/DIY/1-bak.vhd of=()/DIY/1.vhd   -----就是DD命令用子VHD复制版本【D:\DIY\1-bak.vhd】覆盖在用子VHD
find --set-root /Boot/grub/SISO                                   -------就是找到SISO模块  
command /Boot/grub/SISO NTBOOT=NT6=/DIY/1.VHD            -------用siso启动覆盖之后的VHD系统【D:\DIY\1.vhd】

ok 搞定!!就是这么简单!以上代码没仔细检查可能有小错误注意排查!

                         我是从这里学会vhdx秒还原   ------  源贴  谢谢liujun2000大大!=========================================================================
                                             以上是浓缩版【看懂】不用往下看   
=========================================================================





                                              菜鸟不懂继续往下看【比较啰嗦 要有耐心】


-------让菜鸟体验一下秒还原强大(不用重装系统   安装可疑软件或者系统变卡了  只要不满意就秒还原  就是任性!)
-------啰里啰唆的过程其实哼简单  高手路过  仅供菜鸟体验!!!!!

                          先概述下面几张图片上有用到软件和G4D相关文件名称及位置


       整个操作过程需在PE中进行   
       其实就是bootice手动更改引导类型G4D      
       下载好(一个2M大小的u盘PE整体引导工具此处也可以下载启动文件解压直接复制到放到活动分区   
       再记事本更改一下menu.lst这个文件里的代码  就行了不用太复杂步骤   

     


大体是上图显示的!



下面流程上使用的工具都在图片中主要就是BOOTICE 呵呵!


分区的引导类型是G4D   G4D启动文件我放在C盘   也就是硬盘的活动分区
--具体G4D启动文件在这里一个2M大小的u盘PE整体引导工具 此处也可以下载 谢谢2010sya大大!
--万能引导(不限数量 !!一个和一万个系统都一样)所有盘符下DIY文件夹里wim  iso vhd pe 等等类型系统!
C盘仅仅就放G4D引导文件  下面图片里有C盘文件夹结构详图!


引导相关搞定后开始【下面是我个人具体流程和代码】:

一共是三个VHD文件--注意是vhd不是vhdX  (VHDX与VHD写法有区别的)

一个父vhd --D:\DIY\000\Windows81eie.vhd(父VHD的位置无关紧要 可以与子vhd分开放貌似不在一个盘符都可以  )
一个子vhd【在用VHD】  ---‪D:\DIY\1.vhd
一个子vhd初始状态的复制版【子VHD复制版】  -----D:\DIY\1-bak.vhd



g4d 菜单代码也就是修改menu.lst(去除红色注释 并修改成自己的代码
------下面启动代码与父VHD无关  仅仅是子VHD和子VHD的副本的位置


===================================================================
    第一种写法 有点不容易懂  这个代码是我【模仿的代码   源贴  谢谢liujun2000大大!

pxe detect
configfile
default 2
timeout 5

set VHDHDD=/DIY/1   -----这个是子VHD所在位置并去除.vhd                                    
                                        (相当是个变量赋值 不用写盘符自动搜寻所有驱动下的DIY目录 不用考虑父VHD位置)


title  0. Run{ALL-DIY}=ISO WIM VHD IMG --万能引导(不限数量)所有盘符下DIY文件夹里wim  iso vhd pe 等等类型系统
command SISO RUN=--loadfont --automenu-all /DIY/

title  1. ReBoot
reboot

title  2. Boot HDD NT6         -------G4D引导变换成微软自带引导  注意xp无法引导 只能引导WIN7及以上版本系统
find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /bootmgr

title  3. ==miao huanyuan==                               ---------------这个秒还原菜单
find --set-root --ignore-floppies --ignore-cd %VHDHDD%-bak.vhd          -------%VHDHDD%代表上面定义的set                                                           VHDHDD=/DIY/1    %VHDHDD%-bak.vhd就是子VHD复制版本也就是D:\DIY\1-bak.vhd
dd if=()%VHDHDD%-bak.vhd of=()%VHDHDD%.vhd                      ------就是DD命令用子VHD复制版本替换子VHD
find --set-root /Boot/grub/SISO
command /Boot/grub/SISO NTBOOT=NT6=%VHDHDD%.VHD


=================================================================

推荐这个写法 简单明了】第二种写法   

更加直接明白【特别适合G4D引导Message中使用】:

去除上面代码中  set VHDHDD=/DIY/1这一条

pxe detect                                                                                   ----------惯例代码 不用管
configfile                                                                                  ----------惯例代码 不用管
default 2                                                                              ----------惯例代码 不用管
timeout 5                                                                          ----------惯例代码 不用管


title  1. ==miao huanyuan==                                             ----------这个秒还原标题
find --set-root --ignore-floppies --ignore-cd /DIY/1-bak.vhd    -----找到子VHD复制版本也就是【D:\DIY\1-bak.vhd】位置
dd if=()/DIY/1-bak.vhd of=()/DIY/1.vhd   -----就是DD命令用子VHD复制版本【D:\DIY\1-bak.vhd】覆盖在用子VHD
find --set-root /Boot/grub/SISO                                   -------就是找到SISO模块  
command /Boot/grub/SISO NTBOOT=NT6=/DIY/1.VHD            -------用siso启动覆盖之后的VHD系统【D:\DIY\1.vhd】


====================================================================








注意:必须要有siso模块  C盘必须G4D引导方式 (我说的G4D指的是GRUB4DOS引导方式)
(VHD和子VHD创建 合并之类等等操作都可以使用bootice工具创建,下面图片上有提示)

全部完成 就重启电脑  注意启动画面   再按上下箭头选择需要的菜单条目
不按键盘默认就直接启动WIN7及以上版本的系统!



注意:menu.lst这个文件只能有一个{在其他位置也不行  好像会G4D自动搜索}
貌似两个或者多个 会相互干扰!!!一定仔细删除其余的menu.lst!!!

本人电脑有蠕虫不敢上传附件敬请原谅!{:1_186:}{:1_195:}
操作成功的麻烦过来回复一下添点人气!呵呵
如有不足或更好的建议,请大大们随时指正,谢谢!



我啰嗦讲了一堆如果看完还是不懂 可以去原帖学习下--{我也是在这些地方学会的}

可以去2010sya大大的帖子学习一下       g4d引导      一个2M大小的u盘PE整体引导工具  
可以去liujun2000大大的帖子学习一下 vhdx秒还原     秒还原源贴  


假如还不懂  你要加强基础学习 多泡论坛基础知识  

最起码 -- 重启进PE和用软件bootice设置引导方式为GRUB4DOS你要会吧,然后再尝试吧!呵呵



注意一下2010sya大大的  一个2M大小的u盘PE整体引导工具  帖子经过几次更新我也不知道具体是哪个, 应该是251#
此处也可以下载



=============不好意思!借此贴记录一下 自己正在用Message启动代码 防止以后忘记==============

pxe detect
configfile
default 0
timeout 5

gfxmenu /BOOT/GRUB/MESSAGE

title 【0】   启动GOOD.vhdx   
command SISO RUN=/DIY/GOOD.vhdx

title 【1】   SISO启动DIY文件夹下所有系统
command SISO RUN=--loadfont --automenu-all /DIY/

title 【2】  【备份好重要文件之后才能】GOOD.vhdx -SISO-秒还原                     
find --set-root --ignore-floppies --ignore-cd /DIY/GOOD-bak.vhdx
dd if=()/DIY/GOOD-bak.vhdx of=()/DIY/GOOD.vhdx
command SISO RUN=/DIY/GOOD.vhdx

title 【3】   BCD启动VHD-PE                    
find --set-root /bootmgr
chainloader /bootmgr

title 【4】   启动《手机沟通方便》 蓝牙MTP无垠PE              
command SISO RUN=/DIY/---zhongyao---/wuyinMTP10PE0801C.iso

title 【5】   启动 维护UQI-PE               
command SISO RUN=/DIY/---zhongyao---/uqipe.wim

title 【6】   启动 维护强力删除PE               
command SISO RUN=/DIY/---zhongyao---/BOOTblue.PE.WIM

title 【7】   VHD-11PE 秒还原                     
find --set-root --ignore-floppies --ignore-cd /DIY/VHD-PE-bak.vhd
dd if=()/DIY/VHD-PE-bak.vhd of=()/DIY/VHD-PE.vhd
command siso run (hd0,0)bootmgr

title 【8】   关闭计算机                  
halt



=============不好意思!借此贴记录一下 自己正在用Message启动代码 防止以后忘记==============










作者: jiyuquan    时间: 2022-5-23 09:38
技术贴,支持一下
作者: su45    时间: 2022-5-23 10:05
精神可嘉!鼓励原创!
作者: 879792799    时间: 2022-5-23 11:32
更新全部完成!望指点不足之处!
作者: 481416322    时间: 2022-5-23 12:20
本帖最后由 481416322 于 2022-5-23 12:22 编辑
879792799 发表于 2022-5-23 11:32
更新全部完成!望指点不足之处!

你做两个子系统,外加一个副本,不就省去PE了么。
作者: 9001    时间: 2022-5-23 12:25
会用bootice的,手动也行啊
作者: 879792799    时间: 2022-5-23 12:45
9001 发表于 2022-5-23 12:25
会用bootice的,手动也行啊

是啊!bootice就是那么简单又强大!
作者: Easong    时间: 2022-5-23 12:57
留个脚印备用,感谢大佬。
作者: 879792799    时间: 2022-5-23 13:00
Easong 发表于 2022-5-23 12:57
留个脚印备用,感谢大佬。

客气了 相互学习!
作者: ppll2030    时间: 2022-5-23 16:08
没细看,说错莫怪啊
如果只是菜单,不是直接备份bcd就好了嘛。
如果是vhd系统恢复也是删除问题子文件,再生成新的子文件不就OK了。
作者: fulibo    时间: 2022-5-23 16:29
其实就是vhd差分2个,一个拿来用,一个备份,
要还原的时候把备份的vhd复制成使用的vhd,实现还原!

我就一句话!你真的赶时间吗?
进PE重新差分一个,几分钟搞定!

还有就是你把还原功能放菜单里真的合适吗?

来一个小朋友就给你咔嚓了!


作者: 879792799    时间: 2022-5-23 16:34
ppll2030 发表于 2022-5-23 16:08
没细看,说错莫怪啊
如果只是菜单,不是直接备份bcd就好了嘛。
如果是vhd系统恢复也是删除问题 ...

是这个意思,不过这个过程是在g4d中完成的,不用进入系统或者pe 中完成,更加方便点
作者: 879792799    时间: 2022-5-23 16:39
fulibo 发表于 2022-5-23 16:29
其实就是vhd差分2个,一个拿来用,一个备份,
要还原的时候把备份的vhd复制成使用的vhd,实现还原!

在g4d中就完成pe中的功能不好吗?真不合适吗!也就是说g4d 变成了一个功能单一的PE 啊!能快一点不好吗?
作者: hbymyzw    时间: 2022-5-23 16:42
学习了 真不错
作者: ylac    时间: 2022-5-23 19:41
学习学习,不错
作者: 断桥烟雨    时间: 2022-5-23 20:19
学习学习,不错
作者: ddnflier    时间: 2022-5-23 20:50
谢谢楼主分享!我很喜欢
作者: 假大空    时间: 2022-5-23 22:19
dd命令覆写vhd貌似易出错
作者: 879792799    时间: 2022-5-24 05:36
假大空 发表于 2022-5-23 22:19
dd命令覆写vhd貌似易出错

为啥了?大大请指教
作者: w8yug    时间: 2022-5-24 08:23
好高大尚的样子
作者: oym2016    时间: 2022-5-24 13:11
在vhd工作目录下放个批处理就行了. 想还原时 就手动运行一次批处理,次次启动还原只怕工作数据忘记保存丢失......


作者: d9o    时间: 2022-5-24 14:52
EFI能用的DD命令好像还未完善,暂时未能实现EFI秒还原VHD。
作者: oym2016    时间: 2022-5-24 20:22
本帖最后由 oym2016 于 2022-5-24 20:32 编辑

::Restore.cmd
::放在目录中可手动恢复 :放入注册表可自动恢复

@ECHO off&PUSHD %~dp0 & REG.EXE QUERY "HKU\S-1-5-19">NUL 2>&1
IF %ERRORLEVEL% EQU 1 ( CMD /U /C ECHO. CreateObject^("Shell.Application"^).ShellExecute "%~f0", "", "", "runas", 1 > "%Temp%\GetAdmin.vbs"& "%Temp%\GetAdmin.vbs" & DEL "%Temp%\GetAdmin.vbs" & EXIT /B )

setlocal enabledelayedexpansion
SET dif=Basevhd.vhdx
SET Sub_1=BaseSub_1.vhdx
SET Sub_2=BaseSub_2.vhdx
IF NOT EXIST %~dp0!dif! goto :first

:restore
   IF EXIST GrubSign.?  DEL /f /q GrubSign.?
   COPY /y %~dp0!dif!  %~dp0!Sub_1! >nul 2>nul
   IF errorlevel 1  (
      COPY /y %~dp0!dif!  %~dp0!Sub_2!
      ECHO GrubSign2 >GrubSign.2
      ) ELSE (
      ECHO GrubSign1 >GrubSign.1
    )

:end               
    EXIT

:first
    SET sys=Win81Ent.vhdx
    ECHO create vdisk file=%~dp0!dif! parent="%~dp0!sys!"|DISKPART >nul
    COPY /y %~dp0!dif!  %~dp0!Sub_1!
    ECHO GrubSign1 >GrubSign.1
    exit
=====================================
::G4D菜单

  title  ntloader 启动 Win81Ent.VHDx (kernel方案1)
        find --set-root /Win81Ent/Basevhd.vhdx
        uuid ()
        if exist GrubSign.1 set vhdn=/Win81Ent/BaseSub_1.vhdx
        if exist GrubSign.2 set vhdn=/Win81Ent/BaseSub_2.vhdx  
        find --set-root /efi/grub/ext/ntloader
        kernel /efi/grub/ext/ntloader uuid=%?% file=%vhdn%
        initrd /efi/grub/ext/initrd.lz1

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


作者: 879792799    时间: 2022-5-24 22:44
oym2016 发表于 2022-5-24 20:22
::Restore.cmd
::放在目录中可手动恢复 :放入注册表可自动恢复

谢谢分享!
作者: iwangz    时间: 2022-10-3 19:38
谢谢楼主的分享
作者: her100    时间: 2022-10-3 20:04
学习了
作者: czg2008    时间: 2022-10-3 20:41
厉害,厉害,高手,不过太复杂太蛮烦。我还是一键吧
作者: 879792799    时间: 2022-10-4 06:57
czg2008 发表于 2022-10-3 20:41
厉害,厉害,高手,不过太复杂太蛮烦。我还是一键吧

一点不复杂  就是我描述的太啰嗦了
作者: zynt1012    时间: 2022-10-4 10:11
感觉批处理更快更便捷
作者: 879792799    时间: 2022-10-4 12:36
zynt1012 发表于 2022-10-4 10:11
感觉批处理更快更便捷

是啊 大大你有这样的批处理吗??? 我也想要个批处理
作者: ZMLoveLH    时间: 2022-10-4 13:00
楼主牛人,看看这个技术贴啊
作者: Sweet6789    时间: 2022-10-4 13:37
感觉好专业……小白不懂
作者: 2011lerv    时间: 2023-3-4 01:00
怎么不出个视频教程呢?这长篇大论已经吓退一般人了!
作者: 879792799    时间: 2023-3-4 06:39
本帖最后由 879792799 于 2023-3-5 13:15 编辑
2011lerv 发表于 2023-3-4 01:00
怎么不出个视频教程呢?这长篇大论已经吓退一般人了!

其实废话一堆 其实真正要表达的哼简单 怪我说的不清楚:  

可以先去2010sya大大的帖子学习一下  g4d引导     一个2M大小的u盘PE整体引导工具  

可以先去liujun2000大大的帖子学习一下 vhdx秒还原   ------  源贴  


然后应该就懂了  其实不难的!

自己备用:
1.http://bbs.wuyou.net/forum.php?m ... 4670&fromuid=577010
2.http://bbs.wuyou.net/forum.php?m ... 9620&fromuid=577010              
3.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=424033
4.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=429912
5.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=423670
6.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=429415
7.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=430883
8.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=426651
9.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=383090

作者: czg2008    时间: 2023-3-4 07:20
谢谢分享
作者: 879792799    时间: 2023-3-4 16:42
oym2016 发表于 2022-5-24 20:22
::Restore.cmd
::放在目录中可手动恢复 :放入注册表可自动恢复



求大大展开讲讲,可以吗??
或者大概说说是个什么样流程




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3