Jim Cornette wrote:
Mike McCarty wrote:
The BIOS does NOT search the partition table for an active partition.
It is the code in the MBR which does that. All the BIOS looks for
is the first physical sector on the physical volume having the BOOT
RECORD signature (AA55) in the last two bytes. The BIOS accesses the
disc in a physical manner (LBA translation aside). It knows nothing
about partitions. Indeed, there are more than one way of partitioning
discs, and the "traditional" method is not the only one. Anyway, if
the BIOS finds the BR signature in the first physical sector, then it
simply loads it to 0000:7C00 (IIRC) and jumps to it. [NB: The processors
all reset to REAL mode, so this is not a selector address, but a
segmented address.]
Mike
So if I want to install grub onto partition 2 of my first drive and have
no Grub installed into the MBR, the BIOS will not start loading whatever
is in the first sector of my second partition?
I repeat: The BIOS looks at the absolute first sector on the disc,
and if it ends with the BOOT RECORD marker AA55, then it loads it
to location 0000:7C00 and jumps to that location. If it does not
find the marker, then it looks at the next device in the list of
bootable devices. This is true for both floppy disc drives and
for fixed disc drives. What it does for CDROM and FLASH drives I dunno,
not having delved into that.
I have not tried to load grub into a partition and then make the
partition active. I thought that I read that someone else was loading
grub from a partition.
That can be done. It just isn't done by the BIOS. I do it, for example.
My machine has the Windows XP Boot in the MBR. That bootstrap
looks for the XP Boot Manager, which has the capability to load GRUB.
In this case, not from the BR of another partition (although it is
installed there, too, and that's where I got it from) but from a file
in the XP file system. GRUB then loads stage 2, gets its config file
from the Linux partition, and allows me to boot one of several revisions
of FC. I also have some GRUB boot floppies, which are nice to have
for emergency situations. I believe that GRUB can also be installed
on a CDROM, though I have not done that.
I changed the active partition for the other OS and the OS which was on
the active partition booted. When I changed the active partition to the
other "other" OS, the secondary OS booted. I assumed that grub loaded in
a similar way as the other OS to Load the Linux OS with the information
grub puts into the selected partition.
GRUB gets loaded by whatever loads it. If it is in the MBR, then the
BIOS loads it. If it is elsewhere, then something else loads it.
The BIOS has no concept of partitions. GRUB is not an OS. It is an OS
loader. My copy of GRUB gets loaded from a file in my Windows XP
partition by the XP Boot Manager.
I'm confused a bit on what grub is capable of. I'm curious enough to
It can load any OS which is compatible with the standard promulgated
by GRUB, which is next to none, or possibly even none. It has some
kludgy hooks to allow it to load MSDOS, various versions of Windows,
and Linux, none of which is compliant with the standard it promulgates.
experiment on a computer. I want to try to run two different Linux
distributions and be able to toggle the active partition in my
experimenting. (Grub installed in the selected partition, no grub in the
MBR)
That is possible. It is even possible to chain load GRUB from GRUB.
I hope I'm not being overly terse. I have on occasion posted a
description of the full bootstrap process from start to finish.
Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!