【问题标题】:Create Hyper-V Virtual Machine from a .vhd file从 .vhd 文件创建 Hyper-V 虚拟机
【发布时间】:2014-03-19 21:47:26
【问题描述】:

我正在尝试从 .vhd 文件以编程方式创建 VM - 我的代码如下。我收到了一个奇怪的文件未找到错误,但我已经三重检查了我所有的路径。

ADD-VMHardDiskDrive : 'MyVM' failed to add device 'Virtual Hard Disk'. (Virtual machine ID C4A0BAFF-35EF-4B4C-9CA1-68D2ECF77BA1)
'MyVM': Attachment 'C:\temp\VMs\TheVhd.vhd' not found. Error: 'The system cannot find the file specified.' (0x80070002). (Virtual machine ID C4A0BAFF-35EF-4B4C-9CA1-68D2ECF77BA1)

我的 PowerShell 代码是:

$n = "MyVM";
$directory = "C:\temp\VMs"
$vhdxPath = "$directory\$n.vhdx";
$vhdPath = "$directory\Flash.480x800.vhd";
$vm = Get-VM $n;
if($vm -ne $null) { Remove-VM $n -Force; }

New-VM -Name $n -MemoryStartupBytes (Invoke-Expression "1000MB") -Path $directory;
Set-VMMemory -VMName $n -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes 4096MB -StartupBytes 2048MB -Buffer 20;
ADD-VMHardDiskDrive -VMName $n -Path $vhdPath;
Start-VM $n;

非常感谢任何帮助!!!谢谢!

【问题讨论】:

  • 你只想要 Powershell 吗?我没有太多的powershell,我在VBS中做过。
  • PowerShell 将是理想的,因为我是如此接近。但是,是的,如果您可以向我拍摄 VBS,那会很好看。

标签: powershell virtual-machine hyper-v


【解决方案1】:

我想通了。我试图附加的虚拟机是一个“差异磁盘”。我错过了参考磁盘所依赖的“主”磁盘 - 因此找不到文件错误。

谢谢大家。

【讨论】:

    【解决方案2】:

    在您的代码 sn-p 中,我猜您假设 ADD-VMHardDiskDrive 也会为您“创建”一个 VHD 文件。如果是这种情况,那么我们已经从根本上导致了错误。 ADD-VMHardDiskDrive 只是在 VM 的指定路径中添加一个虚拟硬盘。如果 VHD 尚不存在,则会引发该错误。

    如果要创建新的 VHD 或 VHDX,请在添加到 VM 之前使用 NEW-VHD commandlet。

    或者,您可以将现有 VHD 添加到 VM 或创建新 VM 作为 New-VM commandlet 本身的一部分。看看technet上的例子: http://technet.microsoft.com/en-us/library/hh848537.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多