本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

微软在2005年公开了VHD格式文件的全部细节,可以从微软的TechNet网站下载Virtual Hard Disk Image Format Specification。

中文名

vhd模式

vhd实质

虚拟的硬盘分    类

2.5寸、3.5寸等

操作系统

Windows 7

vhd模式简介

编辑

语音

绝大多数人最初接触VHD格式的文件,是在使用Virtual PC或者Virtual Server时,VHD是以文件形式存在的虚拟机的磁盘。微软在2005年公开了VHD格式文件的全部细节,可以从微软的TechNet网站下载Virtual Hard Disk Image Format Specification。这说明了微软不仅仅要把VHD应用在虚拟机领域,更希望VHD能够成为一种新的磁盘格式和载体在业界得到更多的支持。

让我们抛开虚拟机,把目光集中在VHD文件本身。VHD是一块虚拟的硬盘,不同于传统硬盘的盘片、磁头和磁道,VHD硬盘的载体是文件系统上的一个VHD文件。如果大家仔细阅读VHD文件的技术标准,就会发现标准中定义了很多Cylinder、Heads和Sectors等硬盘特有的术语,来模拟针对硬盘的I/O操作。既然VHD是一块硬盘,那么就可以跟物理硬盘一样,进行分区、格式化、读写等操作。

我们这可以这样认为,VHD也是硬盘的一种,就像2.5寸、3.5寸、SCSI、SATA、IDE等不同规格的硬盘一样,VHD是在一个文件中的硬盘。

vhd模式实现方式

编辑

语音

在讨论具体的技术实现方式之前,我们首先需要理解操作系统对磁盘和文件的管理。操作系统有磁盘系统和文件系统两部分,分别处理对硬盘的I/O读写指令(磁盘系统),和管理硬盘之上的分区、数据和文件格式(文件系统)。VHD是存在于文件之上的磁盘,可想而知它的技术实现必须横跨磁盘系统和文件系统这两部分。如果您对操作系统中这一部分不是非常的了解,可以听一听微软网站上的Windows存储技术系列Webcast。

简单的说,要把VHD文件当作硬盘一样读写,必须有相应的驱动程序。在Virtual PC和Virtual Server中,微软就是通过在虚拟机种加入VHD的驱动程序,使得虚拟机可以从VHD启动并进行后续的操作。

在Windows 7中,微软把VHD的驱动内置进了操作系统,也包括在了Windows 7的引导程序中。这也就是说,我们可在使用Windows 7的时候,直接访问VHD文件中的内容(把VHD的硬盘映射到一个盘符,后面会详细描述),也可以通过Windows 7的引导程序,启动位于VHD磁盘上的另一个操作系统。理解VHD驱动的工作细节,需要比较多的Windows底层知识,是一个比较简单和抽象的结构,可以发现,VHD的驱动是跟磁盘驱动和文件系统紧密结合的。

vhd模式VHD应用

编辑

语音

既然在Windows 7中可以对VHD直接读写,让我们来看看这个强大的功能到底能有多少过人之处。

首先,我们可以用命令行工具Diskpart创建VHD文件!(是的,命令行工具,你可能已经想到了自动化批处理和批量部署可以用到这个技术,没错,网管说:要硬盘,于是,大量的VHD就被创建出来了… )

上面这段命令,创建了一个固定尺寸的VHD文件,并且进行了分区、分配盘符和格式化,一气呵成。Diskpart还能做很多事情,具体参数,请参考这个文档,如果你不喜欢命令行,那么Windows 7的磁盘管理工具,一样可以完成上述操作。现在我们看看VHD在Windows 7中直接访问的几种方法:

vhd模式方法一:

Foo.VHD文件中可以包含一个以上的磁盘分区,这些分区都可以映射到Windows操作系统中,可以为之分配盘符,也可以映射到一个NTFS的目录。

vhd模式方法二:

VHD的磁盘中可以包含VHD文件,这个VHD文件还可以被映射到操作系统中,目前版本的Windows支持2层嵌套VHD。(我实在想不出有什么实际的用处,据说这个功能可能会在正式版中被去掉,以免把用户搞糊涂)

vhd模式方法三:

如果你还没有被上面的嵌套VHD搞糊涂的话,还记得VHD文件的差异磁盘功能吧?Bar.VHD在嵌套的基础上,使用物理C盘上的BarParent.VHD做成了一个差异磁盘。

其实这种方法还是挺实用的,不考虑嵌套,Foo.VHD可以使用BarParent.VHD做差异磁盘,如果这样的话,从Foo.VHD启动计算机,每次用完都通过批处理自动销毁,硬盘保护卡的市场,恐怕从此要消失了。。。

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命令。

[1]

计算机管理中没有vhd,vhd模式相关推荐

  1. 计算机管理中没有vhd,电脑重启后新建的VHD虚拟硬盘不见了怎么办|如何设置使VHD硬盘开机自动加载...

    ‍ 我们可以通过系统自带的磁盘功能创建VHD虚拟硬盘,但是有用户发现电脑在重启之后,资源管理器中的VHD虚拟硬盘就不见了.对于这种现象,应该是电脑系统在开机后没有自动加载VHD硬盘的原因.那么,如何使 ...

  2. 【数据库】某医院病房计算机管理中需要如下信息: 科室:科名、科地址、科电话、医生姓名 病房:病房号、床位号、所属科室名 医生:姓名、职称、所属科室名、年龄、工作证号 病人:病历号、姓名、性别、诊

    题目 某医院病房计算机管理中需要如下信息: 科室:科名.科地址.科电话.医生姓名 病房:病房号.床位号.所属科室名 医生:姓名.职称.所属科室名.年龄.工作证号 病人:病历号.姓名.性别.诊断.主管医 ...

  3. Java中的简单工厂模式(转)

    Java中的简单工厂模式 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前, ...

  4. R语言使用str_replace函数和str_replace_all函数替换字符串中匹配到的模式:str_replace函数替换第一个匹配到的字符串、str_replace_all函数替换所有匹配到的

    R语言使用str_replace函数和str_replace_all函数替换字符串中匹配到的模式:str_replace函数替换第一个匹配到的字符串.str_replace_all函数替换所有匹配到的 ...

  5. [Head First设计模式]餐馆中的设计模式——命令模式

    系列文章 [Head First设计模式]山西面馆中的设计模式--装饰者模式 [Head First设计模式]山西面馆中的设计模式--观察者模式 [Head First设计模式]山西面馆中的设计模式- ...

  6. 从脑电图(EEG)中提取稳定的模式进行识别

    本篇文章是论文<Identify Stable Patterns over Time for Emotion Recognition from EEG>(<从脑电图(EEG)中提取稳 ...

  7. .Net中的设计模式——Iterator模式

    在.Net中,我们很少有机会使用Iterator模式,因为.Net Framework已经运用Iterator模式为所有的集合对象实现了迭代器.我们在遍历集合对象时,喜欢使用C#提供的foreach语 ...

  8. kibana 更新 索引模式_elasticsearch – 如何在kibana中自动配置索引模式

    是否可以在kibana中自动配置索引模式?通过一些设置文件或者休息api.安装后,可以手动完成. Kibana 5.x公开了这样一个API来管理索引模式. 要创建索引模式,可以向kibana访问URL ...

  9. [Head First设计模式]饺子馆(冬至)中的设计模式——工厂模式

    系列文章 [Head First设计模式]山西面馆中的设计模式--装饰者模式 [Head First设计模式]山西面馆中的设计模式--观察者模式 [Head First设计模式]山西面馆中的设计模式- ...

最新文章

  1. 1103 Integer Factorization 需再做
  2. LeetCode 217 Contains Duplicate--python,java解法--set--简单
  3. ConcurrentHashMap介绍
  4. 学习笔记Flink(三)—— Flink安装启动与监控
  5. 《mysql必知必会》学习_第11章_20180801_欢
  6. 关于安卓Apk反编译 再编译回来不能正常安装的问题
  7. 图像生成对抗生成网络gan_GAN生成汽车图像
  8. java se和java_Java:改进了Java SE 6和Java SE 7的客户端和桌面部分!
  9. 动态规划6个题目总结比较
  10. 修改tomcat的conf/server.xml解决网页乱码
  11. 牛客网 字符串的排列
  12. 远程服务器连接工具:Tmux
  13. oracle打开dmp文件乱码,oracle中导入dmp字符乱码分析和解决方案
  14. 快速明白ARCore + 上手
  15. 陈丹琦团队最新论文:受GPT-3启发,用小样本学习给语言模型做微调,性能最高提升30%...
  16. 浅谈CFD(constant fraction discriminator恒比鉴相器)
  17. 快速理解深度信念网络
  18. Basic Block
  19. 计算机师徒结对方案,师徒结对计划
  20. Java开发技术总结!小米java校招面试题

热门文章

  1. spring注解 声明式事务
  2. String类的substring()方法
  3. 推荐几款我常用的浏览器
  4. C++ 中using 的使用
  5. 显卡升级为啥总显示登录账号_分享买到QQ后应该注意什么,怎么检测买到手QQ的重要属性?如何保证购买的游戏账号不被找回?...
  6. 系统错误 无法启动此程序,因为计算机中丢失MSVCP140_1.dll。尝试重新安装该程序已解决此问题
  7. 华硕-飞行堡垒7 - 对比度太低,看不清页面,都怪垃圾 Racing 模式
  8. 2021-03-23 python数据处理系统学习(二)控制语句
  9. 让人感慨的10句英语短句
  10. Google云端硬盘Colab 指定文件夹