BOOT0CFG(8) BSD System Manager's Manual BOOT0CFG(8)
boot0cfg -- boot manager installation/configuration utility
boot0cfg [-Bv] [-b boot0] [-d drive] [-e bell character] [-f file]
[-i volume-id] [-m mask] [-o options] [-s slice] [-t ticks] disk
The FreeBSD 'boot0' boot manager permits the operator to select from
which disk and slice an i386 machine (PC) is booted.
Note that what are referred to here as ``slices'' are typically called
``partitions'' in non-BSD documentation relating to the PC. Typically,
only non-removable disks are sliced.
The boot0cfg utility optionally installs the 'boot0' boot manager on the
specified disk; and allows various operational parameters to be config-
On PCs, a boot manager typically occupies sector 0 of a disk, which is
known as the Master Boot Record (MBR). The MBR contains both code (to
which control is passed by the PC BIOS) and data (an embedded table of
The options are:
-B Install the 'boot0' boot manager. This option causes MBR code to
be replaced, without affecting the embedded slice table.
Specify which 'boot0' image to use. The default is /boot/boot0
which will use the video card as output, alternatively
/boot/boot0sio can be used for output to the COM1 port. (Be
aware that nothing will be output to the COM1 port unless the
modem signals DSR and CTS are active.)
Specify the drive number used by the PC BIOS in referencing the
drive which contains the specified disk. Typically this will be
0x80 for the first hard drive, 0x81 for the second hard drive,
and so on; however any integer between 0 and 0xff is acceptable
-e bell character
Set the character to be printed in case of input error.
Specify that a backup copy of the preexisting MBR should be writ-
ten to file. This file is created if it does not exist, and
replaced if it does.
Specifies a volume-id (in the form XXXX-XXXX) to be saved at
location 0x1b8 in the MBR. This information is sometimes used by
NT, XP and Vista to identify the disk drive. The option is only
compatible with version 2.00 of the 512-byte boot block.
Specify slices to be enabled/disabled, where mask is an integer
between 0 (no slices enabled) and 0xf (all four slices enabled).
A comma-separated string of any of the following options may be
specified (with ``no'' prepended as necessary):
packet Use the disk packet (BIOS INT 0x13 extensions) interface,
as opposed to the legacy (CHS) interface, when doing disk
I/O. This allows booting above cylinder 1023, but
requires specific BIOS support. The default is 'packet'.
setdrv Forces the drive containing the disk to be referenced
using drive number definable by means of the -d option.
The default is 'nosetdrv'.
update Allow the MBR to be updated by the boot manager. (The
MBR may be updated to flag slices as 'active', and to
save slice selection information.) This is the default;
a 'noupdate' option causes the MBR to be treated as read-
Set the default boot selection to slice. Values between 1 and 4
refer to slices; a value of 5 refers to the option of booting
from a second disk.
Set the timeout value to ticks. (There are approximately 18.2
ticks per second.)
-v Verbose: display information about the slices defined, etc.
Protection mechanisms in the geom(4) subsystem might prevent boot0cfg
from being able to update the MBR on a mounted disk. Instructions for
temporarily disabling these protection mechanisms can be found in the
geom(4) manpage. Specifically, do a
to allow writing to the MBR, and restore it to 0 afterwards.
/boot/boot0 The default 'boot0' image
/boot/boot0sio Image for serial consoles (COM1,9600,8,N,1,MODEM)
The boot0cfg utility exits 0 on success, and >0 if an error occurs.
To boot slice 2 on the next boot:
boot0cfg -s 2 ad0
To enable just slices 1 and 2 in the menu:
boot0cfg -m 0x3 ad0
To go back to non-interactive booting, use fdisk(8) to install the
fdisk -B ad0
geom(4), boot(8), fdisk(8)
Robert Nordier .
Use of the 'packet' option may cause 'boot0' to fail, depending on the
nature of BIOS support.
Use of the 'setdrv' option with an incorrect -d operand may cause the
boot0 code to write the MBR to the wrong disk, thus trashing its previous
content. Be careful.
BSD January 13, 2009 BSD