112 lines
3.6 KiB
Groff
112 lines
3.6 KiB
Groff
.\" $NetBSD: mbr.8,v 1.8 2002/07/09 22:51:13 wiz Exp $
|
|
.Dd April 13, 1999
|
|
.Dt MBR 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm mbr ,
|
|
.Nm bootselect
|
|
.Nd Master Boot Record bootcode
|
|
.Sh DESCRIPTION
|
|
An IBM PC boots from a disk by loading its first sector and executing
|
|
the code in it.
|
|
For a hard disk, this first sector usually contains a table of
|
|
partitions present on the disk.
|
|
The first sector of a disk containing such
|
|
a table is called the Master Boot Record (MBR).
|
|
.Pp
|
|
The code present in the MBR will typically examine the partition
|
|
table, find the partition that is marked active, and boot from it.
|
|
Booting from a partition simply means loading the first sector in
|
|
that partition, and executing the code in it, as is done for the
|
|
MBR itself.
|
|
.Pp
|
|
.Nx
|
|
supplies its two versions of the bootcode in an MBR:
|
|
.Bl -tag -width Er
|
|
.It Sy Normal boot code
|
|
This version has the same functionality as that supplied by DOS/Windows and
|
|
other operating systems: it picks the active partition and boots from it.
|
|
Its advantage over other, older MBRs, is that it can detect and use
|
|
extensions to the BIOS interface that will allow it to boot partitions
|
|
that cross or start beyond the 8 Gigabyte boundary.
|
|
.It Sy Bootselector
|
|
The bootselecting MBR contains configurable code that will present
|
|
the user with a simple menu, allowing a choice between partitions to
|
|
boot from, and hard disks to boot from.
|
|
The choices and default settings can be configured through
|
|
.Xr fdisk 8 .
|
|
.El
|
|
.Pp
|
|
The rest of this manual page will discuss the bootselecting version of
|
|
the MBR.
|
|
The configurable items of the bootselector are:
|
|
.Bl -tag -width Er
|
|
.It timeout
|
|
The number of seconds that the bootcode will wait for the user to
|
|
press a key, selecting a menu item.
|
|
Must be in the range 0-3600.
|
|
.It default
|
|
The default partition or disk to boot from, should the timeout
|
|
expire.
|
|
.It active
|
|
Activate/deactivate the bootselector.
|
|
When deactivated, the bootcode will pick the first active partition,
|
|
as usual.
|
|
.El
|
|
.Pp
|
|
When active, the bootselector will let the user select the partition
|
|
or drive to boot from via the keyboard.
|
|
.Pp
|
|
Function keys
|
|
.Sy F1
|
|
through
|
|
.Sy F4
|
|
will initiate a startup from partitions 1 through 4 in the partition
|
|
table, if the corresponding entries in the bootselector menu are active.
|
|
.Pp
|
|
Function keys
|
|
.Sy F5
|
|
through
|
|
.Sy F10
|
|
will boot from harddisks 0 through 5 (BIOS numbers 0x80 through 0x85).
|
|
Booting from a drive is simply done by reading the MBR of that
|
|
drive and executing it, so the bootcode present in the MBR of the
|
|
chosen drive determines which partition (if any) will be booted in
|
|
the end.
|
|
.Pp
|
|
The
|
|
.Sy Enter
|
|
key will cause the bootcode to find the active partition, and boot from it.
|
|
If no key is pressed, the (configurable) default selection is picked.
|
|
.Sh DIAGNOSTICS
|
|
The following error numbers may be printed in case of an error condition,
|
|
(after which the user must restart the system):
|
|
.Bl -tag -width Er
|
|
.It 1
|
|
Invalid partition table.
|
|
The MBR has a partition table without an active partition.
|
|
.It 2
|
|
Read error.
|
|
There was an error reading the bootsector for the partition or
|
|
drive selected.
|
|
.It 3
|
|
No operating system.
|
|
The bootsector was loaded successfully, but it was not valid (i.e.
|
|
the magic number check failed).
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr fdisk 8 ,
|
|
.Xr mbrlabel 8
|
|
.Sh BUGS
|
|
The bootselect code has constraints because of the limited amount of
|
|
space available.
|
|
The only way to be absolutely sure that a bootselector will always
|
|
fit on the disk when a partition table is used, is to make it small
|
|
enough to fit into the first sector (512 bytes, 446 not counting
|
|
the partition table itself).
|
|
.Pp
|
|
The error messages are short.
|
|
.Pp
|
|
The code will give up if an error occurs, it should allow the user
|
|
to, for example, specify another partition/disk instead.
|