In this chapter, we list all commands that are available in GRUB.
Commands belong to different groups. A few can only be used in
the global section of the configuration file (or "menu"); most
of them can be entered on the command-line and can be either used
in the menu or in the menu entries.
Set the default entry to the entry number num. Numbering starts
from 0, and the entry number 0 is the default if the command is not
used.
You can specify `saved' instead of a number. In this case, the
default entry is the entry saved with the command
savedefault. See section 13.3.33 savedefault, for more information.
Go into unattended boot mode: if the default boot entry has any errors,
instead of waiting for the user to do anything, immediately start
over using the num entry (same numbering as the default
command (see section 13.1.1 default)). This obviously won't help if the machine was
rebooted by a kernel that GRUB loaded.
Don't display the menu. If the command is used, no menu will be
displayed on the control terminal, and the default entry will be
booted after the timeout expired. The user can still request the
menu to be displayed by pressing ESC before the timeout
expires. See also 12.4 The hidden menu interface.
Initialize a network device via the BOOTP protocol. This command
is only available if GRUB is compiled with netboot support. See also
6. Downloading OS images from a network.
If you specify `--with-configfile' to this command, GRUB will
fetch and load a configuration file specified by your BOOTP server
with the vendor tag `150'.
Change the menu colors. The color normal is used for most
lines in the menu (see section 12.2 The simple menu interface), and the color
highlight is used to highlight the line where the cursor
points. If you omit highlight, then the inverted color of
normal is used for the highlighted line. The format of a color is
foreground/background. foreground and
background are symbolic color names. A symbolic color name must be
one of these:
black
blue
green
cyan
red
magenta
brown
light-gray
These below can be specified only for the foreground.
dark-gray
light-blue
light-green
light-cyan
light-red
light-magenta
yellow
white
But only the first eight names can be used for background. You can
prefix blink- to foreground if you want a blinking
foreground color.
This command can be used in the configuration file and on the command
line, so you may write something like this in your configuration file:
# Set default colors.
color light-gray/blue black/light-gray
# Change the colors.
title OS-BS like
color magenta/blue black/magenta
In the grub shell, specify the file file as the actual drive for a
BIOS drive drive. You can use this command to create a disk
image, and/or to fix the drives guessed by GRUB when GRUB fails to
determine them correctly, like this:
Initialize a network device via the DHCP protocol. Currently,
this command is just an alias for bootp, since the two
protocols are very similar. This command is only available if GRUB is
compiled with netboot support. See also 6. Downloading OS images from a network.
If you specify `--with-configfile' to this command, GRUB will
fetch and load a configuration file specified by your DHCP server
with the vendor tag `150'.
Hide the partition partition by setting the hidden bit in
its partition type code. This is useful only when booting DOS or Windows
and multiple primary FAT partitions exist in one disk. See also
4.2.6 DOS/Windows.
Configure the IP address, the netmask, the gateway, and the server
address of a network device manually. The values must be in dotted
decimal format, like `192.168.11.178'. The order of the options is
not important. This command shows current network configuration, if no
option is specified. See also 6. Downloading OS images from a network.
Create a new primary partition. part is a partition specification
in GRUB syntax (see section 2. Naming convention); type is the partition
type and must be a number in the range 0-0xff; from and
to are the starting and ending sectors, expressed as an absolute
sector number.
Change the type of an existing partition. part is a partition
specification in GRUB syntax (see section 2. Naming convention); type
is the new partition type and must be a number in the range 0-0xff.
If used in the first section of a menu file, disable all interactive
editing control (menu entry editor and command-line) and entries
protected by the command lock. If the password passwd is
entered, it loads the new-config-file as a new config file and
restarts the GRUB Stage 2, if new-config-file is
specified. Otherwise, GRUB will just unlock the privileged instructions.
You can also use this command in the script section, in which case it
will ask for the password, before continueing. The option
`--md5' tells GRUB that passwd is encrypted with
md5crypt (see section 13.3.24 md5crypt).
Initialize a network device via the RARP protocol. This command
is only available if GRUB is compiled with netboot support. See also
6. Downloading OS images from a network.
Initialize a serial device. unit is a number in the range 0-3
specifying which serial port to use; default is 0, that corresponds
the port often called COM1. port is the I/O port where the UART
is to be found; if specified it takes precedence over unit.
speed is the transmission speed; default is 9600. word and
stop are the number of data bits and stop bits. Data bits must
be in the range 5-8 and stop bits are 1 or 2. Default is 8 data bits
and one stop bit. parity is one of `no', `odd',
`even' and defaults to `no'. The option `--device'
can only be used in the grub shell and is used to specify the
tty device to be used in the host operating system (see section 15. Invoking the grub shell).
The serial port is not used as a communication channel unless the
terminal command is used (see section 13.2.13 terminal).
Change the keyboard map. The key from_key is mapped to the key
to_key. If no argument is specified, reset key mappings. Note that
this command does not exchange the keys. If you want to exchange
the keys, run this command again with the arguments exchanged, like this:
grub> setkey capslock control
grub> setkey control capslock
A key must be an alphabet, a digit, or one of these symbols:
`escape', `exclam', `at', `numbersign',
`dollar', `percent', `caret', `ampersand',
`asterisk', `parenleft', `parenright', `minus',
`underscore', `equal', `plus', `backspace',
`tab', `bracketleft', `braceleft', `bracketright',
`braceright', `enter', `control', `semicolon',
`colon', `quote', `doublequote', `backquote',
`tilde', `shift', `backslash', `bar', `comma',
`less', `period', `greater', `slash',
`question', `alt', `space', `capslock', `FX'
(`X' is a digit), and `delete'. This table describes to which
character each of the symbols corresponds:
Select a terminal for user interaction. The terminal is assumed to be
VT100-compatible unless `--dumb' is specified. If both
`console' and `serial' are specified, then GRUB will use
the one where a key is entered first or the first when the timeout
expires. If neither are specified, the current setting is
reported. This command is only available if GRUB is compiled with serial
support. See also 7. Using GRUB via a serial line.
This may not make sense for most users, but GRUB supports Hercules
console as well. Hercules console is usable like the ordinary console,
and the usage is quite similar to that for serial terminals: specify
`hercules' as the argument.
Caution: This command exists only for backward
compatibility. Use ifconfig (see section 13.2.6 ifconfig) instead.
Override a TFTP server address returned by a BOOTP/DHCP/RARP server. The
argument ipaddr must be in dotted decimal format, like
`192.168.0.15'. This command is only available if GRUB is compiled
with netboot support. See also 6. Downloading OS images from a network.
Unhide the partition partition by clearing the hidden bit in
its partition type code. This is useful only when booting DOS or Windows
and multiple primary partitions exist in one disk. See also
4.2.6 DOS/Windows.
Boot the OS/chain-loader which has been loaded. Only necessary if
running the fully interactive command-line (it is implicit at the end of
a menu entry).
Load file as a chain-loader. Like any other file loaded by the
filesystem code, it can use the blocklist notation to grab the first
sector of the current partition with `+1'. If you specify the
option `--force', then load file forcibly, whether it has a
correct signature or not. This is required when you want to load a
defective boot loader, such as SCO UnixWare 7.1 (see section 4.2.7 SCO UnixWare).
Toggle debug mode (by default it is off). When debug mode is on, some
extra messages are printed to show disk activity. This global debug flag
is mainly useful for GRUB developers when testing new code.
Display what GRUB thinks the system address space map of the machine is,
including all regions of physical RAM installed. GRUB's
upper/lower memory display uses the standard BIOS interface for
the available memory in the first megabyte, or lower memory, and a
synthesized number from various BIOS interfaces of the memory starting
at 1MB and going up to the first chipset hole for upper memory
(the standard PC upper memory interface is limited to reporting a
maximum of 64MB).
Embed the Stage 1.5 stage1_5 in the sectors after the MBR if
device is a drive, or in the boot loader area if device
is a FFS partition or a ReiserFS partition.(8) Print the number of sectors which
stage1_5 occupies, if successful.
Usually, you don't need to run this command directly. See section 13.3.34 setup.
Search for the file name filename in all of partitions and print
the list of the devices which contain the file. The file name
filename should be an absolute file name like
/boot/grub/stage1.
Toggle filesystem test mode.
Filesystem test mode, when turned on, prints out data corresponding to
all the device reads and what values are being sent to the low-level
routines. The format is `<partition-offset-sector,
byte-offset, byte-length>' for high-level reads inside a
partition, and `[disk-offset-sector]' for low-level sector
requests from the disk.
Filesystem test mode is turned off by any use of the install
(see section 13.3.18 install) or testload (see section 13.3.35 testload) commands.
Command:geometrydrive [cylinder head sector [total_sector]]
Print the information for the drive drive. In the grub shell, you
can set the geometry of the drive arbitrarily. The number of the
cylinders, the one of the heads, the one of the sectors and the one of
the total sectors are set to CYLINDER, HEAD, SECTOR and TOTAL_SECTOR,
respectively. If you omit TOTAL_SECTOR, then it will be calculated
based on the C/H/S values automatically.
Display helpful information about builtin commands. If you do not
specify pattern, this command shows short descriptions of all
available commands. If you specify any patterns, it displays
longer information about each of the commands which match those
patterns.
Probe the Intel Multiprocessor Specification 1.1 or 1.4 configuration
table and boot the various CPUs which are found into a tight loop. This
command can be used only in the Stage 2.
This command is fairly complex, and you should not use this command
unless you are familiar with GRUB. Use setup (see section 13.3.34 setup)
instead.
In short, it will perform a full install presuming the Stage 2 or Stage
1.5(9) is in its final install location.
In slightly more detail, it will load stage1_file, validate that
it is a GRUB Stage 1 of the right version number, install a blocklist for
loading stage2_file as a Stage 2. If the option `d' is
present, the Stage 1 will always look for the actual disk
stage2_file was installed on, rather than using the booting
drive. The Stage 2 will be loaded at address addr, which must be
`0x8000' for a true Stage 2, and `0x2000' for a Stage 1.5. If
addr is not present, GRUB will determine the address
automatically. It then writes the completed Stage 1 to the first block
of the device dest_dev. If the options `p' or
config_file are present, then it reads the first block of stage2,
modifies it with the values of the partition stage2_file was found
on (for `p') or places the string config_file into the area
telling the stage2 where to look for a configuration file at boot
time. Likewise, if real_config_file is present and
stage2_file is a Stage 1.5, then the Stage 2 config_file is
patched with the configuration file name real_config_file. This
command preserves the DOS BPB (and for hard disks, the partition table)
of the sector the Stage 1 is to be installed into.
Caution: Several buggy BIOSes don't pass a booting drive
properly when booting from a hard disk drive. Therefore, you will have
to specify the option `d', whether your Stage2 resides at the
booting drive or not, if you have such a BIOS unfortunately. We know
these are defective in that:
Fujitsu LifeBook 400 BIOS version 31J0103A
HP Vectra XU 6/200 BIOS version GG.06.11
Caution2: A number of BIOSes don't return a correct LBA support
bitmap even if they do have the support. So GRUB provides a solution to
ignore the wrong bitmap, that is, the option `--force-lba'. Don't
use this option if you know that your BIOS doesn't have LBA support.
Caution3: You must specify the option `--stage2' in the
grub shell, if you cannot unmount the filesystem where your stage2 file
resides. The argument should be the file name in your operating system.
Attempt to load the primary boot image (Multiboot a.out or ELF,
Linux zImage or bzImage, FreeBSD a.out, NetBSD a.out, etc.) from
file. The rest of the line is passed verbatim as the kernel
command-line. Any modules must be reloaded after using this command.
This command also accepts the option `--type' so that you can
specify the kernel type of file explicitly. The argument
type must be one of these: `netbsd', `freebsd',
`openbsd', `linux', `biglinux', and
`multiboot'. However, you need to specify it only if you want to
load a NetBSD ELF kernel, because GRUB can automatically determine
a kernel type in the other cases, quite safely.
The option `--no-mem-option' is effective only for Linux. If the
option is specified, GRUB doesn't pass the option `mem=' to the
kernel.
Prevent normal users from executing arbitrary menu entries. You must use
the command password if you really want this command to be
useful (see section 13.2.9 password).
This command is used in a menu, as shown in this example:
title This entry is too dangerous to be executed by normal users
lock
root (hd0,a)
kernel /no-security-os
Map the drive from_drive to the drive to_drive. This is
necessary when you chain-load some operating systems, such as DOS, if
such an OS resides at a non-first drive. Here is an example:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
The example exchanges the order between the first hard disk and the
second hard disk. See also 4.2.6 DOS/Windows.
Load a boot module file for a Multiboot format boot image (no
interpretation of the file contents are made, so that user of this
command must know what the kernel in question expects). The rest of the
line is passed as the module command-line, like the
kernel command. You must load a Multiboot kernel image before
loading any module. See also 13.3.26 modulenounzip.
Print the message, then wait until a key is pressed. Note that
placing ^G (ASCII code 7) in the message will cause the speaker to
emit the standard beep sound, which is useful when prompting the user to
change floppies.
Set the current root device to the device device, then
attempt to mount it to get the partition size (for passing the partition
descriptor in ES:ESI, used by some chain-loaded boot loaders), the
BSD drive-type (for booting BSD kernels using their native boot format),
and correctly determine the PC partition where a BSD sub-partition is
located. The optional hdbias parameter is a number to tell a BSD
kernel how many BIOS drive numbers are on controllers before the current
one. For example, if there is an IDE disk and a SCSI disk, and your
FreeBSD root partition is on the SCSI disk, then use a `1' for
hdbias.
Similar to root (see section 13.3.31 root), but don't attempt to mount the
partition. This is useful for when an OS is outside of the area of the
disk that GRUB can read, but setting the correct root device is still
desired. Note that the items mentioned in root above which
derived from attempting the mount will not work correctly.
Set up the installation of GRUB automatically. This command uses the
more flexible command install (see section 13.3.18 install) in the backend
and installs GRUB into the device install_device. If
image_device is specified, then find the GRUB images
(see section 10. GRUB image files) in the device image_device, otherwise use the
current root device, which can be set by the command
root. If install_device is a hard disk, then embed a
Stage 1.5 in the disk if possible.
The option `--prefix' specifies the directory under which GRUB
images are put. If it is not specified, GRUB automatically searches them
in `/boot/grub' and `/grub'.
The options `--force-lba' and `--stage2' are just passed
to install if specified. See section 13.3.18 install, for more
information.
Read the entire contents of file in several different ways and
compares them, to test the filesystem code. The output is somewhat
cryptic, but if no errors are reported and the final `i=X,
filepos=Y' reading has X and Y equal, then it is
definitely consistent, and very likely works correctly subject to a
consistent offset error. If this test succeeds, then a good next step is
to try loading a kernel.
Test the VESA BIOS EXTENSION mode mode. This command will switch
your video card to the graphics mode, and show an endless animation. Hit
any key to return. See also 13.3.38 vbeprobe.
Force GRUB to assume that only kbytes kilobytes of upper memory
are installed. Any system address range maps are discarded.
Caution: This should be used with great caution, and should
only be necessary on some old machines. GRUB's BIOS probe can pick up
all RAM on all new machines the author has ever heard of. It can
also be used for debugging purposes to lie to an OS.
Probe VESA BIOS EXTENSION information. If the mode mode is
specified, show only the information about mode. Otherwise, this
command lists up available VBE modes on the screen. See also
13.3.36 testvbe.