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/ -- Ubuntu-devel-discuss mailing list Ubuntu-devel-discuss@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss