powershell - 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 分的奖励安装程序。
解决方案
我认为您的问题不是powershell问题。您的问题是您使用的是常规启动 iso,但在您的情况下,您需要创建自定义WIM(Windows 映像文件)。如果您创建一个,您可以直接开始安装过程,无需人工干预。
我不想复制已经写在上面的文字superuser.com
;它很长,需要很多步骤。我建议使用第二种方法 -从 Windows 10 创建自定义 ISO,因为这很有意义,并且会逐步引导您创建自定义 WIM。
推荐阅读
- reactjs - React + react-bootstrap - 如何在 Nav 中设置默认的 activeKey 选择
- android - 使用导航组件在动态功能模块之间传递数据
- laravel - Laravel 迁移默认唯一值
- python - 如何从选定列表中选择一个项目?
- swift - 为什么我们必须在这段 Swift 代码中的 .count 之后写 -1?
- python - Google Cloud API 的 URI 应该是什么
- javascript - 导航栏隐藏在带有偏移的滚动上
- javascript - 样式属性导致“列表中的每个孩子都应该有一个唯一的“关键”道具。
- java - Kotlin:片段未附加,无法实例化片段调用片段常量导致异常
- performance - 谷歌地图用户速度 API