GRUB 2 now default for new installations
Felix Miata
mrmazda at ij.net
Fri Jun 12 05:00:31 UTC 2009
On 2009/06/12 11:13 (GMT+0800) Christopher Chan composed:
>>> Well, as there is no "generic" MBR, what MBR do you use? The Windows' one?
>>> Mac OS X's, *BSD's?
>> I don't know what '"generic" MBR' is either. I was referring to generic MBR
>> _code_, an optional feature of an openSUSE installation, and I'm sure other
>> Linux installers. It refers to MBR code that works identically or similarly
>> to the MBR code included with IBM DOS, MS DOS, OS/2 and Windows versions from
>> two decades ago, which when installed finds an active primary partition on
>> the first BIOS HD, if one exists, and transfers control to its PBR if it
>> does, and prints an error message if a grand total of exactly one active
>> primary does not exist.
> That so-called 'MBR code included with IBM PCDOS, MSDOS, OS/2 and
> Windows' is not in fact any code at all but a MBR that only holds
> partition data and has no code installed. The actual finding an active
> primary partition and then loading the boot sector of that partition is
> done by the BIOS.
Except for a genuine IBM BIOS on an antique IBM PC, which can boot ROM BASIC,
the only post-POST job of the BIOS is to find a bootable device to transfer
control to. Without bootstrap code installed to a bootable device (or access
to PXE), a system cannot be booted.
> There is no such thing as 'generic' MBR code. The MBR aka master boot
> record is the first sector of a disk where partition data is written.
> That partition data does not use up all 512 bytes and in fact you have
> about 440 bytes for your OWN code.
Assuming a single HD system without a bootable floppy, CD, DVD or USB device
or PXE available, boot is impossible if the only content in the MBR is the
partition table. Generic code, which DOS (via FDISK /MBR), Windows (via its
installer or FDISK /MBR) and OS/2 (via FDISK or LVM /NEWMBR, or its
installer) install into that first 440 bytes, is the code that locates an
active partition to transfer control to, and makes the transfer. OS boot
begins when that transfer takes place, from the PBR on the selected OS's root
partition.
Alternative (non-generic) MBR code can be substituted for generic if that
substitute code is capable of finding and loading code that can continue the
process of locating a bootable partition and loading its PBR code. An example
of such code is Grub 1 stage1.
> You can stuff grub2 into the boot sector or into the MBR. Since the BIOS
With an MBR empty of code, and no alternative boot media available, no boot
sector will ever get loaded, and thus no OS boot will begin.
> first looks at the MBR for something to load before checking the
The "something" the BIOS looks for is a "bootable" device to transfer control
to. The MBR code, or absence thereof, is used by the BIOS for little more
than a determination of whether the BIOS should display a boot failure
message (and halt the system), or making a determination of that device to be
the boot device.
> partition table, whatever is installed in the MBR gets first priority.
> Just take note of that.
> Not that wikipedia is an authority but you can look here too:
> http://en.wikipedia.org/wiki/Master_boot_record
I suggest _you_ read it (particularly the second <li> in the first <ul>), and
http://en.wikipedia.org/wiki/GNU_GRUB (particularly the first paragraph
following the heading "Boot process").
--
"Cast but a glance at riches, and they are gone,
for they will surely sprout wings and fly off to
the sky like an eagle." Proverbs 23:5 NIV
Team OS/2 ** Reg. Linux User #211409
Felix Miata *** http://fm.no-ip.com/
More information about the Ubuntu-devel-discuss
mailing list