全面了解和使用Windows7 VHD功能

来源:岁月联盟 编辑:zhuzhu 时间:2009-09-14
全面了解和使用Windows7 VHD功能内容简介:Windows 7有很多新玩意,不过GUI界面上的东西两三天就觉得没啥意思了,下面偶想说话题是Windows 7的一个新功能Windows 7引导系统内置了VHD磁盘驱动,它让我们将Windows 7系统安装在虚拟磁盘上(实际上,也支持Window

Windows 7有很多新玩意,不过GUI界面上的东西两三天就觉得没啥意思了,下面偶想说话题是Windows 7的一个新功能——Windows 7引导系统内置了VHD磁盘驱动,它让我们将Windows 7系统安装在虚拟磁盘上(实际上,也支持Windows server 2008)。

当然,搞这玩意,对于大部分人来说,纯粹就是折腾,想折腾的就往下看——

玩法一:

假设硬盘上有C、D两个分区,其中C分区已经安装了Vista系统,现在偶想再安装一个Windows 7系统,不过为了系统简洁,不想直接将它安装任何一个物理磁盘上,于是把它安装在C:/VHD目录下的Windows 7.VHD文件中,并与Vista系统组成双系统.

PS:此玩法需要注意,C盘的容量不能太小,如果Vista占15GB,而Windows 7.VHD至少也要有10GB以上,因此,C盘容量至少在30GB以上才可以玩。

Windows 7另类玩法 - 全面了解和使用VHD功能

在开始之前,你需要准备两个东西:

1.一个Windows 7 ISO镜像文件

2.一个名叫imagex.exe工具(在Windows AIK包中可以找到),用于将install.wim灌进VHD中。

方法和步骤:

第一步:在Vista系统下,将Windows 7 ISO文件中的所有文件解压到第二个分区(即D盘),顺便把准备好的imagex.exe也放在D盘根目录中。

第二步:然后打开系统的磁盘管理器,将D分区设置为活动分区,重启后系统将从这里启动,进入和光盘一样的安装环境(Vista系统以后都是可以这样取代光驱的。当然,如果你有一个4GB以上的U盘,那么将U盘格式化为NTFS,并将其设为活动分区,那么将Vist a/Windows 7/WIN2008光盘内容拷贝进去,然后主板设置为USB启动,那么U盘=光驱)。

第三步:重启系统后进入,Windows 7的安装环境。这时我们需要在第一个分区中建立一个VHD磁盘。需要用的到的是diskpart命令。

用Shift+F10打开命令输入窗口,然后输入以下命令

Diskpart

Sel disk 0

Sel part 1

active

#以上是激活第一分区,以便后面从这里启动虚拟磁盘中的Windows 7系统,此时的该分区的盘符位D,可以通过list vol来确认。

Create vdisk file=d:/vhd/Windows 7.vhd maximum=20480 type=fixed

Sel vdisk file=d:/vhd/Windows 7.vhd

Attach vdisk

Create part primary

Assign letter=V

Format fs=NTFS quick

exit

第四步:完成上述操作之后,虚拟硬盘的创建和加载已经完成,在安装环境下的盘符为V。现在需要做的是将系统安装到 Windows 7.vhd中,即V分区中。可以通过原来的安装环境来实现,但是有时候会要求重启,这个会导致无法完成最后的安装。因此,偶推荐用Imagex. exe来部署。

方法为:在命令输入窗口中,进入imagex.exe所在的目录(当前C盘的根目录下),然后通过以下该命令来把Windows 7(即c:/sources/install.wim)灌进Windows 7.vhd中。假设Windows 7系统在install.wim映像中的位置为1(有时候不是1,你可以用Imagex的/info开关查看)那么命令如下:

Imagex.exe /apply c:/sources/install.wim 1 V: /verify

接下来就是等待,大约在20-30分钟左右。主要是看CPU的运行速度,偶的Intel奔腾E6300超频到3.5G后需要17分钟。

第五步:设置从VHD启动。这里有两种方法:一是将Windows 7的bootmgr拷贝到分区1替换vista系统的版本,然后用Bcdedit一步一步地编辑,不过非常麻烦;另外一种就是用bcdboot.exe命令一部到位,偶肯定是严重推荐bcdboot.exe 了。

方法为:在命令输入窗口中,输入

bcdboot V:/windows /s D: (启动Windows 7)

bcdboot D:/windows /s D: (启动原来的Vista)

重启,进入启动菜单,选择Windows 7项目即可。

Windows 7另类玩法 - 全面了解和使用VHD功能

玩法二:

Windows 7用着很爽,想把C盘原来的Vista系统干掉,系统只保留一个安装在虚拟硬盘中的Windows 7系统。

方法和玩法1基本一样,只是在上面的第三步过程中,激活第一分区的时候顺便将C格式化掉,即:

Diskpart

Sel disk 0

Sel part 1

Format fs=ntfs quick

active

小结:

* 在前面两种玩法中,需要提醒的是Vista系统是不支持从虚拟磁盘启动系统的,确切地说,vista版本的引导文件没有内置虚拟磁盘驱动,不过你可以将 Windows 7的bootmgr移植到Vista系统,这样Vista就可以引导虚拟硬盘上的系统了。记住,覆盖时要先获取该文件的管理员权限。

* bcdboot.exe命令只有Windows 7系统、Windows 7版本的BOOT.wim或WinRE.wim中才有,你可以拷贝一份到Vista中来用,用它结合Imagex.exe来部署系统简直是太方便。

玩法三:

在原来的分区1前划出一个200MB的小分区,并将它设置为活动的主分区,用于保存Windows 7的引导程序文件,而原来的空间则用于存放VHD。这样做的好处就是,启动后启动分区是隐藏的。可能有人会问,隐藏了又啥好处,这个偶只能说……其实也没啥,自己感觉。

当然,如果你这样玩,它就很有用了——把Windows 7.vhd文件(即用Imagex.exe命令部署)放在一个服务器上,然后通过本机上建立这样一个200MB的系统分区,然后加载远程服务器上Windows 7.vhd,那么就是一个所谓的无盘系统了,呵呵。

Windows 7另类玩法 - 全面了解和使用VHD功能

总结:

1.虚拟磁盘系统只支持固定大小类型的VHD,即type=fixed。

2.虚拟磁盘系统启动的只有Windows 7和2008,不支持vista SP1,SP2行不行,偶没试过,估计是不可以的,因为内核架构上不支持。

3.关于系统的快速部署,比如你事先用Imagex.exe将install.wim中的系统灌进vhd文件中后,这个文件就相当于一个纯净的没有收集过任何硬件信息的系统,那么你可以将此文件拷贝到任何系统上,然后用bcdboot加载,那么可以想象的是速度那是非常快的。

安装一个新系统也就5分钟左右。如果你用一块移动硬盘,那么你拿着这块硬盘可以接到任何PC平台上使用。谁不让你用他电脑,你就这么干就可以了。

另外,既然Imagex.exe+bcdboot的方法快速部署一个基于虚拟分区的系统,那么物理分无肯定也是支持了,这种方法给我们提供了一个安装VSITA、Windows 7、win2008的新方法,大家可以自己试试,比全新安装要快一些。

最后补充一下:将系统装进虚拟分区,这样做的好处在于管理方便,在加载硬件环境前做好备份,那么如果该系统坏了,直接拷贝一个新的覆盖已坏掉的就可以了,原来的GHOST可以扔掉了。

当然,这个虚拟磁盘系统还有很多用法,因为支持二次嵌套(目前RC版是支持的,但正式版还支不支持就不知道了),你可以用它来做一个自动销毁的差分硬盘,取代硬盘保护卡。