深入研究Windows 7系统中的VHD技术( 二 )


方法三:如果你还没有被上面的嵌套VHD搞糊涂的话,还记得VHD文件的差异磁盘功能吧?Bar.VHD在嵌套的基础上,使用物理C盘上的BarParent.VHD做成了一个差异磁盘 。
其实这种方法还是挺实用的,不考虑嵌套,Foo.VHD可以使用BarParent.VHD做差异磁盘,如果这样的话,从Foo.VHD启动计算机,每次用完都通过批处理自动销毁,硬盘保护卡的市场,恐怕从此要消失了 。。。
方法四:我们可以把网络共享里面的VHD文件,映射到系统中来 。这个功能,结合上面的那个差异磁盘,对,小硬盘学生机,都不用硬盘保护卡勒!;
这些功能的确令人眼花缭乱,我们冷静一下,看看VHD有什么局限性和功能上的限制:
最多可以同时映射的VHD文件数量是512个(似乎也够用了)
VHD磁盘的父分区,不支持Volume Snapshot
映射的VHD磁盘,不能被配置为动态磁盘,也就是不能在VHD上建软RAID(知足吧,VHD实现已经很复杂了,软RAID就不要来添乱了)
从VHD启动计算机
如果说你对在Windows 7中映射和使用VHD文件无动于衷,那么,我相信从VHD启动计算机一定会抓住你的眼球 。
我之前提到了,在Windows 7中,微软把VHD的驱动内置进了操作系统,也包括在了Windows 7的引导程序中 。这也就是说,在启动计算机的阶段,Windows 7的引导程序可以大摇大摆的直接访问VHD文件,并且启动VHD中安装的系统 。
慢着,什么是Windows 7的引导程序?简单地说,引导程序就是在操作系统内核或用户应用程序运行之前运行的一段小程序 。通过这段小程序,我们可以初始化硬件设备(加载必要的驱动程序)、建立内存映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境 。我们在裸机上安装Windows 7时,首先做的,就是把Windows 7的引导程序写入磁盘的特殊位置 。Windows 7的引导程序带有VHD驱动,因此可以从VHD启动 。
我们也需要了解一下VHD启动的一些注意事项和局限性:
1. 从VHD启动是有版本限制的,目前(2009年1月)的文档指出只有Windows Server 2008 R2、Windows 7商业版及以上版本,才支持此功能,未来正式发布时可能会有变化,敬请留意 。
2. UDFS文件系统暂时不被支持(UDFS是什么?不支持也罢…)
3. 启动用的VHD文件,不能保存在压缩或者加密的NTFS磁盘之上(这一点很多人会忽略)
4. 根据一些朋友的反馈,动态的VHD文件无法启动,需要在建立vhd是设置成立即分配才可以从vhd启动
5. 如果你的物理硬盘是RAID格式,则必须要在VHD中的操作系统镜像中注入RAID的驱动程序,可以使用peimg命令 。

推荐阅读