Grub Manual
Les Mikesell
lesmikesell at gmail.com
Sat Oct 20 15:25:22 UTC 2007
William Case wrote:
> I would like to object to your objection to my description of what
> occurs with GRUB.
>>> Grub's job is to find partitions and file systems; not to use them.
>> Grub doesn't 'find' partitions, you tell it where the one it will use is
>> from the bios perspective with the root (hdx,x) directive before
>> installing.
>>
>
> Whether GRUB finds, goes to, or loads stage 1.5 or stage 2 are moot
> and/or pedantic points.
No it isn't. The point is that it won't find anything unless you told
it which drive and partition to use, and you have to do this from the
perspective of bios and in the grub terminology neither of which match
the Linux terminology. Move your boot drive to a different bios
location and see what happens.
> The OP maintained and continues to maintain "There is nothing simple
> about what Grub does. It is the tiny software that let us boot our Linux
> or Windows operating systems". I was responding by saying, in plain
> language, that it is in fact quite simple.
>
> Grub in its own way is just a specialized very small Operating System
> that has one job -- to load other full Operating Systems.
>
> Your responses unnecessarily re-complicate an issue that can
> conceptually be easily understood. Once the idea of a separate small
> independent system is absorbed by a reader, then the peculiarities of
> the GRUB operating system (I know it is never called that) can be
> discussed.
Nobody cares much about how/what grub does internally as long as it
works. What matters from the user/operator's perspective is how you
have to configure it so it will in fact work. And what you have to do
is learn a completely different way of describing disk locations than
anything you've used elsewhere. If you only boot from your first
partition on your first drive and blindly follow the examples of (hd0,0)
you may never see the problem. Try copying your /boot to some other
partition on some other drive and see what you have to do to make it
alternate between the versions. It's not impossible (as long as it's in
a place bios can see), but it's not obvious either.
> Similarly, the fact that the viewable source configuration file may
> reside within a Linux partition (eg /boot) does not limit GRUB's
> independence from all OS's that exist on a given hard disk. As a matter
> of necessary convenience it is made visible within a full operating
> system so that it can be amended or changed before the next boot, but
> nonetheless remains unconnected to that (Linux or other) Operating
> System. It is easy to confuse the Grub operating system with the full
> system (Linux or others)
Yes, that's exactly the point. To work with the files that grub will use
you must use the running OS conventions, but to tell grub about them you
must use grub notation to describe bios conventions.
>> And the missing piece is that you - or the distro-packaged scripts -
>> update those locations through the OS concepts of where that partition
>> is mounted. This part is OS/distro specific and doesn't have a lot to
>> do with grub.
>
> That's the point. Why confuse the issue?
Confuse? The manual should be from the operator's perspective, not the
program that only sees one side. The operator/user doing the
configuration needs to know both the OS convention to place the files
and the grub/bios convention to initialize grub correctly. These things
are hidden in the fedora installer but not exposed or documented very
well. You are probably right that it doesn't belong in an os-agnostic
grub manual but rather in a fedora-grub-admin manual.
> I have taken the time to respond here, because by your responses you
> have touched on a point that has become important to me. I have spent
> three years digging deeper and deeper into the functioning of computers
> and Operating Systems, particularly the RedHat/Fedora version of Linux.
> Always after hours and hours of digging through technical and often
> pedantic descriptions, I find that a two or three sentence overview in
> plain understandable language would have sufficed to let someone new to
> a concept have a eureka moment. Then all the rest easily slides into
> place.
Yes, the missing pieces are how you find which drive bios will call 0x80
and 0x81 under most circumstances (which can be extremely difficult, and
in the case of raid1 you really want to also know how they will be
addressed if the primary boot device fails which will depend on a lot of
things), the fact that grub calls these hd0 and hd1, and any notion of
where these devices are mounted into the linux filesystem. There is a
program that tries to generate a device map for grub installs and I've
seen it work sometimes, sometimes not. Is there any documentation for
the mechanism that program uses and how to second-guess the results when
it is wrong?
--
Les Mikesell
lesmikesell at gmail.com
More information about the users
mailing list