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 [HardwareError] 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.