install-mbr - install a Master Boot Record manager
install-mbr <target> [--force] [--install <path>] [--keep] [--list]
[--no-act] [--offset <offset>] [--y2kbug[=utc|=local]]
[--parameters <path>] [--reset] [--table <path>] [--verbose]
[--version] [--help] [--drive <drive>] [--enable <options>]
[--interrupt <keys>] [--partition <partition>] [--timeout <timeout>]
install-mbr installs and configures a Master Boot Record manager on a
device. The behaviour of the boot manager is determined by the options
given on the command line. <target> is the path specifying the device
(or file) that the boot manager should be installed onto.
When the MBR is first loaded it waits for a configurable length of time
(1 second by default), monitoring the keyboard for key presses. The
types of key which cause the MBR to be interrupted can be configured
through the -i option to install-mbr.
If the MBR is interrupted, it will display its prompt. Otherwise it
will load the first sector of the default partition and execute it. If
a disk error occurs or the boot signature is missing, the prompt will
The boot prompt
The boot prompt looks something like this:
This is the list of valid keys which may be pressed followed by a
colon. Numeric keys indicate primary partitions on the disk beginning
with partition 1 and ’F’ indicates the floppy disk. Extended
partitions cannot be booted. The ’A’ means that ’advanced’ mode may be
entered, in which case any partition may be booted. The only other
valid key which may be pressed is RETURN, which continues booting with
the default partition.
The prompt for advanced mode looks like this and works just the same as
the normal prompt.
The list of valid partitions and the default partition can be
configured through the -e and -p options to install-mbr.
These options change the way the installation program operates.
This option currently overrides a check to make sure the
specified target is valid.
--install <path>, -I <path>
This option may be used to install code other than that which is
built in to install-mbr. It is mainly useful for testing, but
may be used to install older versions of the MBR.
This option instructs the installer to modify the parameters
stored in the MBR without updating the code.
This option may be used to view the parameters being installed
in the MBR. It implies the --no-act and --keep flags unless an
option other than --offset, --verbose or --list is given. This
allows the contents of the MBR to be examined.
This option ensures that the target is not modified, as it is
opened in read-only mode.
--offset <offset>, -o <offset>
This option may be used to install the MBR somewhere other than
the start of the target. The offset specifies the number of
bytes from the start of the target at which the MBR should be
installed. For example, an offset of 128 may be used for DOSEMU
This option specifies the status of the Y2K bug fix parameter.
When set, an alternative MBR is installed that fixes a Y2K bug
in some BIOSes that causes them to always boot up the machine
with the year ranging from 94 to 99. This MBR stores the
current month and year and sets the year based on this when the
computer is booted. It also increases the year automatically
when the current month is lower than the month of the last boot.
The initial year and month are set based on the current system
time converted to UTC or the local time as specified by the
argument. If the argument is not specified, the default is read
from /etc/default/rcS. Due to space limitations, the
alternative version of the MBR does not display the word MBR as
it boots. If the argument is =off or - the Y2K bug fix is
disabled. WARNING: The Y2K bug fix will work fine until you
want to set the date backwards. When you do want to do this,
you will need to reinstall the MBR. You cannot just set the
date in the BIOS (since the whole point of this option is that
the year provided by the BIOS is ignored).
--parameters <path>, -P <path>
This option may be used to copy parameters from somewhere other
than the target. The path specifies a location where a version
of this MBR has been installed and parameters are read from
there. It could be used to copy parameters from one disk to
This option is used to reset the boot parameters to the state
found in the code being installed (or code which would be
installed if --keep were not specified).
--table <path>, -T <path>
The master boot record currently uses the partition table in the
sector which contains it to locate boot sectors (This behaviour
may change with future versions of the MBR, in which case the
option may be withdrawn). The --table option is used to copy a
partition table from another location to the target location.
Any data stored on the target disk may be lost (as the partition
table is overwritten), so this option should be used with
extreme caution. As the partition table is copied, any changes
made to the original partition table will not be noticed. This
option is only provided to make installation to floppy easy.
When invoked with this option, install-mbr will display some
information about what it is doing.
This option will cause install-mbr to display it’s version
number and exit.
This option will cause install-mbr to display a help message and
These options change the parameters stored within the Master Boot
--drive <drive>, -d <drive>
This option instructs the MBR to boot a drive other than the
first hard disk. It may be specified in decimal or hexadecimal
if prefixed with 0x. Hard disks are numbered starting from 128
--enable <option>, -e <option>
This option sets the list of boot sectors which may be loaded
(or advanced mode). A boot sector may be loaded from one of the
first 4 partitions of the disk, or from the first floppy drive.
Use --enable +<spec> to add a boot sector to the list or
--enable -<spec> to remove a boot sector from the list. Use
--enable =<spec> to set the list to <spec>. <spec> may contain:
1, 2, 3, 4
The specified partition number.
F The first floppy disk.
A Advanced mode (not a boot sector).
--interrupt <mode>, -i <mode>
This option sets the list of events which will cause the MBR to
display it’s prompt. Use -i +<event> to add an event to the
list or -i -<event> to remove an event from the list. Values of
s A shift or control key is pressed.
k A non shift-like key is pressed
a The prompt is always displayed.
n Never display the prompt (unless an error occurs).
-p <partn>, --partition <partn>
This specifies the default boot sector to load. Valid values of
1, 2, 3, 4
The specified partition number.
F The first floppy disk.
D The partition marked with the bootable flag in the
-t <timeout>, --timeout <timeout>
This option changes the time which the MBR waits for before
booting the default partition to the value specified in 1/18
seconds (approx). The maximum timeout that can be specified is
65534 which is about an hour.
install-mbr /dev/fd0 -T /dev/hda
Install the default MBR image on /dev/fd0, taking the partition table
install-mbr -kr /dev/hda
Reset the parameters on /dev/hda without installing any new code.
install-mbr -I my-mbr -T /dev/hda -P my-parameters /dev/fd0
Install to /dev/fd0, taking code from my-mbr, partition table from and
parameters from my-parameters.
install-mbr -l -o 128 hdimage
List the parameters stored at offset 128 in hdimage (may be a DOSEMU
install-mbr -d 0x81 -T /dev/hdb /dev/fd0
Install on /dev/fd0 to boot from BIOS drive 129 (0x81) with partition
table copied from /dev/hdb.
install-mbr -e 13 /dev/hda
install-mbr -e 2 -e =13 /dev/hda
install-mbr -e1 -e3 /dev/hda
Enable booting from partitions 1 and 3 on /dev/hda. Other locations
install-mbr -e +f-a -i sk /dev/hda
Enabled booting from the floppy drive, and disable advanced mode.
Display the prompt if any shift, control or non shift-like key is
pressed. Other settings are untouched.
Cannot handle MBR version n (backwards compatible to n)
This error means that the version of MBR which is being
installed is not known about by this installer. Such files
cannot have their parameters read or written. If such a newer
version is installed, it can be downgraded by specifying the
--reset option (without specifying --keep).
The operation of --list may be confusing.
install-mbr was written for the Debian project by Neil Turton