首页 > 解决方案 > PowerShell Hyper-V VM 创建和启动

问题描述

我正在尝试使用 PowerShell 创建和启动 VM:

$vmName = "vm" + (Get-Date -Format "yyyy-MM-dd-HH-mm")
New-VM -Name $vmName -NewVHDPath "$vmName.vhdx" -NewVHDSizeBytes 64GB -MemoryStartupBytes 8GB -Path $vmName -Generation 2

# Attach the Windows 10 ISO as a DVD drive to the VM
Add-VMDvdDrive -VMName $vmName -Path win.iso

# Set correct boot order (DVD drive first)
$dvd = Get-VMDVDDrive -VMName $vmName
Set-VMFirmware -VMName $vmName -FirstBootDevice $dvd

# Start the VM and connect to it
Start-VM -Name $vmName
vmconnect $env:COMPUTERNAME $vmName

这很好用,创建 VM,附加 Windows 10 ISO,设置正确的引导顺序,启动 VM 并连接到它。

但是,刚启动后,VM 无法启动。首先,会弹出一个黑屏,提示我按任意键从 DVD 启动,但是,它只是一秒钟,在我设法做到这一点之前,我得到了这个屏幕:

在此处输入图像描述

VM 设置中的引导顺序正确:首先是 DVD,然后是网络,然后是 VHD。我想从 DVD 启动,但在出现白屏之前我没有机会按下任何键。

此外,我想制作脚本,以便它自动进入 DVD/ISO 引导,而无需我按一个键进入该引导选项。我怎样才能做到这一点?我的最终目标是完全无人值守的安装,它从调用脚本开始,到安装的 Windows 10 来宾执行从主机共享的 PowerShell 脚本结束。这意味着我不能要求用户在某个时间按下一个键来帮助启动顺序。

编辑:对于可以演示 PowerShell 脚本的人,该脚本可以使用 Windows 10 ISO 创建、启动、连接和引导 Hyper-V 虚拟机,以便最后在 Windows 10 的第一个屏幕上有一个正在运行的虚拟机,可获得 50 分的奖励安装程序。

标签: powershellvirtual-machinehyper-v

解决方案


我认为您的问题不是powershell问题。您的问题是您使用的是常规启动 iso,但在您的情况下,您需要创建自定义WIM(Windows 映像文件)。如果您创建一个,您可以直接开始安装过程,无需人工干预。

我不想复制已经写在上面的文字superuser.com;它很长,需要很多步骤。我建议使用第二种方法 -从 Windows 10 创建自定义 ISO,因为这很有意义,并且会逐步引导您创建自定义 WIM。


推荐阅读