Microcloud, 你好
除了是否具备 VHD 虚拟磁盘文件以外, config.xml 及以唯一标示符命名的目录和以扩展名为exp的文件是能否导入Hyper-V 的关键,缺一不可
为减少不必要的backup错误产生, 建议使用Hyper-V 自带的虚拟机导入导出功能更好,这样更方便
goxia兄专门有个文章介绍这Hyper-V 自带的虚拟机导入导出功能, 这里给你提供参考
http://server.it168.com/a2008/1226/261/000000261382.shtml
关于你的问题, 也有个解答给你参考
http://gnaw0725.blogbus.com/logs/38542176.html
Hyper-v虚拟机导入。在HYPER-V管理器里将虚拟机导出时选择仅导出配置文件,导入虚拟机时报错,如果不勾上仅导出配置文件就可以导入。请问是为什么,有什么方法可以解决?
回答:根据您的描述,我对这个问题的理解是:当选中只到处配置文件的时候无法导入虚拟机。
的确,默认Hyper-V中有两种导出的方式
- 导出一个完整的虚拟机
- 只导出虚拟机的配置文件
在当前的这个问题中,您使用第二种导出方式并且出现问题。我假设当前的环境如下:
- Hyper-V1
- Hyper-V2
- TestVM (对第二种方式的测试虚拟机)
1. 在Hyper-V1上面,我们把虚拟机的配置文件导出来,举例来说D:\export,这时候您去看这个导出的文件夹,它的结构如下:
D:\Export
D:\Export\TestVM
D:\Export\TestVM\Config.XML
D:\Export\TestVM\Virtual Machines
D:\Export\TestVM\Virtual Machines\{GUID}
D:\Export\TestVM\Virtual Machines\{GUID}.exp file
2. 然后我将D:\Export文件夹拷贝到Hyper-V2这台主机上面,c:\Export。并且将TestVM.VHD虚拟磁盘文件拷贝到Hyper-V2的C:\下面比如说C:\TestVM.VHD,在我能够成功的导入这台虚拟机之前,我需要做一些额外的操作
在Hyper-V2这台主机的c:\Export里面创建两个额外的文件夹,如下
C:\Export\TestVM\Snapshots
C:\Export\TestVM\Virtual Hard Disks
注意: 您需要手动创建这两个文件夹不然导入将失败。
- 修改C:\Export 下的config.xml文件
以下是我默认的一个config.xml文件
--------------
<?xml version="1.0" encoding="UTF-16" standalone="yes" ?>
- < configuration>
< SnapShotDataRoot type="string">C:\ProgramData\Microsoft\Windows\Hyper-V</SnapShotDataRoot>
< ExternalDataRoot type="string">C:\ProgramData\Microsoft\Windows\Hyper-V</ExternalDataRoot>
- < vhd>
< source type="string">C:\TestVM\TestVM.vhd</source>
< target type="string">C:\TEstVM\TestVM.vhd</target>
</vhd>
< VmStateCopied type="bool">False</VmStateCopied>
</configuration>
----------------
我需要将这个文件更改如下,目的就是指定新的VHD文件的路径,因为我把VHD文件拷贝到了C:\,因此source type将指定当前的VHD文件的路径。target type是我在上面新创建的文件夹,用来导入在Hyper-V2上面的VHD文件
--------------
<?xml version="1.0" encoding="UTF-16" standalone="yes" ?>
- < configuration>
< SnapShotDataRoot type="string"></SnapShotDataRoot>
< ExternalDataRoot type="string"></ExternalDataRoot>
- < vhd>
< source type="string">C:\TestVM.vhd</source>
< target type="string">C:\TestVM\Virtual Hard Disks\TestVM.vhd</target>
</vhd>
< VmStateCopied type="bool">True</VmStateCopied>
</configuration>
----------------
做完相对应的修改以后,您就可以成功的导入一个虚拟机了。
我的个人意见是因为第二种导出导入的功能需要修改配置文件,容易出错。因此我建议您使用第一种方式,这样不容易出错也比较方便。
John Huang 黄吉 微软全球技术支持中心
黄俊贤 Tommy Huang
一起共同学习和交流,共同进步
微软TechNet中文论坛ID j-mcgrady
WinOS社区 ID VirtualTom
http://blogs.itecn.net/blogs/virtualtom