来认识一下VHD是什么东东~~
深入认识VHD 展示应用新天地 新的操作系统Windows 7将原生态支持VHD文件。那么,什么是VHD文件?它将给我们带来什么便利呢?本文将针对这些问题进行比较详细的讨论。 并不陌生的VHD 别以为VHD来自火星,早在几年前,它就闯入我们的视野了。使用VPC就免不了与它打交道,用过Vista的也一定见过VHD。 用VPC创建VHD 其实,VHD文件并不陌生,VPC也能创建VHD文件,而VPC的元老版本可追溯到2003年。 VPC即Microsoft Virtual PC,该软件的元老级版出现于2003年,是微软出品的一款免费虚拟电脑软件。比如,让它在Windows XP(称之为宿主)下运行,可创建出多台虚拟电脑。操作虚拟电脑的方法与真实电脑类似,可启动或关闭、进行BIOS设置、硬盘分区(当然是虚拟的),然后在虚拟电脑上安装操作系统或应用软件。虚拟电脑主要用于教学培训、测试新操作系统或软件。 比如用VPC创建一个名为VXP的虚拟电脑,那么,可在虚拟电脑的保存位置查看到名为VXP Hard Disk.vhd的文件。 在宿主机下,观察到的虚拟电脑是一个VHD文件,但在虚拟电脑中,它却是虚拟的硬盘或分区,在虚拟的分区上可安装操作系统或应用软件。 用Vista创建VHD 在Vista(Windows 7也行)下,依次打开“控制面板”|“系统和安全”|“备份和还原”|“创建系统映像”,可将一个分区进行备份,同样能生成VHD文件。 在Vista(Windows 7也行)下,观察到的仍然是VHD文件,但还原后就是一个分区下的所有文件。 总结起来,VHD文件可虚拟为硬盘或分区,而虚拟的硬盘或分区中可安装操作系统或存放其它文件。 Windows 7对VHD的原生态支持 在Windows 7下可很方便地创建VHD,也可将VHD加载为虚拟硬盘,当然也可将虚拟硬盘卸载而还原为VHD,它们之间的变化也是双向的。这些操作可在磁盘管理器下进行,也可通过命令提示符来完成。本节,我们将重点介绍前一方法,后一方法请参考本文的虚拟安装Windows 7部分。 创建VHD 第1步:在开始菜单下右击“计算机”,选择“管理”|“磁盘管理”。接着,从打开的窗口中单击“操作”下的“创建VHD”,创建向导即可自动运行。 第2步:单击“浏览”,指定VHD文件的存放位置及文件名。接着,在“虚拟硬盘大小”后指定VHD文件的大小。然后,在“虚拟硬盘格式”下选择“动态扩展”或“固定大小”,最后单击“确定”即可。完成后可在我们前面指定的位置观察到VHD文件。 小提示:后面,我们还要将VHD文件虚拟为硬盘,可用虚拟硬盘来存放文件。选择“动态扩展”后,VHD文件的大小由虚拟硬盘中存放的文件大小决定;如果选择“固定大小”,那么,不管是否向虚拟硬拷贝了文件,也不管拷贝到多少,VHD文件的大小都将保持不变。但要注意的是,不管选择哪种格式,虚拟硬盘中能存放的文件都不能超过指定的大小。 将VHD虚拟为硬盘 通常,我们也称这一过程为将VHD文件虚拟为硬盘。 在磁盘管理器下,单击“操作”|“附加VHD”,再到已创建的VHD文件即可。为保证加载后的虚拟硬盘能安装系统或存放其它文件,请不要在加载过程中勾选“只读”。完成后,可在硬盘管理器下观察到,如图1所示,其中,磁盘3、磁盘4都是通过VHD虚拟而得。要注意的是,硬盘4上标有“没有初始化”、“未分配”字样,不能在“计算机”(相当于Windows XP中“我的电脑”)下观察到。对比来看,硬盘3已初始化,可在“计算机”下观察到,而且,从图1还可看出,磁盘3下有多个分区,而且Windows 7已为它们分配了分区的盘符,比如J、K等。 初始化虚拟硬盘 虚拟硬盘必须经过初始化才能使用,就像将普通硬盘的数据线、电源线连接到电脑的主板一样。 右击状态显示为“没有初始化”的磁盘,选择“初始化磁盘”,再在下一步中选择“MBR(主引导记录)”并单击“确定”。完成后,虚拟磁盘的状态信息将自动显示为“联机”。 对虚拟磁盘进行分区 右击要进行分区的虚拟磁盘,选择“创建简单卷”并单击“下一步”,分区向导会提示我们输入分区的大小,默认值为VHD文件的最大值。如果选择此值,虚拟磁盘只能分为一个分区。如果手动指定大小,还可将虚拟磁盘分为多分区。在整个过程中,向导还会提示我们是否对新建的分区进行格式化操作,格式化完成后,可在磁盘管理器下看到系统自动为每一分区分配的盘符。同时,打开“计算机”,即可像操作普通硬盘一样操作虚拟的分区了。 卸载虚拟磁盘 右击虚拟磁盘,选择“分离VHD”,按提示操作即可。在卸载的过程中,如果选择了“删除磁盘后删除虚拟硬盘文件”,那么,我们向虚拟磁盘分区中写入的文件将全部消失。 至此,在磁盘管理器下对VHD的基本操作就全部完成了。 VHD的应用 VHD的应用比较广,下面略举两例说明它在个人电脑上的应用。 虚拟安装Windows 7 假设电脑上已安装了Windows XP,现在用Windows 7安装光盘启动电脑,将Windows 7安装到电脑的一个VHD文件之中,完成后,仍然可形成包含Windows XP和Windows 7的多系统。等大家看了完成后的效果,自然就能体会这种多系统的好处了。 要注意的是,我们在此是将Windows 7安装到由VHD文件虚拟出来的分区之中。 安装方法 在这一安装中,将要用到命令提示符工具,如果对此不是很了解,请尽量原样输入。 第1步:准备。让电脑的D盘有30GB左右的空闲空间。 第2步:创建VHD。关机后用Windows 7安装光盘启动电脑,当安装向导运行到选择语言界面时,按Shift+F10调出命令提示符窗口,如图2所示。 在命令提示符窗口中依次输入以下命令: 命令1:diskpart 命令作用:启动分区管理环境。要注意的是,这一命令在Windows XP以后就有了,但是,只有Windows 7的这一命令才支持创建和管理VHD的功能。 命令2:list disk 命令作用:列出当前的磁盘。屏幕上显示的Disk 0正是安装于电脑中的真实硬盘。 命令3:Create vdisk file=d:vin7.vhd type=fixed maximum=15000 命令作用:创建一个VHD文件。创建的VHD文件名为Vwin7.vhd,存放于D盘根目录之下。type=fixed表示它的格式为固定大小。maximum=15000表示VHD文件的最大值为15000MB即15GB。 命令4:select vdisk file= d:vwin7.Vhd 命令作用:用刚才创建的vwin7.Vhd来虚拟硬盘。 命令5:attach vdisk 命令作用:激活虚拟硬盘。 命令6:list disk 命令作用:列出当前的磁盘。在前面,我们也用过这一命令,请比较它们输出结果的不同。此时,除Disk 0外,还有Disk 1,其中,disk 1就是用VHD文件虚拟出来的。 命令7:exit 命令作用:退出diskpart环境。 第3步:选择安装位置。在图2中单击“Next”,让Windows 7的安装继续进行,直到选择安装位置的界面出现,如图3所示。 在此,可观察到两个磁盘,Disk 0就是电脑中的物理硬盘,它的下面有三个分区,前面,我们创建的VHD文件存放位置为第二个分区(即Disk 0 Partition 2,也就是D盘)。 Disk 1即是虚拟硬盘,由于还没有加载,它的状态信息为:Unallocated Space。下面就加载并对其进行分区,具体方法如下: 选中Disk 1后,单击Drive Options(advanced),在一下界面中单击“New”。接着,分区向导会要求输入分区的大小,默认为最大值(即15000MB)。如果取此默认值,并单击“Apply”,那么,整个虚拟硬盘将只划分一个分区,本例即是这样操作的。完成后,安装向导自动返回图3界面,但我们会发现Disk 1后面会出现Partition 1字样,而且其格式(Type)为主分区(Primary)。在此,只要选择Disk 1,再单击“Next”,Windows 7的安装即可自动进行,而且安装位置是由VHD虚拟出来的硬盘。 全部安装完成后,重新启动电脑时,会出现操作系统选择的菜单。 优势分析 运行速度快。Windows 7尚处于测试阶段,很多朋友都用VPC等虚拟安装,但VPC安装时,硬件全是虚拟的,由于其显卡无法达到Windows 7的基本要求,无法体验到Windows 7在界面上给我们带来的新体验,更要命的是,VPC对硬件的要求极高,用它安装出来的Windows 7运行十分缓慢。 将Windows 7安装到VHD时,Windows 7使用的硬件都是电脑中的物理硬件,包括CPU、内存、显卡、声卡等,与安装到物理硬盘上完全一样,不会因虚拟安装而受到任何影响。 维护方便。将VHD文件复制出来,当Windows 7出错时只要拷贝回去就行了。 疑问解答 操作结果能保存吗?Windows 7虽然是虚拟安装的,但我们在Windows 7下的所有操作结果,包括创建的文件、对系统进行的设置等都能保存下来,关闭Windows 7后,这些结果都存放于VHD文件之中。 还有,Windows XP也有Diskpart命令,能用VHD安装Windows XP吗?答案是否定的。从图2可看出,Windows 7的Diskpart版本号为6.1.***,而Windows XP的Diskpart版本号为5.1.***。不仅如此,Vista的Diskpart版本也不够。Windows XP或Vista的Diskpart命令都不支持管理VHD的能力。 简单加密私密文件 通过前面的讨论,可能给大家印象最深的是:VHD可加载为虚拟的硬盘分区,可像普通硬盘一样对其进行读写;一旦卸载后就变成普通的VHD文件了,其中的内容不可见。 下面,我们将利用这一特性来隐藏自己的私密文件。 假设电脑的e:MF下有VHD文件,文件名为MF.vhd,且已进行了分区。Windows 7下有两个系统帐号,lxcH和lxcL,启动到lxcH后,能自动将MF.VHD加载为虚拟硬盘,启动到lxcL时,不加载。下面是具体操作方法: 第1步:在E:MF目录下创建两个文本文件cj.txt和de.txt。 前一文件的内容如下: select vdisk file=e:MFMF.Vhd attach vdisk exit 后一文件的内容如下: select vdisk file=e:MFMF.Vhd detach vdisk exit 第2步:E:MF目录下创建两个批处理文件cj.bat和de.bat。 首先,打开记事本,输入以下内容: diskpart /s 接着,单击“文件”下的“保存”,在弹出对话框的“保存类型”后选择“所有文件”(切记,不然就保存为文本文件而不是批处理了),在文件名后输入cj.bat。然后单击“保存”,批处理cj.bat就创建完成了。 同理,创建另一批处理,另一批处理的内容如下: diskpart /s 小提示:运行批处理cj.bat时,它会自动启动Diskpart并执行cj.txt中的命令行,即将MF.vhd加载为虚拟硬盘。同理,运行de.bat时,可将已加载的虚拟硬盘卸载。 第3步:按Win+R功能键调出“运行”对话框,输入“gpedit.msc”并回车以打开组策略编辑器,在左侧依次展开“计算机配置”|“Windows设置”|“脚本(启动/关机)”。接着,在右侧双击“关机”。然后,单击“添加”|“浏览”,将刚才创建的批处理文件de.bat导入进来。如图4所示。 第4步:进入以下目录: D:UserslxcHAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup 将批处理文件cj.bat拷贝到该目录之下。完成后,可在开始菜单的启动组下观察到已添加进来的批处理。登录时启动组下的程序会自动运行,这样,只要登录到lxcH用户下,虚拟硬盘就能自动加载。显然,这一批处理不能添加到另一用户即lxcL的启动组之下。 要注意的是其中的D:UserslxcH,表示在我的电脑上,Windows 7安装位置为D盘,lxcH是系统帐户名。 至此,所有操作全部完成。 小提示:关机脚本对任何用户都有效,而启动组的程序只对当前用户有效,这样,启动到lxcH后,虚拟硬盘将自动加载,启动另一用户(即lxcL)时却不能。就算另一用户手动加载VHD,只要一关机,VHD又将自动卸载。如果要彻底拒绝lxcL加载VHD,可在lxcH下对VHD文件进行EFS加密。 VHD与VPC的关系 VPC即Microsoft Virtual PC,它是微软出品的虚拟电脑软件,通过它也可创建出VHD文件。下面将简介VHD与VPC的关系。 在Windows 7下打开由VPC创建的VHD文件 假设我们已用VPC创建了一台名为LS的虚拟电脑,那么,可到名为ls Hard Disk.vhd和ls.vmc的两个文件。其中,VHD文件体积很大,而VMC文件却非常小。现又假设已在虚拟电脑中安装了操作系统及应用软件。怎样才能在不启动VPC的情况下观察到虚拟电脑中的文件呢? 只要像本文所介绍的那样在exit是什么意思英语Windows 7下将ls Hard Disk.vhd加载为虚拟硬盘,此时,原来在VPC下才能观察到的分区都能在Windows 7下观察到,当然也包括其中的文件。这又有什么用呢?过去,要在真实电脑和虚拟电脑之间交换文件,一般只有三种方法。其一、先安装由VPC提供的专用插件,再进行拷贝。其二、将虚拟电脑和真实电脑构建成局域网。其三、通过VPC设置共享。现在,有了Windows 7,交换文件就更加方便了,至少,多了一种方法。 在VPC下打开由Windows 7创建的VHD文件 在此,我们用具体的事例来说明:假设某Windows 7爱好者在试用该系统时创建了一些VHD文件,后来,由于种种原因没有安装Windows 7了。现在要将VHD中的文件拷贝一些出来,难道只有重新安装Windows 7? 为方便叙述,假设VHD文件名为test,位于E盘根目录下。 完成这一操作的前提是必须安装了VPC,而且VPC中有一台安装操作系统(本例中,安装的是Windows XP)的虚拟电脑。 第1步:运行VPC,在其管理界面上选择已安装的虚拟电脑,单击“Settings”,在弹出的对话框中选择“Hard Disk 2”。接着,单击“Browse…”再到“E:test.vhd”即可,如图5所示。 小提示:虚拟电脑中必然有硬盘或分区,它已由创建虚拟电脑时完成,其实,它也是一个VHD文件,可在“Hard Disk 1”下观察到它。 第2步:运行虚拟电脑VPC,让它启动,完成后可在虚拟电脑下观察到“E:test.vhd”虚拟而来的第二硬盘及分区,当然也包括其中的文件,不仅如此,还可在其中添加、修改文件。 借用Windows 7安装光盘查看VHD文件 假设硬盘中已安装了Windows XP,硬盘的D盘里存放有名为LS.VHD的文件,现在借用Windows 7的安装光盘来查看LS.VHD中包含有哪些文件。 第1步:用Windows 7安装光盘启动电脑,当Windows 7安装向导运行到语言选择界面时,按Shift+F10键调出命令提示符窗口。如图6所示。 第2步:依次输入以下命令: 命令1:dir d:*.* 命令作用:确认一下VHD文件是否真的位于D盘根目录。显然,赫然在目。 命令2:Diskpart 命令3:list disk 命令作用:查看当前磁盘。在我的电脑上显示出来的是Disk 0,它就是电脑中的真实硬盘。 命令4:select vdisk file=d:ls.vhd 命令5:Attach vdisk 命令6:List disk 命令作用:查看当前磁盘。此时,显示的有disk 0和disk 1,与前面的显示相比,多出的Disk 1 就是由d:ls.vhd虚拟出来的硬盘。 命令7:exit 命令8:notepad 命令作用:Windows 7安装光盘启动电脑时,首先加载的是与Windows 7相对应的Windows PE 2.0,输入这一命令后,记事本程序会自动打开。 也许大家会觉得奇怪,为什么要打开记事本程序?原来,此时的Windows PE 2.0运行于命令提示符之下,就算将VHD文件虚拟而成的硬盘加载了,也只能通过DIR等命令查看其中的文件,或者通过COPY等命令来将其中的文件拷贝到真实硬盘之中,麻烦之大可想而知。记事本程序打开后,只要单击记事本窗口中的“file → save as”,窗口化的资源管理器即可打开,如图6所示。 在我的电脑上,从图6可看出:C、D盘就是真实硬盘的分区(自己的电脑自己最清楚),G盘就是VHD文件虚拟出来的硬盘的分区,双击即可打开它。千万不要忘记我们此时的任务是查看G盘中的文件而不是另存文件。要注意的是,此时能查看到的文件只有文本文件,要查看所有文件,请在“Save as type”后选择“All files”。能查看到其中的文件,当然就能拷贝到真实硬盘的分区之中。拷贝后,再重新启动电脑即可在Windows XP下处理这些文件。 总结 虽然,VHD文件的提出比较早,但真正的应用还得自Windows 7和Windows Server 2008 R2开始。过去,我们都将它应用于虚拟机领域,自这两款操作系统后,还可应用于个人电脑和服务器,比如将Windows PE安装到VHD文件并生成启动菜单,使电脑身兼多职,除正常工作外,还可用于维护,对企业进行多台电脑的部署。更重要地,如果将其应用于服务器,理论上,有多少个VHD文件就相当于有多少台电脑,表面上看,多台客户机访问的是同一台电脑,但访问不同的VHD就意味着访问不同的操作系统、享受不同的服务。不仅切换方便,而且技术人员的维护也变得异常简单,只要管理好VHD文件即可保证被访问对象的健康和安全—最简单的方式就是拷贝VHD到其它地方备份一下。总之,抛开虚拟机,VHD也能向我们展示出它的另一番新天地。 | ||||||||||||
本主题由 System 于 2011-1-1 05:00 解除限时高亮
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论