admin管理员组

文章数量:1566221

2024年7月21日发(作者:)

VHD实现Windows7瞬间还原

作者:liyusha 团队锦囊来源:远景论坛 点击数:1968 更新时间:2010-4-15

本文不定期更新,会不断完善代码,改进性能,增加功能,谢谢关注。

首先确定一点,本文已经被我试验成功,所以怀着迟疑态度的人现在可以抱着电脑研究

去了。试验成功的帖子在这里:/?tid=622649highl

ight=vhd。这里只写个思路。

用论坛的复制代码功能可能导致出现乱码,可以复制到记事本中然后再从记事本复制出

去,一般会解决。

本文的系统还原不同于其他的还原软件,不改写硬盘数据,不毁坏分区,不虚拟写入,

不需要缓冲区,不会因为长期不关机而死机,不借助任何辅助软件,完全是系统自带功能,

还可以随时修改还原点,所以最稳定最可靠。可以说是目前最安全最快速的硬盘还原方法。

如果你没有VHD系统,也没做过VHD系统,那么请在论坛学习VHD系统相关知识。如果

你已经做过VHD系统,那么你要做的仅仅是建立一个子VHD盘,复制一个自删除的批处理文

件,修改一下启动项。如果你做过VHD系统,那么我想这些对你来说是非常的小菜。

原理篇:

如果你有两套系统,你还会担心你的其中一套系统坏掉吗?当你一套系统坏掉的时候,

启动到另一套系统就OK了。此文就是以此为原理来实现瞬间还原的。瞬间还原,也就是让

你从一个系统重启到另一个系统而已。但是两套系统又太浪费磁盘空间,我们能不能让两套

系统公用同样的系统文件呢?答案是肯定的,VHD虚拟磁盘就能帮助我们实现。我们可以把

两套系统中一模一样的文件放在母盘里,两套系统不同的文件分别存储在两个子VHD文件里,

这样我们就不会太浪费磁盘空间了。其实用VHD系统某种程度上还能节省空间。(因为其实

Windows7里面的文件很多都是通过磁盘映射来的,两个一模一样的文件看似在两个文件夹

中,但是实际上其中一个只是另一个的映射,但是却需要占用两份磁盘空间。但是在VHD里,

这样的两个相同的文件却只占用一份磁盘空间,所以我的一个系统做成VHD文件只需要占用

3.5G的磁盘空间)。

也许这样说您还是不能明白,那么我换一种说法。我们把当前的系统状态保存下来,就

是VHD母盘,然后我们使用系统之后,对系统所作的更改都放在一个VHD子盘中,当我们需

要还原系统的时候,我们就删掉VHD子盘,这样就还原到了母盘状态,然后我们再新建一个

子VHD,好让下次也可以还原到母盘状态。

技术上实现的原理是利用VHD的差异磁盘。建立一个母盘,A、B两个差异盘,平时使用

A盘引导系统,当系统崩溃的时候使用B盘引导系统并自动删除A差异盘并建立新的A差异

盘。并调整启动选单,让B系统变为默认系统。等到B系统坏了的时候启动A系统,开机后

自动删除B差异盘并建立新盘,调整启动选单让A差异盘为默认系统。如此反复,达到瞬间

还原,只要重启一次系统就还原的目的。

而且还要为以后的扩展功能做准备,比如说加上可以随时保存修改的系统还原功能,或

者加上可以设定多个还原点的系统还原功能。所以我们在自启动文件夹中只放一个类似快捷

方式的符号连接,实际位置则在D盘中,这样可以任意修改而且还不被系统还原掉。

操作系统定期是要更新的,虽然我们的瞬间还原可以藐视一切病毒和漏洞,但是一个东

西用久了难免会觉得不好用,我们总会有各种各样的理由想修改一下,小到想换个主题,大

到对从前的母盘设置不满意,都需要面对一个棘手的问题,那就是母盘如何修改。

如果用从前的办法的话,规模就跟重做一次瞬间还原系统相当了。如何方便的修改已经

成型的母盘一直是我一个没解决的问题,后来又拿我老婆的笔记本不断研究,终于在各种错

误和偶然中找到了最简便的修改方式,现拿出来与大家分享。

首先说一个可能大家不知道的技巧。通常我们以为创建了子盘之后就不能再更改母盘,

甚至最好还把母盘改成只读属性,其实不然,子盘只是记载了对母盘的修改,而没有校验母

盘是否修改的功能,我们就是利用这一个“错误”的方法来实现修改母盘的目的的。

思路是这样的:把当前正在使用的系统的引导信息改成母盘的信息,重启之后会进入母

盘,而且会清空两个子盘,并且删除自启动的批处理。这之后我们可以尽情的修改系统直到

我们再次满意。当需要封装母盘的时候我们首先要把自启动的批处理还原回去,然后再把引

导信息修改为原来的子盘。就此大功告成,整个过程只需修改两次引导。

准备篇:

可能用到的文件如下:

母盘,就是系统还原最原始的状态,每次还原都还原到母盘状态,我们这里为节约体积

用动态磁盘。VHD容量为8G,文件大小为5G,文件路径为D:,并且里面已经安装

有优化过精简过个性化设置过的Win7系统。

差异盘A,我们正在使用的系统盘。文件路径为D:

差异盘B,我们为了系统还原准备的临时盘。文件路径为D:

其中差异盘A跟差异盘B都是挂到母盘上的差异盘。

足够大的物理分区一个,大小要大于2倍VHD的容量+VHD实际体积,NTFS格式,且不

能磁盘压缩。最好是单独一个分区专门放这个。我举例为D盘

Windows7系统可以正常引导。

实战篇:

1、制作一个VHD的Windows7系统。文件路径为D:

2、用管理员身份在命令提示符下执行如下命令for /f "tokens=1-2" %a in ('Bcdedi

t -create /d "Win7" /application osloader') do echo %b得到诸如echo {9bc08e8d-80

f8-11de-86ed-001fc6de4e51},记下大括号以及其中的内容,就是启动项标识符,留作下面

使用重复上面动作动作,得到另一个大括号的内容,也同样记录下来,留作下面使用,如果

不会的话,就直接用这两个吧:{9bc08e8c-80f8-11de-86ed-001fc6de4e51}{9bc08e8d-80f8

-11de-86ed-001fc6de4e51}(下面的例子就用此,如果想省事儿,就请直接用这个,如果想

用自己的标识符,那么下面所有的标识符请自行替换,一共就两个标识符而已,很好换。)

3、新建一个空白批处理文件,名字为,放到D盘里面,留作自启动批处

理的符号连接源文件。

4、在物理机上挂接母盘,(如果本系统就是母盘,则不用重复挂接)控制面板-管理工

具-计算机管理-磁盘管理。磁盘管理几个字上点右键,附加VHD。浏览到D:并确

定。磁盘中会多出一个VHD虚拟磁盘。输入如下命令以建立自启动批处理的符号连接

mklink “VHD盘符:Users你的用户名

AppDataRoamingMicrosoftWindowsStart

” “D:”

5、用记事本打开D:,输入如下命令,其中大括号中的标识符带表上一步

得到的两个启动项的标识符,请替换成你自己的。

echo create vdisk file="D:" parent="D:" >

"D:"

echo create vdisk file="D:" parent="D:" >

"D:"

del "D:Win7?.vhd"

diskpart /s "D:"

diskpart /s "D:"

del "D:creat?.txt"

bcdedit /default {current}

bcdedit /set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} description "Windows

7 瞬间还原”

bcdedit /set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} description "Windows

7 瞬间还原”

bcdedit /set {current} description "Windows 7 已恢复"

bcdedit /import D:BcdBakup

if errorlevel 1 goto DelRun

del D:BcdBakup

goto end

:DelRun

del "C:Users你的用户名AppDataRoamingMicrosoftWindowsStart

"

:end

经试验,这个批处理是可以用的。然后在磁盘管理里面断开这个VHD文件的映射。

上面的命令的目的是设置当A启动的时候自动删除B盘并生成新的B盘,设置当B启动

的时候自动删除并生成新的A盘。最后判断是否能成功导入BcdBakup这个BCD引导配置的

备份文件,如果导入成功则删除这个文件,如果没导入成功则删除自启动的批处理。(这段

用作修改还原点操作。)

如果大家有疑问,我会等会儿在回复中回答这些命令的含义。

4、建立两个差异盘A和B。

用管理员方式运行命令提示符,输入如下命令(同上,大括号内的标识符你可以替换成

自己的数据,但是请保证跟上面一致)

DISKPART

DISKPART> create vdisk file="D:" parent="D:"

DISKPART> create vdisk file="D:" parent="D:"

exit

(其实创建一个就行了)

5、生成A和B的引导

用管理员方式运行命令提示符,输入如下命令

bcdedit -create {9bc08e8c-80f8-11de-86ed-001fc6de4e51} -d "Windows 7 正

常使用" -application OSLOADER

bcdedit -set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} device

vhd=D:

bcdedit -set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} path

bcdedit -set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} locale zh-CN

bcdedit -set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} inherit

{bootloadersettings}

bcdedit -set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} osdevice

vhd=D:

bcdedit -set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} systemroot windows

bcdedit -set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} nx optin

bcdedit -set {9bc08e8c-80f8-11de-86ed-001fc6de4e51} detecthal yes

bcdedit -displayorder {9bc08e8c-80f8-11de-86ed-001fc6de4e51} /addfirst

bcdedit -create {9bc08e8d-80f8-11de-86ed-001fc6de4e51} -d "Windows 7 瞬

间还原" -application OSLOADER

bcdedit -set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} device

vhd=D:

bcdedit -set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} path

bcdedit -set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} locale zh-CN

bcdedit -set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} inherit

{bootloadersettings}

bcdedit -set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} osdevice

vhd=D:

bcdedit -set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} systemroot windows

bcdedit -set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} nx optin

bcdedit -set {9bc08e8d-80f8-11de-86ed-001fc6de4e51} detecthal yes

bcdedit -displayorder {9bc08e8d-80f8-11de-86ed-001fc6de4e51} /addfirst

6、重启。

7、如果不想启动的时候看见本来的系统,请自行用bcdedit来删除引导,因为这个与

本文无关,故不再多述。

其他:附送另一个我以前写的一个批处理,也能起到自动建立Win7A引导的目的。修改

第二行的改成就能建立的引导(倒数第二行和倒数第三行

是假设引导分区是C盘,否则请做相应修改这两行中的C: )

del D:Parent?.txt

echo CREATE VDISK FILE="D:" PARENT="D:" noerr >

"D:"

echo select vdisk file="D:" noerr >> "D:"

echo attach vdisk noerr >> "D:"

echo select PARTITION=1 >> "D:"

echo attach vdisk noerr >> "D:"

echo ASSIGN LETTER=B noerr >> "D:"

diskpart /s "D:"

echo SELECT VOLUME=C > "D:"

echo active >> "D:"

diskpart /s "C:"

diskpart /s "C:"

bcdboot B:windows /s C:

bootsect /nt60 C: /mbr

del C:Parent?.txt

使用篇:

重启之后,开机会多出两个系统,一个叫正常使用,一个叫瞬间还原。当我们选择正常

使用启动的时候,我们就会跟没还原一样,还是用的原来的系统,当我们选择瞬间还原启动

的时候,我们的系统就会变成母盘的状态,然后进入桌面,当第一次进入桌面的时候会出现

一个DOS窗口,作用是删除另一个子VHD(就是上次启动时候的正常使用系统),然后再重

新建立一个空的子VHD来代替,以备下次还原时候使用。再把目前的子VHD设置成默认启动

项,并且启动项的名字改成正常使用,把刚才建立的新的子VHD的启动项改名字成瞬间还原。

这个DOS窗口会自删除,所以第二次启动就不会出现了。(因为这是保存在母盘里面的,所

以当下次还原的时候还会回到母盘的状态,这个DOS窗口还会出现一次,并且把自己再删除,

所以能无限次使用,但是每次还原只出现一回,也就是本原理的奇妙之处。)

当需要保存修改的时候,用管理员权限在命令提示符下运行如下命令:

bcdedit /export D:BcdBakup

//这步是备份BCD引导配置文件以备修改完恢复瞬间还原的引导菜单

bcdedit /set {current} osdevice vhd=D:

//设置默认引导为母盘VHD

bcdedit /set {current} device vhd=D:

//设置默认引导为母盘VHD【这条貌似可以不用】

2、重启到母盘系统,然后修改系统到喜欢的状态,然后再次重启。

3、如果期间多次重启,则可能导致自启动的批处理自己删除了自己,可以手动复制回

去,或者再次运行一下上面第一点中的命令。

技巧篇:

1、怎样制作最佳的VHD母盘。

首先我推荐动态磁盘来做母盘,这样可以最节约空间。其次,母盘里面的系统要用NTF

S磁盘压缩,这样更进一步节约空间。尤其是windows文件夹中的winsxs文件夹,获取管理

员权限然后压缩之后,整个母盘可以控制在3.5G以下。正常的磁盘清理垃圾,清理各种软

件的缓存,设置好所有常用的软件,争取以后还原之后什么都不需要设置就可以直接使用。

2、放VHD文件的磁盘要设置成多大的分区。

推荐VHD动态磁盘内部的空间大小设置成10G,这样下来之后母盘是4G,平常的话母盘

+两个子盘占用的空间就是10G+0G+4G=14G(因为虽然是动态VHD,但是系统登陆之后仍然会

把空间扩充到最大,所以依然是10G大小。但是系统关机后会还原到最小状态)。如果用一

阵子,其中的一个子盘会慢慢变大(因为存储的是对母盘的改变,当然会越变越大。)到后

来可能会占用5G多呢。(我就占用到超过6G过)不过也不太可能撑满10G。所以暂时就当

它能扩充到5G吧。当我们系统还原的时候,假设子盘扩充到5G,当选择启动项“瞬间还原”

登陆系统但是dos窗口还没出现的时候,系统占用磁盘空间为5G+10G+4G=19G。因为我们用

的第二个子VHD启动,所以上一个公式的0G变成10G。10G因为关机了变成了5G。4G母盘

是永远不变的。因此我们可以大概的这样设定,装载VHD盘的硬盘分区空间设定为20G。这

样启动的VHD系统,容量是10G,并且有6G可用空间。(但是全选里面的文件夹看占用空间

却是8G左右。而看分区使用情况的话却是4G左右,很奇妙,即使是NTFS磁盘压缩也压缩

不到这个程度,所以推断,VHD里面的文件映射只占用一个文件的磁盘空间。)但是如果一

个子盘使用过久,即使关机状态也超过了6G的话,或者非法关机,所以VHD仍然是10G而

没缩小的话。如果这时启动时候选择瞬间还原系统来还原,就会造成另一个子VHD,因为空

间不足无法扩充到10G,而在登陆帐户的时候造成蓝屏死机。所以这个20G的分区并不是最

安全的选择,最安全的当然是10G+10G+4G=24G的时候最安全,不过子VHD很少会扩充成10

G这样,所以这是在浪费空间。当然如果你说你平时不做什么,磁盘空间又很紧张的话,把

20G改成18G也是可以正常使用的,但是不推荐设置成17G以下,太冒险了。如果真的因为

空间不足而无法启动,只要用任何方法,删除那个体积大的子盘就行了。(比如说用PE系

统或者DOS,我本人很推荐安装一个PE系统,跟VHD放一个盘,即使只有20G空间也应该不

影响什么。)

3、把系统还原到任意时间点。其实只需要备份一下子系统,然后以后想还原到这个状

态的时候还原子系统就行了。

答疑篇:

1、VHD性能不行。

确实VHD性能是有所损失,但是我使用了这么久,性能损失基本可以忽略不计。毕竟操

作系统也就开机的时候狂读硬盘,平常我们看电影玩游戏听音乐,用的都不是系统盘,都是

我们的真实硬盘,可以非常肯定的告诉大家,VHD做系统盘,平常使用中,那个性能的损失,

是感觉不出来的。

2、还原软件不安全。

以前的还原软件都要加载特殊驱动或者在磁盘引导区写入特殊代码或者改变分区。基本

上原理都是在硬盘中单独开辟出一块空间存储对磁盘所做的更改,还原的时候直接把这一块

空间数据删除。时间越久系统越不稳定,因为它们拦截改写了windows写入磁盘的方式。而

我这种方式的还原,虽然原理差不多,但是是基于windows7对VHD的支持上建立的,因此

不会加载第三方驱动,不改写硬盘数据,更不会损坏硬盘数据,而且不管用多久,都不会不

稳定蓝屏死机。

3、硬盘空间不够折腾。

其实想一下,我们16G的C盘可以有多少G的剩余空间?也就是6G左右而已,如果加

上系统自带的备份,一定超过20G,就算用Ghost备份,也是差不多20G的。而用我的方法

制造的VHD,虽然容量是10G,但是剩余空间也有6G,也就是说,20G的分区里面,只比16

G多了4G母盘空间而已,但是却能做到瞬间还原,比任何方式做的还原都快速便捷。所以硬

盘空间并不是问题。除非你从来不备份,也不保留Windows安装盘的ISO文件。

4、看起来好复杂很难。

做过VHD系统的人,基本上bcdedit命令也都了解的差不多了,怎么把VHD添加到启动

项也很清楚,怎么做子VHD也都轻车熟路。其实你要做的只是把我的批处理文件放在母盘的

相应目录。然后重启,就这么简单。三步:放入批处理到母盘,生成两个子VHD,建立新启

动项。从此以后再无后顾之忧。

5、Boot文件坏了还能恢复吗。

很遗憾,是不能恢复的,但是同理,还原软件在引导损坏的情况下,也是失效的。没有

任何东西在引导坏了的情况下还能继续启动执行还原操作。所以推荐各位用U盘或者光盘的

PE系统。同时不要直接点自动修复启动项,因为这个东西不会修复VHD启动项的。但是可以

把两个子VHD挂接到硬盘之后再执行这个自动修复启动项的操作,但是这样虽然能修复启动,

但是还原之后自动修改引导菜单名字的功能会失效,除非你自己用老的GUID重新手动添加

引导。

6、滚动条之后登陆桌面之前蓝屏。

请检查你的磁盘空间。子VHD虽然只有几K,但是启动之后会变成10G(具体视你的设

定)。没那么大空间就会蓝屏。

7、这个不好使。

我这篇只注重原理,原理是百分百可行的,至于哪里出了问题,可以发站内信给我。我

们一起研究特殊情况,互相学习共同进步。但是请不要诋毁这么多文字,那只能显示出你知

识的浅薄。

8、之后还能休眠和睡眠吗?

当然可以,至少我的混合睡眠都是完全可以的,前提是你安装好主板或者笔记本厂家的

电源驱动哦。

才疏学浅,只在几台电脑上测试通过(条件有限没太多电脑),希望对大家有帮助,如

果有疑问,请回帖。

此原理已经被shuaicai同学做成了一个特别牛X的批处理文件,传送门:

/

原文地址:/

54ming6595

继续完善【用VHD做Windows7的瞬间还原】20100921

继续完善【用VHD做Windows7的瞬间还原】20100921

回复

发帖

返回列表

PCBETA Beta1

UID612 帖子219 PB币229 威望57 贡献0

1楼 跳转到 »倒序看帖

打印字体大小: tT

liyusha 发表于 2010-9-21 20:45 | 只看该作者 | 资讯版

本帖最后由 liyusha 于 2010-9-21 20:58 编辑

[quote]去年写过一篇,VHD实现Windows7瞬间还原的文章,见连接:

[url=/?tid=478404]/?tid=47

8404[/url]是目前已知唯一一个不借助第三方软件实现还原时间0等待的方法。

时隔一年,我也装了几十次这个东西,一直很稳定,完全没问题,但是有一些改进,后来又发展并且简化

了一下这个系统,现在写出来给大家分享。

没看过上面文章的也没关系,普遍反应说的太复杂了,我这次从头简单的写清楚。希望大家能看明白,然

后共同研究共同进步。

废话不多说,下面写步骤。不明白原理的话请重新看上面连接的文章。

准备一个空分区,例子里为G盘,大小35G,里面放一个安装好了系统的VHD文件,名字为

做一个此VHD的子VHD,,并且再多复制两份,,

新建一个批处理文件,名字叫,内容如下:(两行最长的大括号里面的字符请根据自己情况自

行更改)

copy "G:" "G:" /y

copy "G:" "G:" /y

bcdedit /default {current}

bcdedit /set {dbaab204-cf99-11de-ba57-} description "Windows 7 瞬间还原"

bcdedit /set {5b8e85e4-a346-6f28-b8bb-2216329d2627} description "Windows 7 瞬间还原"

bcdedit /set {current} description "Windows 7 继续保持"

schtasks /delete /TN FirstRun /F

复制代码

至此,所有文件准备完毕,下面是设置。

用启动系统,找到并打开计划任务,让我们添加一个开机启动的计划。计划名称假设为

FirstRun,内容是,登陆时,用最高权限执行G:

最后添加两个VHD的启动项,分别指向和。(别忘了设置完以后对应更改

里面的两行大括号)

大功告成。

占用楼下兄弟的位置,让我做一下详细解释。

另外~觉得好用要记得回帖。谢谢

2楼是这篇文章比以前改进了哪些。

3楼是一些注意事项和可能用到的命令以及各步骤的作法

[/quote]收藏分享

1

支持反对

回复 引用 评分 报告 使用道具

PCBETA Beta1

UID612 帖子219 PB币229 威望57 贡献0

2楼

liyusha 发表于 2010-9-21 20:50 | 只看该作者 | 资讯版

本帖最后由 liyusha 于 2010-9-21 21:37 编辑

[quote]以前的方法有几个很大的缺点,第一个,每次还原的时候有一个大大的黑框,不美观,而且容易让

人误解,并且会误关闭。现在的方法是用计划任务,没有任何窗口,还原系统之后直接用,非常干净。

以前,系统还原每次都还原到最初,如果以后做了相应的更改,每次还原完了还要重新设置。

现在把FirstRun分离出来,可以把简单的更改的设置放进这个批处理中,还原完了之后会自动导入。

以前,装VHD的盘,容易被误操作。

现在隐藏起来,更安全(当然是一样可以操作的,只是看不见盘符而已)

以前无法开启用户帐户控制。

现在可以正常开启了。

还有一些不一样的更新,留着你们自己去发挥了。

[/quote]

回复 引用 评分 报告 使用道具 TOP

PCBETA Beta1

UID612 帖子219 PB币229 威望57 贡献0

3楼

liyusha 发表于 2010-9-21 20:53 | 只看该作者 | 资讯版

本帖最后由 liyusha 于 2010-9-21 21:56 编辑

[quote]首先是关于磁盘的分配。放置VHD文件的磁盘,我是设置成了35G,VHD文件内部是15G的动态

类型。

其次,建立子VHD的命令是diskpart,然后输入create vdisk file="G:" parent="G:"

就会成功建立

最后,添加引导,命令其实很简单,只是需要一点一点添加,详细请看文章最开始的连接。实战篇第5步

很详细。

另外,隐藏G盘的方法,首先运行组策略

然后展开到"用户配置”->“管理模板”->“windows组件”->“windows资源管理器",在右边找到“隐藏我的电

脑中的这些指定驱动器”,然后双击之后选择已启用,并且下面选择隐藏A和B盘符。然后确定,关闭组策

略。

接着打开注册表,regedit

展开到这个分支,HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer,

然后找到右边的NoDrives,改变他的值,注意是十进制的,从3改成64。(A是1,B是2,C是4,D是

8,E是16,F是32,G是64,同时隐藏两个盘符,请把两个数字相加,比如隐藏D和F就是输入40.注

意是十进制)确定,退出。G盘隐藏成功。[/quote]

[[i] 本帖最后由 ming6595 于 2010-12-16 01:05 编辑 [/i]]

2010-12-19 21:13jebbs

替换启动项,好思路啊~~~在原系统就能进行~~~~

我一直想的是替换文件

本文标签: 系统还原母盘