Using an emulated SCSI-adapter in VMware with a very large root disk may give you either
Error 18: Selected Cylinder exceeds maximum supported by BIOS
Error 16: Inconsistent Filesystem Structure
This is because the initrd image is created (maybe only partially) outside the 1024-cylinder boundary accessible by
the VMware BIOS. The only stress-free solution is to move
/boot to its own partition directly at the beginning of the
virtual disk. There is a nice how-to from Tek Guru.
So use your favourite partitioner (I prefer GPartEd from the SysRescCD.) and move the
beginning of the first partition about 100 MiB to the right to add a new ext3 partition in front of it. 100 MiB
should be enough for most people. You may need to use
fdisk’s expert menu to fix the partition ordering if you can’t
live with a
/dev/sda3 at the beginning of the disk.
Afterwards mount both partitions, the future
/boot and the system partition and copy the contents of
/boot to the
new and empty partition. Rename the old boot-folder and create a new empty one. Edit the
fstab and add following line:
/dev/sda3 /boot ext3 rw 0 1
(Tek Guru used
ro here to mount the partition read-only. As Ubuntu often updates the initrd,
rw is the better way.)
Now open the
grub/menu.lst and remove the
/boot in front of the entries. Since grub sees the plain partition,
everything is in the root directory at this point. Maybe you also have to change the
root hd(0,X) if your
0 (= the first partition).
Using the rescuecd, you can now boot your system using the
rescuecd boothd=/dev/sda2 (
root=/dev/sda2 in recent
versions) parameter. If the system is up, run
to finally install grub correctly. You should now be able to boot.
You can use the same technique to get around the 137 GB / 128 GiB limit of some
older mainboards. Just create a
/boot partition at the beginning and after the kernel has loaded the controller
module, the (BIOS-)limit is gone.