A high level overview of the boot process may help in understanding how
the /boot partition/directory is used. This is not exact or perfect,
but should be good enough to answer the basic question (as I understand
it). So here goes:
Power on self test (POST)
-> load and run BIOS code
-> find MBR of boot disk, load and run code found there
-> find Active partition boot code, load and run it
(standard DOS setup, which loads and runs the OS of
the active partition).
In the case of GRUB, the last step does not depend on an active
partition, as grub will load the OS boot code from whatever partition
the user selects, so long as grub is installed in the MBR.
Grub will look for a "root" device to find its menu, and the files it
needs to load for the next stage of the boot process. Grub's notation
for disks (all types, no distinction between SCSI, ATA, etc) is (hd#,#)
where the ',#' (the second number) may be optional, depending on context
of the grub command being run. All counts are zero based so partition 1
on the first (boot) disk will be (hd0). The parenthesis are required.
Convention has named the location of the files grub uses as '/boot',
though any name could be used. A very important thing to note is that
if this is it's own partition, then the path of the files will be /file,
while if 'boot' is a directory on the Linux root partition, then the
path with be /boot/file. You will see this distinctly after setting up
your dual boot environment.
Grub is said to have problems reading an XFS formatted filesystem. This
has been my experience in the past, though it may no longer be the case.
So if using XFS, you may want to create a separate partition for boot
files in any case, just to be safe. If the Linux root is ext, then
it's your choice as to whether you want a separate partition for it.
The partitioning you've diagrammed will work fine, generally speaking.
Each installation of the OS will create its own equivalent of /boot,
with the appropriate menu entry for grub to use, with grub's 'root'
pointing to the correct partition and file paths. Since each is totally
independent of the other, you will have two separate and distinct /boot
locations. However, partition sizes are critical here, because of
limits imposed on grub:
*Important note*: grub "suffers" the same limits as the BIOS does. So
if your disk is large, you will need to create your boot partition *and*
the Linux root partition near the beginning of the disk.
So, for example, you'll want to put the ext boot partition at the
beginning, followed by the combined ext Linux root/boot. During the
first install, you would create a small (several hundred megs should do)
partition, which you will mark as unused, followed by your combined
root/boot. During the second install, you would select this previously
unused partition as your /boot partition. Also, since ext3 is ext2 with
journaling, you may select whichever you prefer as the format for the
This has been long and perhaps (for some) more than needed ;) I do hope
it helps you.
David R. Litwin wrote:
On 11/06/06, *David R. Litwin* <firstname.lastname@example.org
On 11/06/06, *Marcelo Chiapparini* < email@example.com
On Sat, 2006-06-10 at 19:23 -0400, David R. Litwin wrote:
Is it true that this has been fixed in GRUB 0.97? I think
I read that some where.
I don't know. I use sarge, which use GRUB 0.95...
Hmm. Alright. I'll ask the list.
In the meanwhile, I now have a hd that looks thus: half is ext3,
the other half ext2. Both use Debian. Can I turn the other half in to
take a little bit of that partition and turn it in to an ext2 /boot
and still have GRUB work?
If that is not clear, I mean this:
| ext2, / and boot | XFS, / |/bo|
| | ot|
I would install GRUB to the MBR, as usual. When booting in to ext2,
I would use that. When booting in to XFS, I would boot in to /boot?
Or, should I just try it and see what happens? I'll still be able to
boot in to ext2 no matter what, right?
—A watched bread-crumb never boils.
—My hover-craft is full of eels.
—[...]and that's the he and the she of it.