--- title: /boot to own partition layout: default created: 2008-09-12 21:53:07 +0200 updated: 2009-03-31 11:48:44 +0200 toc: false tags: - know-how - software - linux - software - bootup --- 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](http://tekguru.wordpress.com/2007/09/04/howto-moving-boot-to-its-own-partition/). So use your favourite partitioner (I prefer GPartEd from the [SysRescCD](http://www.sysresccd.org/).) 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.

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.