A recently created VM in VMware ESXi (7.0.3) was unable to boot from a mounted ISO. And it turns out this is related to a new virtual EFI boot manager having replaced the previous virtual BIOS.
When starting up a VM, you get a tiny moment to press [ESC] to enter the VM's boot menu.
Note: You can increase that moment by modifying the startup delay. This can be done in VM Settings -> VM Options -> Startup Options -> Startup Delay (in milliseconds). Enter 10000 for a 10s delay.
Usually the VM console then shows a small Boot Menu, where you have a couple of options.
However after this particular (and recently created) virtual machine was started, a [ESC] led to a different kind of boot menu:
A new (EFI) Boot Manager shows up. This seems to be the new default for newly created virtual machines. I assume this happens since ESXi 7.0 but was unable to quickly find a relevant changelog to pin-point the version.
Although the second option (EFI VMware Virtual SATA CDROM Drive) suggests to boot from the virtual CD drive, nothing actually happened when selecting this option and trying to boot the ISO.
After shutting down this VM (yes, completely shut down), the boot mode can be changed from EFI back to BIOS. To do so, open the VM Settings -> VM Options -> Startup Options -> Firmware. The default is set to EFI (Recommended) and is greyed out as long as the VM is running:
But as mentioned before, shut down the VM and now you can switch back to BIOS:
After another start of the VM and hitting [ESC], the well-known legacy Boot Menu shows up and allows you to select the virtual CD-ROM Drive:
And this time the mounted ISO was started and the VM successfully booted from the virtual optical drive:
Philip from wrote on Apr 20th, 2023:
I am experiencing the same issue.
I can boot from the CD-ROM Drive (which is a Datastore ISO) if I set the Firmware to BIOS.
But I don't what that, I want to use EFI as the Firmware because it also allows Virtualization Based Security and Secure Boot.
Does anyone know how to resolve the issue so that i can boot to my ISO when EFI is set as the Firmware ?
AWS Android Ansible Apache Apple Atlassian BSD Backup Bash Bluecoat CMS Chef Cloud Coding Consul Containers CouchDB DB DNS Database Databases Docker ELK Elasticsearch Filebeat FreeBSD Galera Git GlusterFS Grafana Graphics HAProxy HTML Hacks Hardware Icinga Icingaweb Icingaweb2 Influx Internet Java KVM Kibana Kodi Kubernetes LXC Linux Logstash Mac Macintosh Mail MariaDB Minio MongoDB Monitoring Multimedia MySQL NFS Nagios Network Nginx OSSEC OTRS Office PGSQL PHP Perl Personal PostgreSQL Postgres PowerDNS Proxmox Proxy Python Rancher Rant Redis Roundcube SSL Samba Seafile Security Shell SmartOS Solaris Surveillance Systemd TLS Tomcat Ubuntu Unix VMWare VMware Varnish Virtualization Windows Wireless Wordpress Wyse ZFS Zoneminder