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
or
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 X
is not 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
grub-install /dev/sda
to finally install grub correctly. You should now be able to boot.
/boot
partition at the beginning and after the kernel has loaded the controller module, the (BIOS-)limit is gone.