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 be displayed.
The boot prompt looks something like this:
14FA:
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.
1234F:
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.
--force, -f
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.
--keep, -k
This option instructs the installer to modify the parameters stored in the MBR without updating the code.
--list, -l
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.
--no-act, -n
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 disk images.
--y2kbug[=utc|=local|=off], -y[u|l|-]
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 another disk.
--reset, -r
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.
--verbose, -v
When invoked with this option, install-mbr will display some information about what it is doing.
--version, -V
This option will cause install-mbr to display it's version number and exit.
--help, -h
This option will cause install-mbr to display a help message and exit.
These options change the parameters stored within the Master Boot Record. --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 (0x80).
--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 <event> are:
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 <partn> are:
1, 2, 3, 4
The specified partition number.
F
The first floppy disk.
D
The partition marked with the bootable flag in the partition table.
-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 from /dev/hda.
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 /dev/hda and parameters from my-parameters.
install-mbr -l -o 128 hdimage
List the parameters stored at offset 128 in hdimage (may be a DOSEMU image).
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 are disabled.
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 <[email protected]>.