Re: GRUB advice needed.



On Sun, 29 Jan 2006 12:04:07 -0700, Douglas Mayne wrote:

> On Sun, 29 Jan 2006 17:45:07 +0000, Charles Sullivan wrote:
>
>> In the past I've partitioned my Linux i86 HDD like this:
>> hda1 boot
>> hda2 extended
>> hda5 home (1)
>> hda6 swap
>> hda7 root (1)
>> hda8 home (2)
>> hda9 root (2)
>>
>> and moved back and forth between (1) and (2) when installing
>> new releases in the same general family of Linuxes - e.g.,
>> FC 1 -> FC 2 -> FC 3, etc.
>>
>> However I'm a little concerned about mucking up the boot
>> partition if I install something different, like Debian, or want
>> to add something very different like FreeBSD.
>>
>> I understand I can install the kernel and boot info in a /boot
>> directory under each root partition, but I'm confused as to where
>> GRUB is actually located on the HDD under that situation. I didn't
>> think there was enough room in the MBR for it. If in one of the
>> root partitions, then it would be destroyed when I installed a
>> new release in that partition. Can anyone clarify?
>>
> This is best understood by considering the process which grub itself is
> installed, not when grub is working properly as the loader.
>
> The setup sequence for grub is generally as follows:
>
> 1. Grub files are copied to /boot/grub (i.e. the stage files)
>
> 2. The configuration file /boot/grub/menu.lst file is created/modified to
> include parameters appropriate for your system. *Actually, this step is
> optional; grub will still work as a loader if you can manually provide
> the correct information at boot.
>
> 3. The grub shell is used to interactively setup the loader:
>
> # grub
>
> grub> root (hd0,0)
> grub> setup (hd0)
> grub> quit
>
> Going through these steps one at a time:
> 1. The root command tells grub where to look for _its_ files. Don't
> confuse this with other meanings for the word _root_.
>
> 2. The setup command tells grub to proceed with the install, based on what
> partition type is in use at _its_ root partition. Specifically, it
> builds links between the first stage loader (MBR), and the other stage
> files. The later stage files give the loader the ability to read
> filesystems (ext2, xfs, reiserfs, etc.) The link is set based on the
> type of partition in use at the time of the install. With this link in
> place, the loader will be able to read the partition dynamically in the
> future. This ability is grub's big advantage over other loaders. It will
> be able to find any file on _its_ root partition.
>
> And note, similar links are required if the stage1 loader is installed
> on the partition (BPB), instead of the MBR.
>
> 3. quit: exit the grub shell
>
> Once it is setup, it will just work, unless it becomes broken. It can
> read any file that is on _its_ root partition (the boot partition).
> Note: it can be broken by reformatting the partition or by
> deleting/changing the "stage" files at /boot/grub. The links from the
> MBR/BPB to the partition must remain consistent with the stage files.
>
> Final note: If you have a boot partition, then entries in menu.lst will be
> relative to that partition (i.e. /grub, not /boot/grub.)
>
> Grub is a very flexible loader. After thinking about it just now, I
> see that there are even more ways it can be used. My explanation covers
> the basic case, though.

Thanks for the detailed explanation Douglas, but I'm still a little
unclear. Suppose I want to install two Linux distros on a new HDD
and not use a boot partition. Do I end up with something like
this:
MBR -> grub stage1
hda1 extended
hda5 swap
hda6 home (1)
hda7 root (1)
/boot
kernel (1) and other boot files
/grub
grub stage 2 (1) files
hda8 home (2)
hda9 root (2)
/boot
kernel (2) and other boot files
/grub
grub stage 2 (2) files

Do I still get the GRUB version selection menu (Fedora) when I
reboot the system, or would I have to (Ugh!) boot from a floppy
or CD each time? Or do the grub stage 2 files exist in only
one of the root partitions?

And if hda6 and 7 are later reformatted (same partitions, just
cleared) and a new version of Linux installed, will GRUB still
work or will I wipe out something critical?

Or should I forget the whole thing and continue to use a boot
partition? :-)

Regards,
Charles Sullivan


.



Relevant Pages

  • SUMMARY: Moving /usr From Under Root "/" To Its Own Partition
    ... One of the reasons for doing this is to end up with a smaller root ... Install the boot block and boot off the new drive. ... " In order for the root partition to be fscked and remounted ... D> temporarily on the existing disk. ...
    (SunManagers)
  • Re: cloning a system to another partition - what to change?
    ... preexisting ones during the instal, and add them to the boot menu, ... (e.g. xBSD or Windows, or other instances of grub, or lilo). ... - original system on hda8; grub is on same partition ... changed the root lines in /boot/grub/menu.lst to point to, and ...
    (Debian-User)
  • swapping master & slave HDs: what to change? (solved - pls comment!)
    ... using GRUB as bootloader and GAG as boot selector. ... Make a GRUB-only boot floppy or CD, ... pointed to any kernel in any partition, ... Grub is deliciously ambiguous with the concept of "root". ...
    (Debian-User)
  • Re: How do I solve this boot.ini problem with WinXP?
    ... This is the current state of my boot.ini file in Win2K's Root: ... In a Microsoft dual boot ... or Multiple Hard Disk only one can be set as a "Active Partition". ...
    (microsoft.public.windowsxp.newusers)
  • Re: Fedora Core 2/Windows XP dual boot: selecting Linux doesnt work
    ... grub is installed on the /root partition, which is the first partition on hdc: hdc1, or in grub notation. ... Stage1 is the unpatched 512-byte file, that is patched and copied to the boot record during setup. ... This byte is initialized to 0xff in the stage1 file, but patched to 0x81 in your setup, to say "we are booting from disk." ...
    (comp.os.linux.setup)