These commands are usable in the command-line and in menu entries. If you forget a command, you can run the command help (see section 15 help).
1 blocklist
Command: blocklist file
Print the block list notation of the file file. See section 11.3 How to specify block lists.
2 boot
Command: boot
Boot the OS or 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).
3 cat
Command: cat file
Display the contents of the file file. This command may be useful to remind you of your OS's root partition:
grub> cat /etc/fstab
4 chainloader
Command: chainloader [`--force'] file
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).
5 cmp
Command: cmp file1 file2
Compare the file file1 with the file file2. If they differ in size, print the sizes like this:
Differ in size: 0x1234 [foo], 0x4321 [bar]
If the sizes are equal but the bytes at an offset differ, then print the bytes like this:
Differ at the offset 777: 0xbe [foo], 0xef [bar]
If they are completely identical, nothing will be printed.
6 configfile
Command: configfile file
Load file as a configuration file.
7 debug
Command: debug
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.
8 displayapm
Command: displayapm
Display APM BIOS information.
9 displaymem
Command: displaymem
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).
10 embed
Command: embed stage1_5 device
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.(9) Print the number of sectors which stage1_5 occupies, if successful.
Usually, you don't need to run this command directly. See section 34 setup.
11 find
Command: find filename
Search for the file name filename in all mountable 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.
12 fstest
Command: fstest
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 18 install) or testload (see section 35 testload) commands.
13 geometry
Command: geometry drive [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 cylinders, the number of heads, the number of sectors and the number of 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.
14 halt
Command: halt `--no-apm'
The command halts the computer. If the `--no-apm' option is specified, no APM BIOS call is performed. Otherwise, the computer is shut down using APM.
15 help
Command: help `--all' [pattern ...]
Display helpful information about builtin commands. If you do not specify pattern, this command shows short descriptions of most of available commands. If you specify the option `--all' to this command, short descriptions of rarely used commands (such as 35 testload) are displayed as well.
If you specify any patterns, it displays longer information about each of the commands which match those patterns.
16 impsprobe
Command: impsprobe
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, but not in the grub shell.
17 initrd
Command: initrd file ...
Load an initial ramdisk for a Linux format boot image and set the appropriate parameters in the Linux setup area in memory. See also 4.2.2 GNU/Linux.
18 install
Command: install [`--force-lba'] [`--stage2=os_stage2_file'] stage1_file [`d'] dest_dev stage2_file [addr] [`p'] [config_file] [real_config_file]
This command is fairly complex, and you should not use this command unless you are familiar with GRUB. Use setup (see section 34 setup) instead.
In short, it will perform a full install presuming the Stage 2 or Stage 1.5(10) 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 in it 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 unfortunately have to specify the option `d', whether your Stage2 resides at the booting drive or not, if you have such a BIOS. We know these are defective in this way:
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.
19 ioprobe
Command: ioprobe drive
Probe I/O ports used for the drive drive. This command will list the I/O ports on the screen. For technical information, See section D. Hacking GRUB.
20 kernel
Command: kernel [`--type=type'] [`--no-mem-option'] file ...
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. This option is implied for Linux kernels 2.4.18 and newer.
21 lock
Command: lock
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.10 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
See also 9. Protecting your computer from cracking.
22 makeactive
Command: makeactive
Set the active partition on the root disk to GRUB's root device. This command is limited to primary PC partitions on a hard disk.
23 map
Command: map to_drive from_drive
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.
24 md5crypt
Command: md5crypt
Prompt to enter a password, and encrypt it in MD5 format. The encrypted password can be used with the command password (see section 13.2.10 password). See also 9. Protecting your computer from cracking.
25 module
Command: module file ...
Load a boot module file for a Multiboot format boot image (no interpretation of the file contents are made, so the 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 26 modulenounzip.
26 modulenounzip
Command: modulenounzip file ...
The same as module (see section 25 module), except that automatic decompression is disabled.
27 pause
Command: pause message ...
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.
28 quit
Command: quit
Exit from the grub shell grub (see section 15. Invoking the grub shell). This command can be used only in the grub shell.
29 reboot
Command: reboot
Reboot the computer.
30 read
Command: read addr
Read a 32-bit value from memory at address addr and display it in hex format.
31 root
Command: root device [hdbias]
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.
See also 32 rootnoverify.
32 rootnoverify
Command: rootnoverify device [hdbias]
Similar to root (see section 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.
33 savedefault
Command: savedefault
Save the current menu entry as a default entry. Here is an example:
default saved
timeout 10
title GNU/Linux
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1 vga=ext
initrd /boot/initrd
savedefault
title FreeBSD
root (hd0,a)
kernel /boot/loader
savedefault
With this configuration, GRUB will choose the entry booted previously as the default entry. See also 13.1.1 default.
34 setup
Command: setup [`--force-lba'] [`--stage2=os_stage2_file'] [`--prefix=dir'] install_device [image_device]
Set up the installation of GRUB automatically. This command uses the more flexible command install (see section 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 18 install, for more information.
35 testload
Command: testload file
Read the entire contents of file in several different ways and compare 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.
36 testvbe
Command: testvbe mode
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 38 vbeprobe.
37 uppermem
Command: uppermem kbytes
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.
38 vbeprobe
Command: vbeprobe [mode]
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 36 testvbe.