Upgrade to ESXi 7.0 Boot Disk Size Error

Finally getting around to upgrading to ESXi 7.0, and I was stuck pretty quickly, with the error: BOOT_DISK_SIZE ERROR.

[root@esxi:~] esxcli software profile update --depot=/vmfs/volumes/NFS2019/iso/VMware-ESXi-7.0b-16324942-depot.zip --profile=ESXi-7.0b-16324942-standard
 Hardware precheck of profile ESXi-7.0b-16324942-standard failed with errors: <BOOT_DISK_SIZE ERROR: Target version supports boot disks that are at least 3814 MiB in size, the boot disk has 1928 MiB.>
 Please refer to the log file for more details.

Confused, I looked into it further, and realised I did in fact have ESXi 6.7 running from a 2GB USB stick:

[root@esxi:~] fdisk -l

*** The fdisk command is deprecated: fdisk does not handle GPT partitions.  Please use partedUtil

Found valid GPT with protective MBR; using GPT

Disk /dev/disks/mpx.vmhba32:C0:T0:L0: 3948544 sectors, 1928M
Logical sector size: 512
Disk identifier (GUID): 2fa464c5-0712-4ca7-ba61-f2f354a4c1ca
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3948510

Number  Start (sector)    End (sector)  Size Name
     1              64            8191 4064K
     5            8224          520191  249M
     6          520224         1032191  249M
     7         1032224         1257471  109M
     8         1257504         1843199  285M
Found valid GPT with protective MBR; using GPT

Going to the basement and having a look at the USB stick, proved I had used an old 2GB USB stick I got from a conference probably back in 2008.

This USB stick ran my first real home lab on a Dell Precision with ESXi 3.5. Ah the memories…

A lot of things have changed since then, one of which is the boot disk requirements.

ESXi Booting Requirements:
Fresh install of ESXi 7.0: 8GB for USB or SD devices
Upgrading to ESXi 7: Requires a minimum of 4 GB.

You can read about the ESXi partition changes here: https://blogs.vmware.com/vsphere/2020/05/vsphere-7-esxi-system-storage-changes.html

To fix it, you can re-install ESXi on a bigger storage device, then reconfigure vmkernels, add NFS storage, re-attach VMs. I’d put money on me making a mistake along the way.

The alternative is to clone the USB stick to a larger capacity USB stick, and attempt the upgrade again.

I ripped the USB stick from my ESXi host while it was still running (#YOLO. ESXi runs in memory - VMs continue to run!) and followed Paul’s great instructions (https://tinkertry.com/clone-esxi-with-usb-image-tool), and downloaded the latest USB Image Tool, I set the option “Fix GPT after Restore” and cloned and then restored my boot USB onto a 32 GB stick.

I plugged in the new USB stick, shut down running VM’s, rebooted, held my breath, and ESXi 6.7 booted all OK. Attempting the upgrade again, it was successful. The upgrade takes care of the repartitioning.

A quick check of the log:

[root@esxi:/tmp/scratch/log] less esxupdate.log

2020-07-06T07:01:05Z esxupdate: 2101593: HostImage: DEBUG: Host is remediated by installer: locker, boot
2020-07-06T07:01:05Z esxupdate: 2101593: root: DEBUG: Completed esxcli output, going to exit esxcli-software


Now’s probably a good time to review my boot devices, and to clean out those freebie vendor USB sticks.

Andrew Dauncey
Andrew Dauncey
Senior Consultant at VMware PSO

Every day I’m shuffling