Hyper-V 手动导入虚机配置实例(转载)

原文转载:http://blog.51cto.com/bobzy/980241

Hyper-V提供了很方便的虚机导入和导出功能。平时假如我们想导出虚机,先选中虚机,然后鼠标右键在出现菜单列表中选中“导出”就可以,导入的话,选中Hyper-V服务器,鼠标右键选中“导入虚拟机”进行操作。但是,最近遇到一个问题,一个用户只拷贝了整个文件夹目录,如何帮助他进行导入呢?

把用户的文件夹拷贝到D:MSVM目录下,我们先来看看文件夹的架构。

1

为确保虚机资源仅能被特定虚机所访问,Hyper-V使用了一个叫服务SID的功能来确保安全访问,所以我们需要手动赋予某个SID 访问权限。这个SID是由这样的形式构成的:VIRTUAL MACHINE<GUID> 

虚机的GUID, 我们可以在VirtualMachines目录下找到 

例如这里的SID为 NT VIRTUAL MACHINE1A1A0D9F-47C8-4A10-A60A-D5BF0497817B

2

1. 我们使用 mklink 命令创建Symbolic link(符号链接),让Hyper-V能够读到虚机的配置。 

在命令行下输入 

mklink "%systemdrive%programdataMicrosoftWindowsHyper-VVirtual Machines1A1A0D9F-47C8-4A10-A60A-D5BF0497817B.xml" "D:MSVMa1Virtual Machines1A1A0D9F-47C8-4A10-A60A-D5BF0497817B.xml" 

这时我们可以看到Hyper-VVirtual Machines目录下创建了一个新文件。

4

在Server 08的Hyper-V的管理器中你可能已经发现新的虚机了,在Server 08 R2版本中,你遇到的情况可能和我的截图一样,虚机并没有出现。 

8

  
这时候我们需要在服务中重启“Hyper-V 虚拟机管理”服务。

9

虚机出现了。

10 

2. 使用 icacls 命令将服务SID添加到Symbolic link中以便Hyper-V可以访问它。/L 指示此操作在Symbolic link本身而不是在其目标上执行。

icacls "%systemdrive%programdataMicrosoftWindowsHyper-VVirtual Machines1A1A0D9F-47C8-4A10-A60A-D5BF0497817B.xml" /grant "NT VIRTUAL MACHINE1A1A0D9F-47C8-4A10-A60A-D5BF0497817B":(F) /L

7 

3. 我们同样需要赋予此SID 访问所有虚机文件的权限。 

icacls D:MSVMa1 /T /grant "NT VIRTUAL MACHINE1A1A0D9F-47C8-4A10-A60A-D5BF0497817B":(F)



4. 假如虚机中含有快照,我们还需要创建额外的Symbolic link以及服务SID访问权限。 
 

mklink "%systemdrive%ProgramDataMicrosoftWindowsHyper-VSnapshots9A4D34EF-9895-424C-91D1-FC1C2FC39950.xml" "D:MSVMa1Snapshots9A4D34EF-9895-424C-91D1-FC1C2FC39950.xml"

icacls "%systemdrive%ProgramDataMicrosoftWindowsHyper-VSnapshots9A4D34EF-9895-424C-91D1-FC1C2FC39950.xml" /grant "NT VIRTUAL MACHINE1A1A0D9F-47C8-4A10-A60A-D5BF0497817B":(F) /L

5. 可以了吗?让我们启动虚机看看。

11

6.  最后一步,我们需要修改虚机配置,为虚机选取正确的虚拟交换机,大功告成。

13

12

原文地址:https://www.cnblogs.com/ronghui/p/9231474.html