Link to home
Start Free TrialLog in
Avatar of Bryan Woods
Bryan Woods

asked on

VMWare Workstation 16 guest configured as UEFI fails to boot Windows 10 installation media.

I've set up a very simple Workstation 16 guest with the default Windows 10 settings.  I've changed the "Firmware settings" (under Options > Advanced) from BIOS to UEFI (without the "secure boot" option set).

When I attach the standard Windows 10 1909 installer ISO (volume license download), the VM refuses to boot from the ISO.

The displays shows that it's trying to boot first from the "VMWare virtual NVME...", then the Network.   Both of which, of course fail.   If I "Power on to firmware", and use the boot menu to select the "SATA CDRom" device, the screen just refreshes - the VM does nothing else.

If I switch the same guest into BIOS firmware, it boots the device just fine and begins the installation.  Unfortunately, I don't want a BIOS guest, I want to handle the install with UEFI configured from the get-go... So running some sort of tool to "convert" from BIOS/MBR to UEFI/GPT isn't an option for me.

This same Windows 10 installer ISO works fine when I use Hyper-V (which defaults to UEFI mode) to build a VM.

What am I missing?     I've pasted in a copy of the VMX file for reference.

Bryan

----
.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "18"
svga.autodetect = "FALSE"
mks.enable3d = "TRUE"
firmware = "efi"
bios.bootdelay = "5000"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "tst801.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
displayName = "tst801"
usb.vbluetooth.startConnected = "TRUE"
sensor.location = "pass-through"
guestOS = "windows9"
touchscreen.vusb.present = "TRUE"
tools.syncTime = "FALSE"
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.present = "TRUE"
numvcpus = "2"
cpuid.coresPerSocket = "2"
memsize = "4096"
mem.hotadd = "TRUE"
sata0.present = "TRUE"
nvme0.present = "TRUE"
nvme0:0.fileName = "tst801.vmdk"
nvme0:0.present = "TRUE"
sata0:1.deviceType = "cdrom-image"
sata0:1.fileName = "E:\Users_\Bryan Woods\Documents\media\LANDESK WinPE.iso"
usb.present = "TRUE"
ehci.present = "TRUE"
usb_xhci.present = "TRUE"
svga.maxHeight = "1200"
svga.maxWidth = "1600"
svga.vramSize = "134217728"
svga.graphicsMemoryKB = "8388608"
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000e"
ethernet0.present = "TRUE"
extendedConfigFile = "tst801.vmxf"
floppy0.present = "FALSE"
numa.autosize.cookie = "20022"
numa.autosize.vcpu.maxPerVirtualNode = "2"
uuid.bios = "56 4d c5 e9 dd 83 59 bb-e4 80 99 4c 36 60 55 f7"
uuid.location = "56 4d c5 e9 dd 83 59 bb-e4 80 99 4c 36 60 55 f7"
vm.genid = "-1622754637558199632"
vm.genidX = "8587507180216582304"
nvme0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "160"
sound.pciSlotNumber = "33"
ehci.pciSlotNumber = "34"
usb_xhci.pciSlotNumber = "192"
vmci0.pciSlotNumber = "35"
sata0.pciSlotNumber = "36"
nvme0.pciSlotNumber = "224"
vmotion.checkpointFBSize = "134217728"
vmotion.checkpointSVGAPrimarySize = "134217728"
vmotion.svga.mobMaxSize = "1073741824"
vmotion.svga.graphicsMemoryKB = "8388608"
vmotion.svga.supports3D = "0"
vmotion.svga.baseCapsLevel = "0"
vmotion.svga.maxPointSize = "0"
vmotion.svga.maxTextureSize = "0"
vmotion.svga.maxVolumeExtent = "0"
vmotion.svga.maxTextureAnisotropy = "0"
vmotion.svga.lineStipple = "0"
vmotion.svga.dxMaxConstantBuffers = "0"
vmotion.svga.dxProvokingVertex = "0"
vmotion.svga.sm41 = "0"
vmotion.svga.multisample2x = "0"
vmotion.svga.multisample4x = "0"
vmotion.svga.msFullQuality = "0"
vmotion.svga.logicOps = "0"
vmotion.svga.bc67 = "0"
vmotion.svga.sm5 = "0"
vmotion.svga.multisample8x = "0"
vmotion.svga.logicBlendOps = "0"
ethernet0.generatedAddress = "00:0c:29:60:55:f7"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "912283127"
monitor.phys_bits_used = "45"
cleanShutdown = "TRUE"
softPowerOff = "FALSE"
usb_xhci:6.speed = "2"
usb_xhci:6.present = "TRUE"
usb_xhci:6.deviceType = "hub"
usb_xhci:6.port = "6"
usb_xhci:6.parent = "-1"
usb_xhci:7.speed = "4"
usb_xhci:7.present = "TRUE"
usb_xhci:7.deviceType = "hub"
usb_xhci:7.port = "7"
usb_xhci:7.parent = "-1"
tools.remindInstall = "FALSE"
scsi0.virtualDev = "lsisas1068"
scsi0.present = "TRUE"
scsi0:5.deviceType = "cdrom-image"
scsi0:5.fileName = "E:\Users_\Bryan Woods\Documents\media\LANDESK WinPE.iso"
scsi0.pciSlotNumber = "256"
scsi0.sasWWID = "50 05 05 69 dd 83 59 b0"
sata0:0.deviceType = "cdrom-image"
sata0:0.fileName = "E:\Users_\Bryan Woods\Documents\media\SW_DVD9_Win_Pro_10_1909.1_64BIT_English_Pro_Ent_EDU_N_MLF_X22-23306.ISO"
sata0:0.present = "TRUE"
uefi.secureBoot.enabled = "TRUE"
usb_xhci:4.present = "TRUE"
usb_xhci:4.deviceType = "hid"
usb_xhci:4.port = "4"
usb_xhci:4.parent = "-1"

Open in new window

Avatar of Seth Simmons
Seth Simmons
Flag of United States of America image

sata0:1.fileName = "E:\Users_\Bryan Woods\Documents\media\LANDESK WinPE.iso"

do you have 2 cd devices connected?
maybe it's booting off the wrong iso?
Avatar of Bryan Woods
Bryan Woods

ASKER

Seth, you bring up a good point.

I had tried booting a couple of different ISOs with this guest, and had tried setting the CD-ROM as a SCSI device as well (which still didn't boot).  Not sure why those config lines are still in the VMX file, but there is only one CD-ROM (SATA) showing in the GUI config:
User generated image
So I can go ahead and create a new Windows 10 guest using the "wizard", set the RAM to 4GB, remove the printer, change Net adapter to "Bridged", firmware type to UEFI...  and get the same (failure to boot) results.   Here's the VMX file for this new guest:
.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "18"
svga.autodetect = "FALSE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "tst802.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
displayName = "tst802"
usb.vbluetooth.startConnected = "TRUE"
sensor.accelerometer = "pass-through"
sensor.ambientLight = "pass-through"
sensor.compass = "pass-through"
sensor.gyrometer = "pass-through"
sensor.inclinometer = "pass-through"
sensor.location = "pass-through"
sensor.orientation = "pass-through"
guestOS = "windows9"
touchscreen.vusb.present = "TRUE"
tools.syncTime = "FALSE"
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.present = "TRUE"
numvcpus = "2"
cpuid.coresPerSocket = "2"
memsize = "4096"
mem.hotadd = "TRUE"
sata0.present = "TRUE"
nvme0.present = "TRUE"
nvme0:0.fileName = "tst802.vmdk"
nvme0:0.present = "TRUE"
sata0:1.deviceType = "cdrom-image"
sata0:1.fileName = "E:\Users_\Bryan Woods\Documents\media\SW_DVD9_Win_Pro_10_1909.1_64BIT_English_Pro_Ent_EDU_N_MLF_X22-23306.ISO"
sata0:1.present = "TRUE"
usb.present = "TRUE"
ehci.present = "TRUE"
usb_xhci.present = "TRUE"
svga.maxHeight = "1200"
svga.maxWidth = "1600"
svga.vramSize = "7680000"
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000e"
ethernet0.present = "TRUE"
extendedConfigFile = "tst802.vmxf"
floppy0.present = "FALSE"
firmware = "efi"

Open in new window

Why the VMX file keeps previously connected ISOs, I don't know.  But booting from the wrong CD-ROM doesn't seem to be the problem.

Thanks for the feedback.

some other things to try...
  • boot from 20H2 iso
  • download 1909 iso again
  • verify hardware virtualization is enabled in the bios (with it off it would only boot 32bit OS)
Is there a reason why you aren't using the wizard?


.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "18"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "Windows 10 x64.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
displayName = "Windows 10 x64"
usb.vbluetooth.startConnected = "TRUE"
firmware = "efi"
sensor.location = "pass-through"
guestOS = "windows9-64"
tools.syncTime = "FALSE"
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.present = "TRUE"
numvcpus = "2"
cpuid.coresPerSocket = "2"
memsize = "2048"
mem.hotadd = "TRUE"
sata0.present = "TRUE"
nvme0.present = "TRUE"
nvme0:0.fileName = "Windows 10 x64.vmdk"
nvme0:0.present = "TRUE"
sata0:1.deviceType = "cdrom-image"
sata0:1.fileName = "H:\MSDN\Win10_2004_English_x64.iso"
sata0:1.present = "TRUE"
usb.present = "TRUE"
ehci.present = "TRUE"
usb_xhci.present = "TRUE"
svga.graphicsMemoryKB = "8388608"
ethernet0.connectionType = "nat"
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000e"
serial0.fileType = "thinprint"
serial0.fileName = "thinprint"
floppy0.fileType = "file"
floppy0.fileName = "autoinst.flp"
ethernet0.present = "TRUE"
serial0.present = "TRUE"
extendedConfigFile = "Windows 10 x64.vmxf"
floppy0.clientDevice = "FALSE"
numa.autosize.cookie = "20022"
numa.autosize.vcpu.maxPerVirtualNode = "2"
uuid.bios = "56 4d 1b 1f 75 fd 7b b7-bb 3c 06 b4 5b a2 8e 1a"
uuid.location = "56 4d 1b 1f 75 fd 7b b7-bb 3c 06 b4 5b a2 8e 1a"
vm.genid = "7768499978962920188"
vm.genidX = "4445398705695097765"
nvme0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "160"
sound.pciSlotNumber = "33"
ehci.pciSlotNumber = "34"
usb_xhci.pciSlotNumber = "192"
vmci0.pciSlotNumber = "35"
sata0.pciSlotNumber = "36"
nvme0.pciSlotNumber = "224"
svga.vramSize = "268435456"
vmotion.checkpointFBSize = "134217728"
vmotion.checkpointSVGAPrimarySize = "268435456"
vmotion.svga.mobMaxSize = "1073741824"
vmotion.svga.graphicsMemoryKB = "8388608"
vmotion.svga.supports3D = "1"
vmotion.svga.baseCapsLevel = "9"
vmotion.svga.maxPointSize = "1"
vmotion.svga.maxTextureSize = "16384"
vmotion.svga.maxVolumeExtent = "2048"
vmotion.svga.maxTextureAnisotropy = "16"
vmotion.svga.lineStipple = "0"
vmotion.svga.dxMaxConstantBuffers = "14"
vmotion.svga.dxProvokingVertex = "0"
vmotion.svga.sm41 = "1"
vmotion.svga.multisample2x = "1"
vmotion.svga.multisample4x = "1"
vmotion.svga.msFullQuality = "1"
vmotion.svga.logicOps = "1"
vmotion.svga.bc67 = "9"
vmotion.svga.sm5 = "1"
vmotion.svga.multisample8x = "1"
vmotion.svga.logicBlendOps = "1"
ethernet0.generatedAddress = "00:0c:29:a2:8e:1a"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "1537379866"
monitor.phys_bits_used = "45"
cleanShutdown = "FALSE"
softPowerOff = "FALSE"
usb_xhci:4.present = "TRUE"
usb_xhci:4.deviceType = "hid"
usb_xhci:4.port = "4"
usb_xhci:4.parent = "-1"

Open in new window

Hi David,

Actually, I did use the "new virtual machine" wizard.  I just opted to "install operating system later", rather than point it to my Windows 10 installer media.

Bryan
So I definitely appreciate all of the good feedback on this.

As a test, I installed VMWare Workstation 16.1 on my laptop (a 6th generation HP Elitebook with 8th gen Intel i5).  When I created a Windows 10 x64 virtual machine, it not only was able to boot the same installer ISO that I had been trying unsuccessfully to boot on my desktop system, it actually defaulted the VM to UEFI firmware (the desktop system was always defaulting to BIOS).
This is an older HP desktop with an older i7 2600.  There's nothing in the BIOS (the host doesn't support UEFI) that allows me to disable/enable VT-x, but when I run CPU-Z, it shows VT-x capability listed in the "instructions" section:
User generated image

Regardless, it seems that there's something either lacking in the hardware capability or some feature that's disabled in the BIOS (there's not a lot of options in this thing's antique BIOS).   Now that I think about it, I realize that I originally set this box up with Workstation v6.  Yikes!  Time to upgrade.  It's possible that "antiquated hardware" is my biggest problem.
ASKER CERTIFIED SOLUTION
Avatar of Bryan Woods
Bryan Woods

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
try Rufus .. convert vimage to gpt boot...usb