第一章:小试牛刀----------创建VHD



高手可以直接进入下一章了,这章完全是为了凑字数求个完整性,以及为新手们普及些知识。。。



相信绝大多数人对VHD都是不陌生的,先说说如何创建一个虚拟硬盘。




方法一:图形界面创建

1、在Win7/8里“计算机”右键,选择管理,点击磁盘管理。



2、等右边出来磁盘列表之后,再在“磁盘管理”上点击右键,“创建VHD”。



3、类型选择VHD,动态扩展或者固定大小随便你。其实依据我的实际使用感受来说,两种类型性能一样,动态扩展反而可以在某些情况下省点空间。比如,我们在D盘建立一个大小20G的名为WIN8.VHD的虚拟磁盘镜像。



4、此时应该已经自动加载了刚才创建的VHD,初始化磁盘并分区后就可以使用了。




方法二:命令行创建,更灵活



1、键盘win+r,输入diskpart,回车,调出diskpart磁盘管理。



2、你可以输入help create vdisk来查看虚拟磁盘的相关参数。这里我们输入create vdisk file=d:\win8.vhd maximum=20000 type=expandable,来创建一个名为win8.vhd,大小20000mb的动态扩展硬盘。



3、输入select vdisk file=d:\win8.vhd,然后输入attach vdisk,就挂载了刚刚建立的虚拟磁盘。好了,去给他分区吧。







==============我是分割线=================





第二章:初有成就--------把系统灌入VHD



现在你应该已经创建了自己的虚拟磁盘了,我们能够看到一个20G的F盘,如图:




1、imagex释放镜像。用RAR解压或者win8自带的虚拟光驱加载win8 RTM镜像,比如我们解压在了D盘,其中install.wim在D:\win8\sources\install.wim。我们用管理员权限打开cmd,输入

imagex.exe /apply d:\win8\sources\install.wim 4 f:,等待将近5-10分钟后显示100%,win8的系统就释放到了F盘。



2、添加启动菜单。以前的方法都是手动添加启动菜单,其实完全没必要这么麻烦吧。还是在管理员权限的cmd里输入:

bcdboot F:\windows /s c: /l zh-cn,这里的C:是指你的活动分区的位置,假如你有100m启动分区的话,必须给他分配盘符并将c:改为对应的盘符。其实到了这一步,就已经升级了你的BOOTMGR并且添加了win8.vhd,这种方法是不需要手动复制win8的bootmgr的,他自动升级了。



OK,系统安装完毕,赶快重启系统进入win8去吧。



注意:使用动态硬盘并不能达到省空间的目的。比如你的D盘只有10G的空间,你创建了一个20G的动态虚拟磁盘。虽然能够容纳下win8没问题,但当作为系统盘启动时,系统启动时需要先虚拟扩充到20G(只是虚拟扩充,实际并没有增大),假如空间不够就会启动时蓝屏,切记切记。






============我是分割线================





第三章:骨灰级进阶------VHD差分硬盘实现秒备份、秒恢复、分支多系统




好了,本文的重点到了。其实这一章的内容有点难理解,但是操作起来十分的简单,一旦应用起来能够更加方便的管理系统。



首先,我稍微介绍一下什么是差分硬盘。这个概念最早出现在虚拟机里,用过虚拟机的应该都知道。比如我们刚才创建了一个win8.vhd,如果我们对他进行了使用,则一切更改将实时的写入win8.vhd。这时,我们可以创建一个差分硬盘,指向win8.vhd,比如,命名为chafen.vhd。这时我们挂载chafen.vhd(注意不是win8.vhd),我们仍然能够看到一个和刚才一样的f盘,里面内容和刚才一模一样,但是此时所做的一切更改都将保存在chafen.vhd里,而不修改win8.vhd,保证了win8.vhd的只读性。做个实验,把这时通过chafen.vhd挂载的f盘格式化,f盘空了,但是如果你删除chafen.vhd,再挂载回win8.vhd,会发现文件完好无损。于是基于此衍生了下文的应用方式。


差分硬盘---可以实现秒备份、秒恢复,完美的保护了系统盘并且免于重装系统,完胜ghost。


分支硬盘---原理也是基于差分硬盘,可以在随意扩展系统的数目,扩充为N个独立的win7/8,执行不同的任务。



来,我们开始!



第一招,创建差分硬盘。我们接着第二章的例子,现在你应该已经有了一个d:\win8.vhd,并已经在里面安装好了win8,能够顺利启动,并且安装好了驱动。现在我们重启进入PE或者双系统的win7里,将win8.vhd改名为win8.base0.vhd,然后进入cmd,输入diskpart,用命令create vdisk file=d:\win8.vhd parent=d:\win8.base0.vhd再创建一个链接到win8.base0.vhd的差分硬盘win8.vhd,这个差分硬盘只有80kb,会随着以后使用逐渐增大,趁这时赶快备份一个方便以后还原(命名为backup.vhd),哈哈。因为之前启动菜单已经链接到的就是win8.vhd,所以不用再修改启动菜单了,这也是我们重命名的原因。仔细体会一下重命名的过程,图解如下:



步骤:





做好后的结构:




秒恢复:从上图就能看出这样做的方便之处了。当你想还原系统时,只需要进入PE或双系统的win7,删掉现在在用的win8.vhd,将backup.vhd改名为win8.vhd,然后重启就OK了,多么方便啊!从而实现了秒恢复!更方便的方法是将这一过程添加入启动菜单,详细内容见本帖三楼,在此特别感谢CatFss的启发。




当你想要再次备份目前的系统时,只需要加入第三层差分硬盘即可,方法和之前一样,将win8.vhd改名为win8.base1.vhd,创建一个指向win8.base1.vhd的新的差分硬盘win8.vhd。对,没错,可以无限叠加下去,笔者试验过最多7层,用HDTUNE测试了每一层的读取速度后,都为70m/s,速度惊人的一致,完全不用担心性能问题。


大概就是下图所示的过程:



扩充层数:




N层高楼:




当你觉得层数太多占用空间并且不好看时,可以在diskpart 里使用merge参数向下合并一定的层数。具体可以在diskpart里查看help merge vdisk。来到这一章的应该都是高手了,就不详细说明了。




第二招:创建多分枝硬盘。比如我们将win8.base0.vhd作为模版系统了。我们可以分别创建N个指向他的差分硬盘(对,可以一对多),并且用bcdboot命令分别添加启动菜单(方法如前述),这样瞬间就多了N个win8了,而且都不占空间,还互相不受约束,特别适合家里爸爸妈妈公用一台电脑的娃哦!你可以在自己的系统里换上MM的桌面,可以加密码,等等都行。爸妈的系统里就给他们装上什么360啊,qq游戏啊,你自己也免得看的心烦了。还可弄一个啥都不装的裸体win8,方便有时候的特殊操作。


模式图如下: