在Server2012R2上导入Server2008R2的HyperV虚拟机
Importing Windows 2008 R2 Hyper-V VM Into Windows 8.1
For the purposes of this post, let’s try and import a VM called AD1HC1. This was successfully exported from Windows Server 2008 R2 Hyper-V. Currently this VM and all its associated files reside in the G:\VMs\AD1HC1 folder. The various files can be seen here:
There are no hidden tricks and this is an exported VM that can be imported to Windows Server 2008 R2 without issues, and has been many times.
If we use the GUI and try to import the VM into Windows 8.1
We get the following error:
Hyper-V did not find virtual machines to import from location ‘G:\VMs\AD1HC1’
When reviewing what Process Monitor sees on the file system, there are no Access Denied error messages. We are able to read the disk and review the files contained within.
If the files exist on the disk and we can read them, what’s up then? For the eagle eyed out there, you may be wondering why the .exp file has not been read…..
Digging In
If you wrote scripts to import/export Windows Server 2008 Hyper-V VMs, there is a small clue in the Hyper-V section located in the Features Removed or Deprecated in Windows Server 2012 page on TechNet. **
- VM Chimney (also called TCP Offload) has been removed. The TCP chimney will not be available to guest operating systems.
- Support for Static VMQ has been removed. Drivers using NDIS 6.3 will automatically access Dynamic VMQ capabilities that are new in Windows Server 2012.
- The WMI root\virtualization namespace is deprecated. The new namespace is root\virtualization\v2.
Windows Authorization Manager (AzMan) is deprecated. You may need to use new management tools for virtual machines or redesign the authorization model.
And if we then look at the same section in the Features Removed or Deprecated in Windows Server 2012 R2
- WMI root\virtualization namespace v1 (used in Hyper-V)
So the WMI v1 namespace was deprecated in Windows Server 2012, and then removed in Windows Server 2012 R2. Why is this important? When the Export call was made to export the VM from Windows 2008 R2, the WMI v1 namespace was used. This can be seen with a PowerShell snippet which binds to the Hyper-V WMI Namespace.
$VMManagementService = Get-WmiObject -Namespace root\virtualization -Class Msvm_VirtualSystemManagementService -ComputerName $HyperVHost
In a post on the Hyper-V TechNet forum there are some details worth reading from Taylor Brown, and if you don't already read his blog the RSS feed is here.
VM's that are exported from Windows Server 2008 or 2008 R2 utilized the version 1 WMI namespace which resulted in an .exp file to represent the exported virtual machine. In Windows Server 2012 we introduced a new WMI namespace (version 2 or root\virtualization\v2) which implemented a much better import/export model – allowing you to effectively just copy the virtual machine folder (with the VM’s XML configuration file inside it) as well as the VM’s VHDs and then import that directly. For Windows Server 2012 we maintained the version 1 WMI namespace which allowed for importing of Windows Server 2008/R2 VM’s on 2012.
In Windows Server 2012 R2 we have removed the old version 1 namespace which means we can’t import virtual machines that where exported from Windows Server 2008/R2.
What To Do
As you can see, VMs that were exported from Windows Server 2008 & 2008 R2 cannot be imported as-is into Windows Server 2012 R2 or Windows 8.1.
Don’t Panic Captain Mainwaring, Don’t panic! ***
Don’t panic as there are options!! Let’s look at them based on the scenario. There are two basic takes on this:
- Original Hyper-V Server and the VM is still available
- Original Hyper-V Server is not available
Original Hyper-V Server & VMs Available
If you exported from Windows Server 2008 or 2008 R2, and the original host is still available with the VMs then probably the easiest option will be to get the VMs off that machine in a format that is easily importable to Hyper-V 2012 R2.
On the original Hyper-V server, power down the VMs. Once they have shut down, then stop the Hyper-V Virtual Machine Management Service (VMMS). This will unlock the VM’s files. Simply copy over the VM folders to the Windows Server 2012 R2 server and they can be imported. Remember this was one of the features added to Windows Server 2012 - we do not have to specifically export a VM before it can be imported. Funnily enough this functionality was added in the WMI v2 namespace for Hyper-V….
具体步骤:
1.关闭虚机
2.停止VMMS服务(不影响虚机的运行,已测试)
3.拷贝虚机所在文件夹到Windows2012R2,
4.启动VMMS服务
5.在Winodws2012R2上导入虚机
说明:
其中就地注册虚拟机(使用现有的唯一ID)表示使用导入文件夹内的虚拟机,虚拟的路径和原来导入虚拟机路径相同,唯一识别码不变;
还原虚拟机(使用现有唯一的ID)表示复制导入文件夹内的虚拟机,可以指定导入不同的路径,预设值为不指定,唯一识别码不变;
复制虚拟机(创建新的唯一ID)表示复制导入文件夹内的虚拟机,可以指定导入不同的路径,预设值为不指定,但是生成新的唯一ID。
Original Hyper-V Server Unavailable
If the original server or a copy of the VMs is no longer available, there are still a couple of options. This may be the scenario if you are re-purposing the hardware and the original machine has been wiped, or if these are archived lab VMs that you are trying to import to a new version of Hyper-V.
Perform Intermediate Import
If, and this will not apply to everyone, you have a Windows Server 2012 Hyper-V machine, the 2008 / 2008 R2 VMs can be imported to that server. Note that this is not a R2 2012 server. Since 2012 still has the WMI v1 namespace (albeit deprecated), we can import the .exp machines. Once successfully imported to 2012, the VMs can be exported or copied over to Windows Server 2012 R2. You do not need to power on the VMs after importing them to the intermediate Windows Server 2012 machine, that server is only used to perform the import thus allowing the VM to be copied to Windows Server 2012R2.
Travis mentioned an interesting take on this in the comments below. Consider a temporary boot to VHD option just to get the necessary import step done. Thanks Travis! Would love to know if that helps folks out at all – please post a comment below!
Update 2-12-2013: Added a How To on this topic. Please see this post.
Create New VM – Reuse Virtual Hard Disk
If the above method is not available, or is too time consuming, an option is to create new VM configuration and specify to use an existing virtual hard disk. By doing so we can re-use the VM’s virtual hard disk file. Since the virtual NIC now has a different GUID Windows will recognise it as a different NIC, and you will need to re-enter the IP address in the VM.
From:http://blogs.technet.com/b/rmilne/archive/2013/10/22/windows-hyper-v-2012-amp-8-1-hyper-v-did-not-find-virtual-machine-to-import.aspx?pageindex=2
https://social.microsoft.com/Forums/zh-CN/b283169a-eb9b-4140-87f1-ac3a8b3e174c/server2012r2server2008r2hyperv?forum=2222
在Server2012R2上导入Server2008R2的HyperV虚拟机的更多相关文章
- Hyper-V虚拟机故障导致数据文件丢失的数据恢复全过程
简介: 由于MD3200存储中虚拟机的数据文件丢失,导致整个Hyper-V服务瘫痪,虚拟机无法使用,故障环境为Windows Server 2012服务器,系统中部署了Hyper-V虚拟机环境,虚拟机 ...
- 存储Hyper-V虚拟机的硬盘空间不足时的处理
存储Hyper-V虚拟机的硬盘空间严重不足时的处理 ==先导出虚拟机到空间足够的硬盘,再在空间足够的分区上导入虚拟机 方法如下: 导出虚拟机: 导出之前,我们先删除不需要的快照. 在Hyper-V ...
- Windows 8 Hyper-V虚拟机功能(转载)
刚才看见一兄弟w500折腾win8 hyper-v功能,普及下吧,欢迎各位斧正 Windows 8 中 Hyper-V 3.0 的 CPU 支持说明 Windows 8 将直接内置 Hyper-V 3 ...
- Hyper-V虚拟机和主机的网络配置
Hyper-V虚拟机和主机的网络配置 方式1.共享式 这种方式是将Hyper-V内部的虚拟网络与外部网络共享.使得内部是一个私有的网络.属于NAT的类型.(不知道这么说对不对) 优点: 相对来说属于私 ...
- Hyper-v虚拟机上网
Windows 8中内置的Hyper-V管理器可以说给许多人带来了惊喜!在Hyper-V管理器强大的同时,也同样面临着设置中一些不可避免的麻烦.有人说,Hyper-V虚拟机联网麻烦,其实,只要掌握了技 ...
- Hyper-V虚拟机联网设置
转自:http://www.3lian.com/edu/2012/12-22/50492.html Windows 8中内置的Hyper-V管理器可以说给许多人带来了惊喜!在Hyper-V管理器强大的 ...
- 开启Windows8里面的Hyper-V虚拟机功能
首先了解下什么是Hyper-V?也就是虚拟化技术,允许终端用户在同一台机器上运行多个操作系统,支持32位和64位系统,可以直接在Windows 8上创建自己的虚拟机.开启Hyper-V虚拟机需要更多的 ...
- 如何将hyper-v虚拟机转换成vmware的虚拟机- 转换SharePoint 2010 Information Worker Demonstration and Evaluation Virtual Machine (SP1)
官方有一个用于SharePoint的demo用的虚拟机: 2010 Information Worker Demonstration and Evaluation Virtual Machine (S ...
- Hyper-V虚拟机配置内部网络固定IP 并且连接外网
2019/10/23 Hyper-V CentOS7 摘要:Hyper-V中的虚拟机CentOS7能固定IP并且连接外网 保证宿主机的Xshell始终只用同一个IP连接到该虚拟机 新建内部网络虚拟交换 ...
随机推荐
- spring项目中aop的使用
AOP:是一种面向切面的编程范式,是一种编程思想,旨在通过分离横切关注点,提高模块化,可以跨越对象关注点.Aop的典型应用即spring的事务机制,日志记录.利用AOP可以对业务逻辑的各个部分进行隔离 ...
- 转 Unity企业级支持案例与分析
Unity大中华区技术支持总监张黎明以“Unity企业级支持案例与分析”为主题进行了分享. 以下为演讲实录: 张黎明:非常感谢大家来参加今年的Unite,其实我现在看到有的朋友已经不是第一次来参加Un ...
- 关于Jquery事件绑定的心得
今日在工作的时候,遇上了一些和事件绑定有关的问题无法解决,于是在网上找到了以下资料,稍加整理了下. 对于事件绑定,jQuery的 bind / unbind 大多数时候可能并不会用到,取而代之的是直接 ...
- 用.net 2.0(或.net 3.5)开发的程序在.net 4.0的环境中运行的解决方案
引用:.NET2.0程序集无法在.net 4.0 中运行的解决方案 1. 原来是在.net 2.0 (VS2008)的环境下的程序,通过升级到.net 4.0 (VS2013)导致程序运行不了 提示需 ...
- MySQL使用全文索引(fulltext index)
1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能用在MyISAM表格的char.varchar和text的字段上. 不过新版的MySQL5.6.24上InnoDB引擎也 ...
- jQuery 自定义方法(扩展方法)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ES6中的类继承和ES5中的继承模式详解
1.ES5中的继承模式 我们先看ES5中的继承. 既然要实现继承,首先我们得要有一个父类. Animal.prototype.eat = function(food) { console.log(th ...
- 问题集录06--SpringBoot创建Maven项目
1. 如下图,打开idea之后,file -> new -> project2. 如下图,在弹出的new project 页面,选择maven -> 勾选Create from ar ...
- C#语言-03.逻辑控制语句
a. 逻辑控制语句: i. 条件语句:先对条件判断,然后根据判断结果执行不同的分支 . If 和 if-else:判断“布尔表达式的值”来决定执行那个代码块 a. 语法:if(布尔表达式){ b. 布 ...
- 第1天:jQuery效果
1.jQuery 语法 jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作. 基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(sele ...