Just a quick post on changing the system storage media size for ESXi 7.0 Installation. As of ESXi 7.0, a new partition layout was introduced and the installation can now consume up to 138GB of storage to allow for new features and enhancments to be added in future releases. The partition is auto-sized depending on the size of the disk.
As you can see from this image below, I installed ESXi 7 onto a 256GB disk for lab purposes and realised I was only left with a 104GB VMFS Datastore. Given this was for a small homelab environment with 16GB of memory, I didn’t need the system storage to use up all that capacity and preferred to have a larger local VMFS datastore.

Fortunately, this can be easily changed. As of ESXi 7.0 Update 1c you can now add a boot option systemMediaSize to customize the system storage consumed for the installation.
min 33GB, for single disk or embedded servers
small 69GB, for servers with at least 512GB RAM
max all available space, for multi-terabyte servers
This can be done either by adding the boot option to the boot.cfg on your bootable ESXi install media or, you can add the boot option when initially booting ESXi by pressing “Shift+O“
1. Add boot option to boot.cfg
If you are able to modify the boot.cfg on your bootable installation media, just add the boot option at the end of the “kernelopt” line. For example systemMediaSize=min

2. Add boot option on start up
When the ESXi installer starts, you have 3 seconds to press “Shift+O” Then type in the boot option, for example systemMediaSize=min


As you can see in the image below, reinstalling ESXi using this boot option systemMediaSize=min, I was left with a VMFS partition of 200GB.

Note: Do this at your own risk! To avoid undesired behaviours, I recommend for production environments, you don’t deviate from the system default configuration .
I hope you found this helpful. Feel free to comment if you have any questions.
Follow @nmangraviti
Please emphasize that the full resizing command is: runweasel cdromBoot systemMediaSize=min
After pressing “Shift-o”, I’ve been removing the “runweasel cdromBoot” thinking that’s not part of the systemMediaSize command. Only after reading your post did I realize my mistake. Thanks for your write up.
Thanks for sharing this information.