Breaking the VMware ESXi 5.5 ACPI boot loop on Lenovo TD350
VMware ACPI boot loop
The symptoms are that you see ESXi start its boot process, loading drivers and modules (e.g. black screen), then you see the Yellow boot screen with Timer and Scheduler initialized, and at the “Initializing ACPI” point, ka boom, either a boot loop starts (e.g. the above processes repeats after system boots).
The fix is actually pretty quick and simple, finding it took a bit of time, trial and error.
There were of course the usual suspects such as
- Checking to BIOS and firmware version of the motherboard on the Lenovo TD350 (checked this, however did not upgrade)
- Making sure that the proper VMware ESXi patches and updates were installed (they were, this was a pre built image from another working server)
- Having the latest installation media if this was a new install (tried this as part of trouble shooting to make sure the pre built image was ok)
- Remove any conflicting devices (small diversion hint: make sure if you have cloned a working VMware image to an internal drive that it is removed to avoid same file system UUID errors)
- Boot into BIOS making sure that for processor VT is enabled, for SATA that AHCI is enabled for any drives as opposed to IDE or RAID, and that for boot, make sure set to Legacy vs. Auto (e.g. disable UEFI support) as well as verify boot order. Having been in auto mode for UEFI support for some other activity, this was easy to change, however was not the magic silver bullet I was looking for.
Breaking the VMware ACPI boot loop on Lenovo TD350
After doing some searching and coming up with some interesting and false leads, as well as trying several boots, BIOS configuration changes, even cloning the good VMware ESXi boot image to an internal drive if there was a USB boot issue, the solution was rather simple once found (or remembered).
Lenovo TD350 BIOS basic settings
Lenovo TD350 processor settings
Make sure that in your BIOS setup under PCIE that you have that you disable “Above 4GB decoding".
Turns out that I had enabled "Above 4GB decoding" for some other things I had done.
Lenovo TD350 disabling above 4GB decoding on PCIE under advanced settings
Once I made the above change, press F10 to save BIOS settings and boot, VMware ESXi had no issues getting past the ACPI initializing and the boot loop was broken.
Where to read, watch and learn more
- Lenovo TS140 Server and Storage I/O lab Review
- Lenovo ThinkServer TD340 Server and StorageIO lab Review
- Part II: Lenovo TS140 Server and Storage I/O lab Review
- Software defined storage on a budget with Lenovo TS140
What this all means and wrap up
In this day and age of software defined focus, remember to double-check how your hardware BIOS (e.g. software) is defined for supporting various software defined server, storage, I/O and networking software for cloud, virtual, container and legacy environments. Watch for future posts with my experiences using the Lenovo TD350 including with Windows 2012 R2 (bare metal and virtual), Ubuntu (bare metal and virtual) with various application workloads among other things.
Ok, nuff said (for now)