在windows平台下挂载vhd磁盘文件类似于挂载iso等文件;

使用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机器的单个文件和文件夹需要进行棘手的挂载与卸载。

windows平台vhd磁盘文件挂载的更多相关文章

  1. Windows平台将远程服务器的目录挂载为本地磁盘

    我们在设置数据库自动备份时,为了数据的安全往往需要直接将数据备份到远程服务器上.在Linux可以通过NFS挂载来实现,在Windows平台可以直接通过net use+subst来实现将远程服务器的目录 ...

  2. Windows平台内核级文件访问

    1.背景     在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件.从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统 ...

  3. windows平台是上的sublime编辑远程linux平台上的文件

    sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...

  4. Windows平台分布式架构实践 - 负载均衡

    概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...

  5. 在Linux和Windows平台上操作MemoryMappedFile(简称MMF)

    操作系统很早就开始使用内存映射文件(Memory Mapped File)来作为进程间的共享存储区,这是一种非常高效的进程通讯手段..NET 4.0新增加了一个System.IO. MemoryMap ...

  6. Windows平台分布式架构实践 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  7. 如何下载Github单个文件(Windows平台)

    如何下载Github单个文件(Windows平台) 前提 安装Chrome 浏览器 Chrome浏览器 安装迅雷软件 安装Chrome 迅雷插件 可能商店里迅雷插件有好几种,这里使用这一种 一般使用者 ...

  8. 从零起步搭建Wordpress个人博客——Windows 平台篇(上)

    本文以 Windows Server R2 64bit 标准版 为基础,其他windows版本可能会略有不同. 参考资料: https://codex.wordpress.org/Installing ...

  9. 在Github上搭建自己的博客(Windows平台)

    折腾了好久,终于在Github上搭建了自己的博客.这里面总结一下过程希望对大家能有所帮助. Github建博优缺点 和 csdn,新浪,网易相比,在Github上可以自己实现功能 和阿里云,VPS相比 ...

随机推荐

  1. Encode and Decode Strings 解答

    Question Design an algorithm to encode a list of strings to a string. The encoded string is then sen ...

  2. Integer to English Words 解答

    Question Convert a non-negative integer to its english words representation. Given input is guarante ...

  3. 【编译原理】语法分析LL(1)分析法的FIRST和FOLLOW集

    近来复习编译原理,语法分析中的自上而下LL(1)分析法,需要构造求出一个文法的FIRST和FOLLOW集,然后构造分析表,利用分析表+一个栈来做自上而下的语法分析(递归下降/预测分析),可是这个FIR ...

  4. 【HDU1198】Farm Irrigation(回溯+记忆化搜索)

    数据流小,深搜即可.有些暴力.看其他人的题解用二维转换成一维做的并查集很巧妙,马上去研究一下!! #include <iostream> #include <cstring> ...

  5. Uva227.Puzzle

    题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. Unity调试中心

    渐渐在公司接SDK3个月了,一直没有参加项目的游戏功能编写几乎快忘记Unity了, 看到那些前辈编写游戏到发布游戏,总结了下 每一个游戏应该有一个调试中心, 方便策划 测试更好的了解游戏和测试游戏. ...

  7. ASP.net ListItem Attributes 属性回传丢失的解决方案

    该方法为网上整理 1. 新继承一个列表控件 新控件中重写两个方法: using System; using System.Collections.Generic; using System.Linq; ...

  8. JS学习笔记-数组

    ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说 ...

  9. STL中map,set的基本用法示例

    本文主要是使用了STL中德map和set两个容器,使用了它们本身的一些功能函数(包括迭代器),介绍了它们的基本使用方式,是一个使用熟悉的过程. map的基本使用: #include "std ...

  10. 使用INTERVAL YEAR TO MONTH类型

    Oracle Database 9i数据库引入了一种新特性,可以用来存储时间间隔.时间间隔的例子包括: ● 1年零3个月 ● 25个月 ● -3天5小时16分 ● 1天7小时 ● -56小时 注意: ...