windows平台vhd磁盘文件挂载
在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磁盘文件挂载的更多相关文章
- Windows平台将远程服务器的目录挂载为本地磁盘
我们在设置数据库自动备份时,为了数据的安全往往需要直接将数据备份到远程服务器上.在Linux可以通过NFS挂载来实现,在Windows平台可以直接通过net use+subst来实现将远程服务器的目录 ...
- Windows平台内核级文件访问
1.背景 在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件.从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统 ...
- windows平台是上的sublime编辑远程linux平台上的文件
sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...
- Windows平台分布式架构实践 - 负载均衡
概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...
- 在Linux和Windows平台上操作MemoryMappedFile(简称MMF)
操作系统很早就开始使用内存映射文件(Memory Mapped File)来作为进程间的共享存储区,这是一种非常高效的进程通讯手段..NET 4.0新增加了一个System.IO. MemoryMap ...
- Windows平台分布式架构实践 - 负载均衡(下)
概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...
- 如何下载Github单个文件(Windows平台)
如何下载Github单个文件(Windows平台) 前提 安装Chrome 浏览器 Chrome浏览器 安装迅雷软件 安装Chrome 迅雷插件 可能商店里迅雷插件有好几种,这里使用这一种 一般使用者 ...
- 从零起步搭建Wordpress个人博客——Windows 平台篇(上)
本文以 Windows Server R2 64bit 标准版 为基础,其他windows版本可能会略有不同. 参考资料: https://codex.wordpress.org/Installing ...
- 在Github上搭建自己的博客(Windows平台)
折腾了好久,终于在Github上搭建了自己的博客.这里面总结一下过程希望对大家能有所帮助. Github建博优缺点 和 csdn,新浪,网易相比,在Github上可以自己实现功能 和阿里云,VPS相比 ...
随机推荐
- JAX-WS 学习一:基于java的最简单的WebService服务
JAVA 1.6 之后,自带的JAX-WS API,这使得我们可以很方便的开发一个基于Java的WebService服务. 基于JAVA的WebService 服务 1.创建服务端WebService ...
- Html 加载音乐代码mp3
<object data="__PUBLIC__/home/mp3/media.mp3" type="application/x-mplayer2" wi ...
- Linux各种包安装及命令
1.Locate yum -y install mlocate 若出现问题: locate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件 ...
- A星算法
没有采用二叉堆算法优化, 学习了几天终于搞除了一个demo, 这个列子如果点击按钮生成的方块大小不正确,可以先设置下预设调成相应的大小 只能上下左右走 using UnityEngine; usi ...
- Android编译过程详解(三)
前面两节讲解了自定义Android编译项和创建Product产品配置文件,除了编译和定义产品相关环境变量外,还需要定义Board相关环境变量. 1. build/core/config.mk 109 ...
- js 随手记
var name = 'frog' function hello(){ alert(name); // undefined var name = 'bbc'; } 在javascript中,函数是可以 ...
- C#/.NET笔试题
1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 private : 私有成员, 在类的内部才可以访问. ...
- node.js如何使用回调
Node.js到处使用回调,尤其在有I/O(输入/输出)操作的地方. 下面是在一个Node.js中使用filesystem模块中从磁盘上读入文件内容示例一: var fs = require('fs' ...
- String()与toString()区别和应用
首先,String()和toString()方法都是将其它类型的变量转换为字符串的方法.但两者存在一定的区别: x.toString(): 无法转换null和undefined: 来看下面的小例子: ...
- Asp.Net通过SignalR实现IM即时通讯
前言:SignalR是一种针对H5中WebSocket的解决方案,可以实现在不支持H5的浏览器中实现IM 后端: step 1:通过NuGet安装SignalR step 2:新建一个类继承于Hub, ...