1
0
mirror of https://github.com/mbirth/wiki.git synced 2024-12-27 23:24:06 +00:00
wiki.mbirth.de/know-how/software/linux/_posts/2009-03-31-boot-partition.md
2015-03-20 01:12:12 +01:00

55 lines
2.3 KiB
Markdown

---
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.
<p><div class="noteclassic" markdown="1">
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.
</div></p>