Of course, the easiest way would be to use rufus via windows but if you do not have a windows around, you need a different approach.
Under macOS there is balenaEtcher but for unknown reasons it doesn't detect the ESXi image as bootable and the result is not bootable either.
What's left is a manual approach, via terminal, that should work under macOS or Linux.
Below is a way to do this under macOS. Under linux is not that different: you need to use fdisk -l instead of diskutil list.
1. Format the USB stick as FAT32
I have named mine ESXI-7.
2. List the partition you just created and umount it:
fmbp16:~ root# diskutil list /dev/disk2 /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.7 GB disk2 1: DOS_FAT_32 ESXI-7 15.7 GB disk2s1 fmbp16:~ root# diskutil umountDisk /dev/disk2 Unmount of all volumes on disk2 was successful
3. Use fdisk to mark the partition active and make it bootable:
fmbp16:~ root# diskutil umountDisk /dev/disk2 Unmount of all volumes on disk2 was successful fmbp16:~ root# fdisk -e /dev/disk2 fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory Enter 'help' for information fdisk: 1> f 1 Partition 1 marked active. fdisk:*1> write Writing MBR at offset 0. fdisk: 1> exit
Also, mount back up the partition:
fmbp16:~ florian$ diskutil mount /dev/disk2s1 Volume ESXI-7 on /dev/disk2s1 mounted
4. Mount the ISO installer from vmware website and copy the content to USB partition:
fmbp16:~ root# cp -R /Volumes/ESXI-7.0B-16324942-STANDARD/* /Volumes/ESXI-7/
5. Now you need to modify ISOLINUX.CFG to point the boot to the right partition:
fmbp16:~ root# cd /Volumes/ESXI-7/ fmbp16:ESXi root# cat ISOLINUX.CFG | grep APPEND APPEND -c boot.cfg fmbp16:ESXi root# sed -i "" 's/APPEND -c boot.cfg/APPEND -c boot.cfg -p 1/g' ISOLINUX.CFG fmbp16:ESXi root# cat ISOLINUX.CFG | grep APPEND APPEND -c boot.cfg -p 1