Windows Server VMs result in continuous reboot (boot loop)
search cancel

Windows Server VMs result in continuous reboot (boot loop)

book

Article ID: 396832

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • The VM is created as usual and the ISO is attached from the datastore.
  • During the VM boot, option to press 'any key to boot' is selected. Windows Icon appears as if its about to boot to Windows installer image (CD). and then the VM reboots and goes into a loop eventually ending up at EFI timeout.
  • vmware.log for the vm shows log entries as below
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-0 - [msg.Backdoor.OsNotFound] No operating system was found. If you have an operating system installation disc, you can insert the disc into the system's CD-ROM drive and restart the virtual machine.
  • EVC Masking is also logged in the vmware.log file:
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - FeatureCompat: EVC masks:
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.STEPPING - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.Intel - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.MODEL - Val:0xf
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.maxTextureAnisotropy - MinVal:0x10
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.LM - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.NUM_EXT_LEVELS - Val:0x80000008
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.MWAIT - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.maxPointSize - MinVal:0x3f
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.logicOps - MinVal:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.FAMILY - Val:6
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.sm41 - MinVal:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.dxMaxConstantBuffers - MinVal:0xe
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.maxTextureSize - MinVal:0x2000
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.lineStipple - MinVal:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.SSSE3 - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.SSE3 - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.NX - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.SS - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.maxVolumeExtent - MinVal:0x800
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.DS - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.multisample4x - MinVal:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.LAHF64 - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.multisample2x - MinVal:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.supports3D - MinVal:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.CMPXCHG16B - Val:1
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: svga.baseCapsLevel - MinVal:7
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Feature: cpuid.NUMLEVELS - Val:0xa
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - Masking Unknown Feature: Max:0
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - hostCPUID vendor: GenuineIntel
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - hostCPUID family: 0x6 model: 0x6a stepping: 0x6
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vmx - hostCPUID codename: Ice Lake SP
  • Here we see the guest reboot and then Triple Fault and say the virtual cpu entered the shutdown state.
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-0 - VMXNET3 user: Ethernet0 RSS fields requested by vmx: 3
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-1 - CPU reset: soft (mode Emulation)
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-2 - CPU reset: soft (mode Emulation)
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-3 - CPU reset: soft (mode Emulation)
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-0 - Guest: Firmware has transitioned to runtime.
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05)+ vcpu-0 -
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-0 - Triple fault.
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-0 - MsgHint: msg.monitorEvent.tripleFault
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05)+ vcpu-0 - A fault has occurred causing a virtual CPU to enter the shutdown state. If this fault had occurred outside of a virtual machine, it would have caused the physical machine to restart. The shutdown state can be reached by incorrectly configuring the virtual machine, a bug in the guest operating system, or a problem in VMware ESX.---------------------------------------
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-0 - CPU reset: hard (mode Emulation)
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-1 - CPU reset: hard (mode Emulation)
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-2 - CPU reset: hard (mode Emulation)
    YYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-3 - CPU reset: hard (mode Emulation)
    YYYY-MM-DDTHH:MM:SS.SSSSZ In(05) vcpu-0 - Chipset: The guest has requested that the virtual machine be hard reset.
  • This issue can occur with Windows Server 2022 as well as Windows Server 2025
  • This issue is also observed for VMs which are getting migrated from one environment to another

Environment

  • vSphere 7.x
  • vSphere 8.x

Cause

The issue occurs because Windows Server VMs requires a minimum CPU generation for installation or boot. When EVC (Enhanced vMotion Compatibility) is enabled, it may mask newer CPU features required by Windows Server, leading to VM boot failure and subsequent reboot loops.

For example, a cluster with Ice Lake CPU hosts using EVC that sets the cluster to a baseline that is below what Windows Server 2025 needs for that particular guest OS to run, will not allow these VMs to be deployed or booted.

Resolution

  • For the VM to run in the current cluster, disabling EVC mode exposes all the CPU feature set of the hardware processors of the hosts (in this example, Ice Lake processors)

OR

  • Power on that VM on a different cluster or host with similar physical processors above the minimum required by Windows Server.

Additional Information

From Microsoft's documentation, the minimum processors for Windows Server 2025 is:

Windows Server 2025 Second through Fifth Gen Xeon SP processors (x2xx, x3xx, x4xx, x5xx); Xeon 6 SP Processors (67xxE, 67xxP, 65xxP, 63xxP); Xeon E 23xx and 24xx; Xeon D 17xx, 18xx, 21xx, 27xx, 28xx; Pentium G7400 and G7400T

Refer to Windows Processor Requirements