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: Sat, 19 Dec 2009 20:44:58 -0800

On Sat, Dec 19, 2009 at 9:16 AM, Tom H <address@hidden> wrote:
>> Still incorrect:
>>
>> Grub 0.9* (ala grub legacy) does not use uuid AT ALL.    Grub 0.9*
>> operates entirely with BIOS commands.  Literally hd(N,x) where N is a
>> bios drive, and x addresses a partition.  Very often it determines the
>> block-location of a resource it wants at (grub shell setup) install
>> time, and directly gets those blocks from the bios-device in question.
>>
>> Grub 1.9* (ala grub2) doesn't mention uuid anywhere in the online 
>> documentation.
>>
>> It seems that in both cases, UUID is __ONLY__ used AFTER your kernel
>> and initramfs/initrd are loaded.
>>
>> It _MAY_ be that grub2 supports UUID in the configuration file and is
>> smart enough to map that back to a device, but if your device ordering
>> is not going to be the same later then you will likely still have the
>> requirement to somehow (I have not yet needed to do that with grub2,
>> so do not know) manually specify what the devices will be when
>> restarted.
>
> 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.
>
>
> _______________________________________________
> Help-grub mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-grub
>

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.




reply via email to

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