summaryrefslogtreecommitdiff
path: root/static/netbsd/man8/man8.x86/mbr.8
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man8/man8.x86/mbr.8')
-rw-r--r--static/netbsd/man8/man8.x86/mbr.8135
1 files changed, 135 insertions, 0 deletions
diff --git a/static/netbsd/man8/man8.x86/mbr.8 b/static/netbsd/man8/man8.x86/mbr.8
new file mode 100644
index 00000000..1113953d
--- /dev/null
+++ b/static/netbsd/man8/man8.x86/mbr.8
@@ -0,0 +1,135 @@
+.\" $NetBSD: mbr.8,v 1.5 2021/06/22 03:30:06 gutteridge Exp $
+.Dd February 17, 2017
+.Dt MBR 8 x86
+.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 several versions of the MBR bootcode:
+.Bl -tag -width 20
+.It Sy Normal boot code Pa /usr/mdec/mbr
+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 Pa /usr/mdec/mbr_bootsel
+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 .
+.It Sy Extended Bootselector Pa /usr/mdec/mbr_ext
+The extended bootselecting MBR additionally allows
+.Nx
+to be loaded from an Extended partition.
+It only supports systems whose BIOS supports the extensions to
+boot partitions beyond the 8 Gigabyte boundary.
+.It Sy Serial Bootselector Pa /usr/mdec/mbr_com0
+This has the same features as
+.Pa mbr_ext
+but will read and write from the first serial port.
+It assumes that the BIOS has initialized the baud rate.
+.It Sy Serial Bootselector Pa /usr/mdec/mbr_com0_9600
+This has the same features as
+.Pa mbr_com0 .
+Additionally, it initializes the serial port to 9600 baud.
+.El
+.Pp
+The rest of this manual page will discuss the bootselecting versions 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, or \-1 when it will wait forever.
+.It default
+The default partition or disk to boot from, should the timeout
+expire.
+.El
+.Pp
+The bootselector will output a menu of the
+.Em bootmenu
+names for each partition (as configured by
+.Xr fdisk 8 ) .
+The user can then select the partition
+or drive to boot from via the keyboard.
+.Pp
+The numeric keys
+.Sy 1
+upwards will initiate a startup from the corresponding partition.
+.Pp
+Function keys
+.Sy F1
+through
+.Sy F8
+(keys
+.Sy a
+through
+.Sy h
+for the serial versions)
+will boot from hard disks 0 through 7 (BIOS numbers 0x80 through 0x87).
+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 errors are detected:
+.Bl -column Code "No active partition"
+.It Em Code Ta Em "Text message" Ta Em Explanation
+.It 1 Ta "No active partition" Ta
+The MBR has a partition table without an active partition.
+.It 2 Ta "Disk read error" Ta
+There was an error reading the bootsector for the partition or
+drive selected.
+.It 3 Ta "No operating system" Ta
+The bootsector was loaded successfully, but it was not valid (i.e.,
+the magic number check failed, or it contained no code).
+.It L Ta "Invalid CHS read" Ta
+The boot partition cannot be read using a CHS read and the system BIOS
+doesn't support LBA reads.
+.It ? Ta "" Ta
+Unknown key.
+.El
+.Pp
+The standard boot code will output the text message and stop.
+It may be necessary to reset to the system to continue.
+.Pp
+The bootselect code will output 'Error <code>' and await further input.
+.Sh SEE ALSO
+.Xr disklabel 8 ,
+.Xr fdisk 8 ,
+.Xr installboot 8 ,
+.Xr mbrlabel 8 ,
+.Xr x86/boot 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, 404 excluding
+the partition table and bootselect menu).
+.Pp
+The error messages are necessarily terse.