Re: grub error 22. Bad partition table? [solved]

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

 





Duncan Lithgow wrote:
I'd better mark this thread solved...


That suggests to me that it's probably safest to put grub in hda1 or so, and mark that partition bootable.


That's the default isn't it? Paul said that MBR is in the first part of hda1 - and because I'm also running windows it _has_ to be marked bootable (or somewhere before 1024 has to)

Thanks again for the help

Duncan

In your original post, you did ask "where grub was installed".
In my work at solving a multi-boot problem, I did come to understand
a little better, though I can't guarantee this 100%.

There is a 'boot block' at the beginning of a disk, and a 'boot block'
at the beginning of every partition.  I believe that all boot
blocks have a partition table, but they are used for various things.
The important partition table that defines the partitions on the
disk is the one at the beginning of the disk.

A boot block also contains a block of executable code.  When you
power up the computer, I believe that the executable code in the
boot block at the beginning of the disk gets executed.  If
grub is "installed" there (called the "MBR") then stored there
is a short (there's not much space) piece of code.

Now, all the files (grub.conf, etc.) are stored in a "file system"
on one of the partitions.  It takes quite a large piece of code
to be able to search directories, and such.  Won't fit in a boot
block.

Fortunately, if the boot block is "sector 0" of a partition, the
file system usually starts in "sector 0" OF THE NEXT TRACK.  That
leaves the rest of the sectors in the track containing the boot
block "unused".  When you install grub, it normally writes some
code understangind ONE TYPE OF FILE SYSTEM in those unused sectors.
This is the 1.5 stage of grub.  There is a 1.5 for each of the
types of file system (ext2, FAT, etc.) so grub picks the "correct
one" to write there based on which file system type is in the
partition containing the kernel, grub.conf, etc.

So the job of the code in the boot block (stage 1) is typically
to read the stage 1.5 out of the unused sectors.  Then stage 1.5
finds the file system, reads the grub.conf file, and things proceed
from there.

Hope that is helpful.



[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux