教程:在Hyper-V环境里挂载VHD文件

 
   | |

导读:本文介绍在Hyper-V环境下使用Windows PowerShell脚本或者在Microsoft Virtual Server(MVS)里的VHDMount工具挂载VHD文件。

关键词:Hyper-V PowerShell VHDMount VHD

 
正在加载数据... 【TechTarget中国原创】作为一名虚拟管理员,可能有时候需要从虚拟机访问一个文件或文件夹。对于正在运行的虚拟机,你只需要登录虚拟机或者将其连接到网络上以获取文件。但是从未启动的虚拟机上访问文件的过程很复杂。不过使用微软Hyper-V,通过在桌面上挂载虚拟机的虚拟硬盘(VHD)文件来访问文件。具体有哪些方法?应该如何操作呢?

【TechTarget中国原创】作为一名虚拟管理员,可能有时候需要从虚拟机访问一个文件或文件夹。对于正在运行的虚拟机,你只需要登录虚拟机或者将其连接到网络上以获取文件。但是从未启动的虚拟机上访问文件的过程很复杂。不过使用微软Hyper-V,通过在桌面上挂载虚拟机的虚拟硬盘(VHD)文件来访问文件。可以使用Windows PowerShell脚本或者在Microsoft Virtual Server(MVS)里的VHDMount工具挂载VHD文件。在本文中,TechTarget中国的特约作者Greg Shields将介绍这两种技巧。

  使用VHDMount工具挂载VHD文件

  启动Hyper-V里的外部VHD文件有点困难。如果在备份驱动上有个VHD文件,并需要从其虚拟机访问文件,Hyper-V要求导入这台虚拟机。如果你需要快速获取一些文件,那么这个过程非常耗时,也很烦人。

  另一种方法是通过在桌面上直接挂载VHD访问硬盘。就像挂载DVD的ISO镜像,或者操作系统镜像的Windows Imaging Format文件,通过命令行可能挂载虚拟机的VHD文件。结果就是虚拟机的磁盘就如自己的独立磁盘,有具体的驱动器号。

  VHDMount工具能在桌面上直接挂载VHD访问硬盘,并能用于Microsoft Virtual Server 2005。VHDMount为挂载和访问VHD提供了一个命令行界面(CLI)。不过在第一次使用时,需要将VHD放置在桌面或服务器上。

  下载MVS 2005后开始安装,不过只安装VHDMount功能,不装其他的。这个过程安装VHDMount工具所需的必要组件,而不是完整安装MVS 2005。如果你想更快地提取VHDMount,可以使用下面的两个命令。它们能从设置文件获取MSI,然后运行VHDMount工具所需的组件:

setup.exe /c /t c:\{targetFolder} msiexec /i "c:\{targetFolder}\Virtual Server 2005 Install.msi" /qn ADDLOCAL=VHDMount

  安装VHDMount后使用命令vhdmount /m {targetVHD}在可用的驱动器号上挂载VHD。挂载VHD后,任何更改将写入差分磁盘,除非卸载VHD。如果出现错误,这能允许你恢复到原始磁盘。使用命令vhdmount /u {targetVHD}卸载VHD。如果你想消除更改——差分磁盘的内容——就如卸载一样,使用命令vhdmount /u /d {targetVHD}。这些命令可以在Windows Vista下运行,不过在Windows XP下使用VHDMount会有一些问题。

  使用PowerShell挂载VHD文件

  如果使用VHDMount不适合你的话,可以使用PowerShell工具达到相同的效果。不过,PowerShell安装过程不那么简单。下面两个命令可以启动VHD:

$objVHDService = get-wmiobject -class "Msvm_ImageManagementService" -namespace "root\virtualization" -computername "." $objVHDService.Mount("{targetVHD}")

  上面第一行使用PowerShell建立到本地计算机的Windows Management Instrumentation存储的连接,并取得Msvm_ImageManagementService类别的一个实例。这个类别需要使用挂载方法,类似于脚本的作用。

  完成这步后,已装的驱动到达一个脱机磁盘。你需要通过使用Windows Disk Management或diskpart.exe命令行工具让磁盘在线。通过PowerShell完成这个任务的复杂的。如果你想要一个直接的PowerShell解决方案,查看”using PowerShell to mount VHDs“这个博客。

  使用虚拟磁盘完成工作之后,需要通过运行下面的卸载脚本让磁盘重新处于脱机状态:

$objVHDService = get-wmiobject -class "Msvm_ImageManagementService" -namespace "root\virtualization" -computername "." $objVHDService.Unmount("{targetVHD}")

  如果在小型环境使用Hyper-V,你可能也使用微软内部的Windows Server Backup工具用以备份虚拟机。由于这个工具只能在单个卷级别上备份,因此,在单个虚拟机级别上,这些备份存储在VHD级别上。这意味着来自Hyper-V机器的单个文件和文件夹需要进行棘手的挂载与卸载。

 
查看全文
 
 
 
 
 

微软Hyper-V

 
Hyper-V环境可以支持高可用性,不需要花费额外的成本购买微软的VMM。这只需要你作一些手动设置。本文将介绍设置步骤。
 
P2V迁移好处多多,但是在哪个工作负载可以虚拟化有限制,并且这个选择过程对于维护稳定的服务器环境非常关键。该怎么办呢?
 
Hyper-V作为一种新的技术,我在选择相应的硬件时需要遵循一些什么样的条件来获得最佳实践效果?本文将详细讨论这个问题。
 
想有效地备份Hyper-V上的工作负载?以下几个简单的Diskshadow脚本可以将虚拟机备份到磁盘或者存放时间更长的磁带存储中去。
 
一份新的研究报道表明,当微软在10月发布Hyper-V R2时,将带有热迁移和更好的管理,但是仍然没有达到生产环境需求。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录