我尝试以编程方式从.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;
非常感谢任何帮助!谢谢!
答案 0 :(得分:1)
我明白了。我试图附加的VM是一个“差异磁盘”。我错过了参考磁盘所依赖的“主”磁盘 - 因此找不到文件错误。
谢谢大家。
答案 1 :(得分:0)
在你的代码片段中,我猜你假设ADD-VMHardDiskDrive也会"创建"一个VHD文件给你。如果是这种情况,那么我们已经根本导致了错误。 ADD-VMHardDiskDrive只是在指定的VM路径上添加虚拟硬盘。如果VHD尚不存在,则抛出该错误。
如果要创建新的VHD或VHDX,请在添加到VM之前使用NEW-VHD命令行开关。
或者,您可以将现有VHD添加到VM或创建新VM作为New-VM命令行开关本身的一部分。看看technet上的例子: http://technet.microsoft.com/en-us/library/hh848537.aspx