help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Two GRUB setup can boot one each of two installs, but not theother,


From: Michael Evans
Subject: Re: Two GRUB setup can boot one each of two installs, but not theother, why?
Date: Fri, 25 Dec 2009 00:52:15 -0800

On Thu, Dec 24, 2009 at 2:53 PM, Tom H <address@hidden> wrote:
>>> Ubuntu must have patched grub1 to use UUIDs because, pre-9.10 and
>>> grub2, you could/would use a "uuid=..." instead of a "root=..."
>>> statement and the kernel's root reference was "root=UUID=..." so there
>>> was no "hd(x,y)" reference in menu.lst.
>
>> You completely misunderstand what's going on. The kernel arguments
>> (AKA kernel command line) are NOT PROCESSED by grub; it merely uses a
>> known mechanism for providing them to the kernel during load-time.
>> Those comments in no way at all effect the process of GRUB loading the
>> kernel and initrd in to memory.
>
>> Grub's only objectives are:
>
>> 1) Use the initial bootstrap code (within the first 440 or so bytes of
>> sector 0) to load the rest of grub.
>> 2) Possibly provide an interactive menu for the user to select an OS
>> to load or chain.
>> 3) Load one or more blobs of data from the disk, and then hand off a
>> set of memory structures inherited from the BIOS to them.
>
>> After stage 3 the OS is loading. In the case of most recent linux
>> systems, including ubuntu, an in-memory filesystem is extracted and
>> used to setup anything complex (like raid, lvm, or cryptsetup devices)
>> is setup before the real system loads.
>
> Thanks for the explanation but you are glossing over the "handover" to
> the kernel.
>
> I assume (and I will be happy to be corrected if I am wrong) is that
> the "root=" (in grub1's menu.lst) and the "set root=" (in grub2's
> grub.cfg) directives allow grub to identify the "/boot" directory
> whose kernel is to be loaded with the "kernel" (in grub1) and "linux"
> (in grub2) directives.
>
> Usually, the right side of the "root=" and "set root=" directives is
> of the "(hdX,Y)" type. However, as I said in my previous email, Ubuntu
> must have patched grub1 to understand UUIDs because you could replace
> the "root=" directive with a "uuid=" one (and, probably, a
> "root=UUID=" one).
>
> In grub2's case, if you have an "insmod fs_uuid" directive before the
> "set root=" directives, you can change "set root=" to "set root=UUID="
> and boot successfully.
>
>
> _______________________________________________
> Help-grub mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-grub
>

Ok, so you're loading an fs_uuid module to gain that support; but how
is fs_uuid loaded in the first place?  It seems the answer cannot be
by UUID, as that's what the module adds support for.  Thus, it must be
by one of the methods I'd mentioned.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]