According to upgrading to 4.0 from a ESXi 3.5 installed on a internal USB (like those shipped with Dell or HP servers) was not supported. I can confirm it was not possible.
Updated Servers shipped with ESX Server 3i Embedded 3.5 cannot be upgraded to ESXi 4.0 Embedded
When you attempt to upgrade a server with ESX Server 3i Embedded 3.5
installed on an internal USB, the following error occurs during the
upgrade:
Unsupported boot disk. The boot device layout on the host will not support the upgrade.
But on that Known issue has been removed and a similar Resolved Issue appears to be fixed:
Upgrading ESX Server 3i 3.5 to ESXi 4.0 fails in specific cases
This issue only occurs with installations on serial attached SCSI (SAS)
disks or fibre channel (FC) disks. In such cases, when you attempt to
upgrade ESX Server 3i 3.5 installed on SAS or FC disk, the following
error occurs during the upgrade:
Unsupported boot disk. The boot device layout on the host will not support the upgrade
Note that this issue is one of a variety that can cause the preceding error to appear.
It is referred to SAS/FC, not internal USB, but the error looks the same.
Anyone has tried upgrading to 4.0 with ESXi-4.0.0-1.9.208167-upgrade-release.zip ?
Does it work now?
I have had some USB installs with the issue and some not. When the partitions are wrong there is no way for the update to take place. If you don't have many to upgrade it is easy to backup the configuration, install a new USB stick with the version 4 and then restore the configuration. Version 4 can install directly to USB as part of the CD install. I would wait on installing Update 1 until more is known about it.
You were right. The partition table on the USB stick is messed up.
~ # fdisk -l (...) Disk /dev/disks/vmhba32:0:0:0: 1005 MB, 1005584384 bytes 60 heads, 32 sectors/track, 1022 cylinders Units = cylinders of 1920 * 512 = 983040 bytes Device Boot Start End Blocks Id System /dev/disks/vmhba32:0:0:1 5 800 763904 5 Extended Partition 1 has different physical/logical beginnings (non-Linux?): phys=(4, 0, 1) logical=(4, 16, 1) Partition 1 has different physical/logical endings: phys=(749, 59, 32) logical=(799, 59, 32) /dev/disks/vmhba32:0:0:4 * 1 5 4080 4 FAT16 <32M Partition 4 has different physical/logical endings: phys=(3, 59, 32) logical=(4, 15, 32) /dev/disks/vmhba32:0:0:5 5 56 49136 6 FAT16 /dev/disks/vmhba32:0:0:6 56 107 49136 6 FAT16 /dev/disks/vmhba32:0:0:7 107 224 112624 fc VMKcore /dev/disks/vmhba32:0:0:8 225 800 552944 6 FAT16