用了10几年了,都是老技术 |
技术贴,谢谢分享 |
学习了 谢谢 |
D_M_GuYing 发表于 2025-10-13 17:07 收到,谢谢 ![]() |
本帖最后由 D_M_GuYing 于 2025-10-13 17:08 编辑 langyun 发表于 2025-10-13 14:34 开机后,也就是在计算机登录的时候,如果用的A.vhdx登录,开机后就把启动项变成了B.vhdx,也就达到了下次重启还原的目的,其实关机前执行也是可以的,但不保险,关机的情况变数太大了,有什么不正常关机就执行不了了 |
不错的办法 |
计划任务?是开机后执行还是关机前执行? |
感谢分享! |
好方法,谢谢分享! |
fh123456 发表于 2025-10-12 13:06 那就按你的想法在计划任务里设置吧,手动也行 |
方法可以啊,但是觉得没必要每次都还原 |
谢谢分享 |
完美 |
天风 发表于 2025-10-12 09:44 都是些很不错的方法,各人根据自己的喜好的要求选择使用就可以,我的做法和思路就是一个,让我的电脑每次重启时,都还原到最佳状态,不需要备份还原的启动项,只有一个启动项够我启动就可以了 |
谢谢分享 |
学习一下 |
多谢楼主分享,学习了 |
之前好像哪里看到过,说grub里的dd命令脱离文件系统操作文件,貌似有什么问题,不是很完美。久了也忘了 |
想起了我很久之前的一篇帖子,找出来给楼主分享一下,用GRUB的DD命令,快速还原。 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=434667 =============================== 引导菜单文件: title 【1】VHD OS主系统 find --set-root --ignore-floppies --ignore-cd /bvhd/os/1.vhd command /BVHD/grub/SISO NTBOOT=NT6=/bvhd/os/1.VHD title 【2】 VHD OS秒还原并重启 find --set-root --ignore-floppies --ignore-cd /bvhd/os/2.vhd dd if=()/bvhd/os/2.vhd of=()/bvhd/os/1.vhd command /BVHD/grub/SISO NTBOOT=NT6=/bvhd/os/1.VHD ============================= OS.VHD为父VHD 1.VHD为子系统 2.VHD为子系统备份,1.VHD出错的时候,用2.VHD覆盖1.VHD,并加载运行。 演示文件下载 https://www.123pan.com/s/bH5A-4sRBh 提取码:3333 |
支持支持 |
谢谢分享 |
多谢分享,学习了 |
谢谢楼主分享 |
感谢分享 |
感谢分享 ! |
本帖最后由 baby1277 于 2025-10-11 23:26 编辑 vhd还原研究了半年,分享下我的方法。 安装阶段: 1:差分 a.vhdx b.vhdx back.vhdx echo create vdisk file=%~dp0back.vhdx parent=%~dp0Win11.vhdx|diskpart copy /y back.vhdx b.vhdx copy /y back.vhdx a.vhdx 2:创建 引导a.vhdx的bcd文件: a_bcd (挂载vhd后用bcdboot创建引导菜单 再用bcdedit /export导出) 3:创建 引导a.vhdx的bcd文件: b_bcd 开机运行阶段: 用back.vhdx 覆盖a.vhdx和b.vhdx 复制成功则导入对应的bcd文件来改变vhd文件路径 cd /d %~dp0 copy /y back.vhdx a.vhdx && bcdedit /import "%cd%\a_bcd" copy /y back.vhdx b.vhdx && bcdedit /import "%cd%\b_bcd" 以上开机脚本只能用于比较固定的引导菜单,但也可以变通些。 读取bcd文件的guid 用 bcdedit /default 来改变vhd文件路径 这时bcd文件仅仅是存储guid和vhd文件路径,不导入就不会影响前期添加的引导菜单。 cd /d %~dp0 copy /y back.vhdx a.vhdx && for /f "tokens=2" %%i in ('bcdedit /store "%cd%\a_bcd" /enum {default} /v^|find /i "resumeobject"') do bcdedit /default %%i copy /y back.vhdx b.vhdx && for /f "tokens=2" %%i in ('bcdedit /store "%cd%\b_bcd" /enum {default} /v^|find /i "resumeobject"') do bcdedit /default %%i 就这么简单,不需要复杂的逻辑,两三句脚本搞定。 |
jlshnlhj 发表于 2025-10-11 21:13 什么事儿都是有变数的,你把第二变就给固定了,这个思维逻辑要不得 |
jlshnlhj 发表于 2025-10-11 21:13 就说咱俩就不在一个路上,别再论了,你的方法,早就有。我只是在从另一个角度在实现同一个目的,我的目的就是要每次开机重启就恢复原位。那你弄那么多a.vhdx,b.vhdx,bak.vhdx,建立N个启动项是不是就没意义了?我的目的就是无论是谁,无论你的VHDX在哪里,你文件名是什么,尽可能的,排除所有外在因素,只要达到前题条件,就可以实现目的。还有,你玩来玩儿去的,搞不好哪次你的b.vhdx,bak.vhdx就失效了,因为你母文件早就修改了,你的b.vhdx,bak.vhdx是2000年创建的....再说,你的b.vhdx,bak.vhdx还不是以父文件为根本作的,你浪费那到几毫秒从根本上重作一个差分,总比用旧的要好,, |
本帖最后由 jlshnlhj 于 2025-10-12 19:35 编辑 父:A.vhdx差分出3个:a.vhdx,b.vhdx,bak.vhdx,每个4M左右。 这样可以交替恢复,先用a.vhdx,故障后重启,进b.vhdx,开机成功后自动执行:copy bak.vhdx a.vhdx,此时a.vhdx已恢复。以后一直b.vhdx,故障后再重启,进a.vhdx,开机成功后a.vhdx恢复。 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.