ISO 无法使用 PowerShell 启动

问题描述 投票:0回答:1

我有以下代码,首先我将 ISO 文件安装到 VM 的 CD 驱动器,然后更改 VM 的 BootOrder

安装到 CD 驱动器

$CloneVM = Get-VM -Name "999_SW999OSTest_Clone"
$IsoPath = "[STG5_DISTR_HPERF_DARY_NPROD_LUN-01_DEV_3333] Patches/SW_DVD9_Win_Server_STD_CORE_2019_1809.2_64Bit_English_DC_STD_MLF_X22-18452.ISO"

        $CDDrive = Get-CDDrive -VM $CloneVM
        $CDDrive | Set-CDDrive -ISOPath $IsoPath -Confirm:$false -StartConnected:$true

更改启动顺序

#Connect-VIServer -Server 12.8.1.13

$strVMName = "999_SW999OSTest_Clone"
$strBootNICDeviceName = "Network adapter 1"
$strBootHDiskDeviceName = "Hard disk 1"
$vm = Get-VM $strVMName

$intNICDeviceKey = ($vm.ExtensionData.Config.Hardware.Device | ?{$_.DeviceInfo.Label -eq $strBootNICDeviceName}).Key
$oBootableNIC = New-Object -TypeName VMware.Vim.VirtualMachineBootOptionsBootableEthernetDevice -Property @{"DeviceKey" = $intNICDeviceKey}

$intHDiskDeviceKey = ($vm.ExtensionData.Config.Hardware.Device | ?{$_.DeviceInfo.Label -eq $strBootHDiskDeviceName}).Key
$oBootableHDisk = New-Object -TypeName VMware.Vim.VirtualMachineBootOptionsBootableDiskDevice -Property @{"DeviceKey" = $intHDiskDeviceKey}
$oBootableCDRom = New-Object -Type VMware.Vim.VirtualMachineBootOptionsBootableCdromDevice

$spec = New-Object VMware.Vim.VirtualMachineConfigSpec -Property @{
    "BootOptions" = New-Object VMware.Vim.VirtualMachineBootOptions -Property @{
        BootOrder = $oBootableCDRom, $oBootableNIC, $oBootableHDisk
    }
}
$vm.ExtensionData.ReconfigVM_Task($spec)

启动顺序输出

BootDelay            : 0
EnterBIOSSetup       : False
EfiSecureBootEnabled : False
BootRetryEnabled     : False
BootRetryDelay       : 10000
BootOrder            : {VMware.Vim.VirtualMachineBootOptionsBootableCdromDevice, 4000, 2000}
NetworkBootProtocol  : ipv4

上面的代码工作正常,但是当我重新启动虚拟机时,它没有启动启动过程。

请让我知道我在这里缺少什么

powershell vmware powercli
1个回答
0
投票

如果您使用带有 vmware 工具的 VMWARE 来捕获鼠标、文件等,它使用 CD 驱动器,也许它的缓存上仍然有这些工具,当您重新启动虚拟机时,它会将自身重新配置为第一个启动的设备?

© www.soinside.com 2019 - 2024. All rights reserved.