We are currently looking for a way to change the default VM setting from BIOS to UEFI, so we do not need to change the API call in our third party automation tool, but the vCenter creates only UEFI VMs in the future. Does anyone has a clue where to change it?
Yes, I was aware of this one, but looking for a way to have the default setting changed. Backgroun: We want to change BIOS to UEFI for all future VM installations, but the call to the vCenter API should not have an additional value for the type of the BIOS. If you dont change it, it is BIOS, not UEFI.
Unfortunately, we cannot use templates... I got an answer from VMware, that it is not something we can change currently.
Bummer about the templates! That's how we do it currently. We have a few Windows Server templates with UEFI set as the default boot mode. However, our template is more of a skeleton, as it only contains CPU, RAM, Disks, UEFI boot, Secure boot, etc., but contains no OS. It's just a VM shell. From there, we then deploy the guest OS via SCCM / PXE Boot.
I bet it could be scripted somehow, as in, create the default VM the way you normally do. Once the shell is created, run a script against the new VM and set the boot firmware to UEFI. For example, as listed in the VMware Documentation, Enable or Disable UEFI Secure Boot for a Virtual Machine, do something like this:
$vm = Get-VM TestVM
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.Firmware = [VMware.Vim.GuestOsDescriptorFirmwareType]::efi
I know it's still a bit manual, but since the vCenter default can't be changed, perhaps this might speed up your workflow a bit?