Lines Matching refs:GRUB

5 @settitle GRUB Manual
23 * GRUB: (grub). The GRand Unified Bootloader
24 * grub-install: (grub)Invoking grub-install. Install GRUB on your drive
63 @title the GRUB manual
94 @top GRUB manual
96 This is the documentation of GNU GRUB, the GRand Unified Bootloader,
103 * Introduction:: Capturing the spirit of GRUB
104 * Naming convention:: Names of your drives in GRUB
105 * Installation:: Installing GRUB on your drive
109 * Serial terminal:: Using GRUB via a serial line
110 * Preset Menu:: Embedding a configuration file into GRUB
112 * Images:: GRUB image files
116 * Troubleshooting:: Error messages produced by GRUB
118 * Invoking grub-install:: How to use the GRUB installer
123 * Obtaining and Building GRUB:: How to obtain and build GRUB
125 * Future:: Some future plans on GRUB
126 * Internals:: Hacking GRUB
132 @chapter Introduction to GRUB
135 * Overview:: What exactly GRUB is and how to use it
137 * Features:: GRUB features
151 GNU GRUB is a very powerful boot loader, which can load a wide variety
155 typically used for loading DOS or Windows.}. GRUB is designed to
160 One of the important features in GRUB is flexibility; GRUB understands
167 When booting with GRUB, you can use either a command-line interface
178 partition, and a file name (@pxref{Naming convention}) to GRUB, how to
179 install GRUB on your drive (@pxref{Installation}), and how to boot your
182 Besides the GRUB boot loader itself, there is a @dfn{grub shell}
189 @section History of GRUB
191 GRUB originated in 1995 when Erich Boleyn was trying to boot the GNU
201 FreeBSD boot loader, and so GRUB was born.
203 Erich added many features to GRUB, but other priorities prevented him
205 1999, Gordon Matzigkeit and Yoshinori K. Okuji adopted GRUB as an
208 GRUB}, for more information.
212 @section GRUB features
214 The primary requirement for GRUB is that it be compliant with the
240 In addition to the requirements above, GRUB has the following features
242 that GRUB supports):
260 embed a preset configuration file in a GRUB image file. The list of
273 set from scratch. If no configuration file is present, GRUB drops to
307 Unlike many other boot loaders, GRUB makes the particular drive
310 effects or changes in GRUB's configuration.
313 GRUB can generally find all the installed @sc{ram} on a PC-compatible
317 Specification}), not all kernels make use of this information, but GRUB
324 at most 8GB. GRUB can't universally solve this problem, as there is no
326 have the new interface, Logical Block Address (@dfn{LBA}) mode. GRUB
328 available. In LBA mode, GRUB can access the entire disk.
331 GRUB is basically a disk-based boot loader but also has network
336 To support computers with no console, GRUB provides remote terminal
337 support, so that you can control GRUB from a remote host. Only serial
345 The following is a quotation from Gordon Matzigkeit, a GRUB fanatic:
357 a boot loader that everybody uses, but nobody likes.} or ``GRUB''
361 just use the word ``GNU'' as a pseudonym for GRUB.
365 around@dots{} GRUB!
368 We, the GRUB maintainers, do not (usually) encourage Gordon's level of
370 recognition. We hope that you enjoy using GNU GRUB as much as we did
377 The device syntax used in GRUB is a wee bit different from what you may
387 First of all, GRUB requires that the device name be enclosed with
390 @emph{zero}. This expression means that GRUB will use the whole floppy
403 drive. In this case, GRUB uses one partition of the disk, instead of the
422 GRUB searches for the first @sc{pc} slice which has a BSD @samp{a}
425 Of course, to actually access the disks or partitions with GRUB, you
428 specifies a partition you want, the GRUB command-line
436 followed by a @key{TAB}, and GRUB will display the list of drives,
441 Note that GRUB does @emph{not} distinguish IDE from SCSI - it simply
459 actually install GRUB on your drive.
465 In order to install GRUB as your boot loader, you need to first
466 install the GRUB system and utilities under your UNIX-like operating
467 system (@pxref{Obtaining and Building GRUB}). You can do this either
473 grub-install}) on a UNIX-like OS, or by running GRUB itself from a
477 Also, if you install GRUB on a UNIX-like OS, please make sure that you
481 GRUB comes with boot images, which are normally put in the directory
487 configuration file. Hereafter, the directory where GRUB images are
494 * Creating a GRUB boot floppy::
495 * Installing GRUB natively::
496 * Installing GRUB using grub-install::
497 * Making a GRUB bootable CD-ROM::
501 @node Creating a GRUB boot floppy
502 @section Creating a GRUB boot floppy
504 To create a GRUB boot floppy, you need to take the files @file{stage1}
530 @node Installing GRUB natively
531 @section Installing GRUB natively
533 @strong{Caution:} Installing GRUB's stage1 in this manner will erase the
536 GRUB can currently boot GNU Mach, Linux, FreeBSD, NetBSD, and OpenBSD
540 GRUB's stage1. This isn't as important if you are installing GRUB on
544 If you decide to install GRUB in the native environment, which is
545 definitely desirable, you'll need to create a GRUB boot disk, and
546 reboot your computer with it. Otherwise, see @ref{Installing GRUB using
549 Once started, GRUB will show the command-line interface
550 (@pxref{Command-line interface}). First, set the GRUB's @dfn{root
551 device}@footnote{Note that GRUB's root device doesn't necessarily mean
577 This command will install the GRUB boot loader on the Master Boot
578 Record (MBR) of the first drive. If you want to put GRUB into the boot
580 partition into which you want to install GRUB:
586 If you install GRUB into a partition or a drive other than the first
587 one, you must chain-load GRUB from another boot loader. Refer to the
588 manual for the boot loader to know how to chain-load GRUB.
590 After using the setup command, you will boot into GRUB without the
591 GRUB floppy. See the chapter @ref{Booting} to find out how to boot
592 your operating systems from GRUB.
595 @node Installing GRUB using grub-install
596 @section Installing GRUB using grub-install
600 unbootable. For example, most operating systems don't tell GRUB how to
601 map BIOS drives to OS devices correctly---GRUB merely @dfn{guesses}
603 always. Therefore, GRUB provides you with a map file called the
607 If you still do want to install GRUB under a UNIX-like OS (such
614 partition specified in GRUB's notation. For example, under Linux the
615 following will install GRUB into the MBR of the first IDE disk:
639 But all the above examples assume that GRUB should use images under
640 the root directory. If you want GRUB to use images under a directory
642 @option{--root-directory}. The typical usage is that you create a GRUB
655 which is mounted at @file{/boot}. Since GRUB is a boot loader, it
673 GRUB, without using @command{grub-install}. Don't do that, however,
674 unless you are very familiar with the internals of GRUB. Installing a
678 @node Making a GRUB bootable CD-ROM
679 @section Making a GRUB bootable CD-ROM
681 GRUB supports the @dfn{no emulation mode} in the El Torito
684 from GRUB and you don't have to make a floppy or hard disk image file,
687 For booting from a CD-ROM, GRUB uses a special Stage 2 called
688 @file{stage2_eltorito}. The only GRUB files you need to have in your
701 Make a directory for GRUB:
727 setup GRUB on the disc. (Note that the @kbd{-boot-load-size 4} bit is
731 config file. This is not required; GRUB automatically sets the root device
739 GRUB can load Multiboot-compliant kernels in a consistent way,
744 * General boot methods:: How to boot OSes with GRUB generally
753 GRUB has two distinct boot methods. One of the two is to load an
757 install or maintain other boot loaders and GRUB is flexible enough to
759 the latter is sometimes required, since GRUB doesn't support all the
769 @subsection How to boot an OS directly with GRUB
772 The Multiboot Specification}) is the native format supported by GRUB.
777 Generally, GRUB can boot any Multiboot-compliant OS in the following
782 Set GRUB's root device to the drive where the OS images are stored with
814 Set GRUB's root device to the partition by the command
838 @samp{+1} indicates that GRUB should read one sector from the start of
877 Set GRUB's root device to the same drive as GNU/Hurd's. Probably the
899 It is relatively easy to boot GNU/Linux from GRUB, because it somewhat
904 Set GRUB's root device to the same drive as GNU/Linux's. Probably the
938 will also have to specify the same memory size to GRUB. To let GRUB know
946 GRUB can load the kernel directly, either in ELF or a.out format. But
948 changes heavily, so GRUB can't guarantee to pass kernel parameters
966 GRUB can load NetBSD a.out and ELF directly, follow these steps:
970 Set GRUB's root device with @command{root} (@pxref{root}).
985 For now, however, GRUB doesn't allow you to pass kernel parameters, so
1000 GRUB cannot boot DOS or Windows directly, so you must chain-load them
1003 the problems, GRUB provides you with two helper functions.
1007 from any disks but the first one. The workaround used in GRUB is the
1030 If GRUB @dfn{hide}s a DOS (or Windows) partition (@pxref{hide}), DOS (or
1031 Windows) will ignore the partition. If GRUB @dfn{unhide}s a DOS (or
1097 You must direct GRUB to boot a working system when the new system
1098 fails. This is possible with the @dfn{fallback} system in GRUB.
1105 So let's see the GRUB part. There are two possibilities: one of them
1108 can start as long as GRUB itself is bootable.
1119 You can teach GRUB to boot an entry only at next boot time. Suppose
1125 new kernel fails (e.g. it panics), you can specify that GRUB should
1150 that GRUB boots a saved entry by default, and booting the entry for the
1153 With this configuration file, after all, GRUB always tries to boot the
1157 The next step is to tell GRUB to boot the new kernel at next boot
1168 This method is useful, but still not very robust, because GRUB stops
1171 use the @dfn{fallback} mechanism of GRUB. Look at next subsection for
1178 GRUB supports a fallback mechanism of booting one or more other
1188 Then you may want GRUB to boot the first system which is bootable
1216 and @samp{savedefault fallback} are used. GRUB will boot a saved entry
1220 When GRUB tries to boot @samp{A}, GRUB saves @samp{1} as next boot
1222 is the first fallback entry. The entry @samp{1} is @samp{B}, so GRUB
1225 Likewise, when GRUB tries to boot @samp{B}, GRUB saves @samp{2} as
1227 fallback entry. This makes sure that GRUB will boot @samp{C} after
1230 It is noteworthy that GRUB uses fallback entries both when GRUB
1233 is started even if GRUB cannot find your kernel or if your kernel
1238 after it crashes, since GRUB always sets next boot entry to a fallback
1253 modify this file directly}, because GRUB may fail in saving a default
1263 OS. There's a solution to that - GRUB provides a menu interface
1285 hash character (@samp{#}), and blank lines, are ignored by GRUB.
1304 As the comment says, GRUB will boot automatically in 30 seconds, unless
1325 GRUB automatically executes @command{boot} if it loads other commands
1367 will cause GRUB to display a prompt and delay, before actually executing
1413 # For installing GRUB into the hard disk
1414 title Install GRUB into the hard disk
1420 This will just (re)install GRUB onto the hard disk.
1430 because it can be used both in the command-line and in the menu. GRUB
1434 GRUB. To learn more about GRUB, see the following chapters.
1440 Although GRUB is a disk-based boot loader, it does provide network
1442 network driver in the GRUB build process. For more information please
1454 GRUB requires a file server and optionally a server that will assign an
1455 IP address to the machine on which GRUB is running. For the former, only
1514 GRUB provides two second stage images, @file{nbgrub} and
1525 However, there is one thing specific to GRUB. Namely, how to specify a
1526 configuration file in a BOOTP/DHCP server. For now, GRUB uses the tag
1550 GRUB sends the string "GRUBClient" as its vendor class identifier to
1552 to GRUB clients on your network.
1558 @chapter Using GRUB via a serial line
1560 This chapter describes how to use the serial terminal support in GRUB.
1571 As for GRUB, the instruction to set up a serial terminal is quite
1574 GRUB images. If you get them in binary form, probably they have serial
1577 Then, initialize your serial terminal after GRUB starts up. Here is an
1597 you press any key will be selected as a GRUB terminal.
1599 However, note that GRUB assumes that your terminal emulator is
1604 GRUB provides you with an alternative menu interface, because the normal
1609 @chapter Embedding a configuration file into GRUB
1611 GRUB supports a @dfn{preset menu} which is to be always loaded before
1624 GRUB checks if the preset menu feature is used, and loads the preset
1629 GRUB checks if the configuration file is available. Note that this check
1638 preset menu are used only when GRUB fails in loading the configuration
1642 To enable the preset menu feature, you must rebuild GRUB specifying a
1675 this chapter describes how to improve the security of GRUB.
1678 many things with GRUB, because GRUB allows one to modify its configuration
1684 Thus, GRUB provides a @dfn{password} feature, so that only administrators
1694 If this is specified, GRUB disallows any interactive control, until you
1696 @option{--md5} tells GRUB that @samp{PASSWORD} is in MD5 format. If it
1697 is omitted, GRUB assumes the @samp{PASSWORD} is in clear text.
1720 In this case, GRUB will load @file{/boot/grub/menu-admin.lst} as a
1728 GRUB provides the command @command{lock} (@pxref{lock}). This command
1743 any user can execute commands in an entry until GRUB encounters
1754 @chapter GRUB image files
1756 GRUB consists of several images: two essential stages, optional stages
1763 This is an essential image used for booting up GRUB. Usually, this is
1773 This is the core image of GRUB. It does everything but booting up
1791 Stage 2 image to another location safely, even after GRUB has been
1819 GRUB uses a special syntax for specifying disk drives which can be
1820 accessed by BIOS. Because of BIOS limitations, GRUB cannot distinguish
1859 @code{(@var{device},@var{bsd-subpart-letter})}, in this case, GRUB
1868 MBR when installing GRUB), while the syntax @samp{(hd0,0)}
1870 of the partition when installing GRUB).
1876 If you boot GRUB from a CD-ROM, @samp{(cd)} is available. @xref{Making
1877 a GRUB bootable CD-ROM}, for details.
1890 disk. If you omit the device name in an absolute file name, GRUB uses
1891 GRUB's @dfn{root device} implicitly. So if you set the root device to,
1908 This represents that GRUB should read blocks 0 through 99, block 200,
1909 and blocks 300 through 599. If you omit an offset, then GRUB assumes
1913 does not contain a device name, then GRUB uses GRUB's @dfn{root
1919 @chapter GRUB's user interface
1921 GRUB has both a simple menu interface for choosing preset entries from a
1925 GRUB looks for its configuration file as soon as it is loaded. If one
1928 option, or if the configuration file was not found, then GRUB drops to
2022 (which operates exactly like the non-config-file version of GRUB, but
2042 special version of the GRUB command-line to edit that line. When the
2043 user hits @key{RET}, GRUB replaces the line in question in the boot
2051 To delete a line, hit the key @key{d}. Although GRUB unfortunately
2059 When your terminal is dumb or you request GRUB to hide the menu
2061 (@pxref{hiddenmenu}), GRUB doesn't show the menu interface (@pxref{Menu
2065 When you interrupt the timeout and your terminal is dumb, GRUB falls
2072 In this chapter, we list all commands that are available in GRUB.
2151 rebooted by a kernel that GRUB loaded. You can specify multiple
2217 is only available if GRUB is compiled with netboot support. See also
2220 If you specify @option{--with-configfile} to this command, GRUB will
2317 image, and/or to fix the drives guessed by GRUB when GRUB fails to
2338 protocols are very similar. This command is only available if GRUB is
2341 If you specify @option{--with-configfile} to this command, GRUB will
2385 in GRUB syntax (@pxref{Naming convention}); @var{type} is the partition
2396 specification in GRUB syntax (@pxref{Naming convention}); @var{type}
2409 restarts the GRUB Stage 2, if @var{new-config-file} is
2410 specified. Otherwise, GRUB will just unlock the privileged instructions.
2413 @option{--md5} tells GRUB that @var{passwd} is encrypted with
2423 is only available if GRUB is compiled with netboot support. See also
2448 This command is only available if GRUB is compiled with serial
2590 @option{console} and @option{serial} are specified, then GRUB will use
2593 reported. This command is only available if GRUB is compiled with serial
2596 This may not make sense for most users, but GRUB supports Hercules
2609 The option @option{--no-echo} has GRUB not to echo back input
2640 @samp{192.168.0.15}. This command is only available if GRUB is compiled
2681 * install:: Install GRUB
2694 * root:: Set GRUB's root device
2695 * rootnoverify:: Set GRUB's root device without mounting
2697 * setup:: Set up GRUB's installation automatically
2786 is mainly useful for GRUB developers when testing new code.
2802 Display what GRUB thinks the system address space map of the machine is,
2803 including all regions of physical @sc{ram} installed. GRUB's
2917 unless you are familiar with GRUB. Use @command{setup} (@pxref{setup})
2925 it is a GRUB Stage 1 of the right version number, install in it a
2931 @var{addr} is not present, GRUB will determine the address
2959 bitmap even if they do have the support. So GRUB provides a solution to
2993 load a NetBSD @sc{elf} kernel, because GRUB can automatically determine
2997 option is specified, GRUB doesn't pass the option @option{mem=} to the
3029 Set the active partition on the root disk to GRUB's root device.
3148 disk that GRUB can read, but setting the correct root device is still
3179 With this configuration, GRUB will choose the entry booted previously as
3194 Set up the installation of GRUB automatically. This command uses the
3196 and installs GRUB into the device @var{install_device}. If
3197 @var{image_device} is specified, then find the GRUB images
3203 The option @option{--prefix} specifies the directory under which GRUB
3204 images are put. If it is not specified, GRUB automatically searches them
3241 Force GRUB to assume that only @var{kbytes} kilobytes of upper memory
3245 only be necessary on some old machines. GRUB's BIOS probe can pick up
3263 @chapter Error messages reported by GRUB
3265 This chapter describes error messages reported by GRUB when you
3303 moved to another machine or controller after installation, or GRUB was
3366 This error is returned if GRUB is told to execute the boot sequence
3376 that the kernel requires special handling which GRUB is probably
3393 Some of the filesystem reading code in GRUB has limits on the length of
3405 filesystem or bugs in the code handling it in GRUB.
3409 filesystem type cannot be recognized by GRUB.
3423 a Multiboot kernel. It only makes sense in this case anyway, as GRUB has
3437 This error is returned if GRUB was expecting to read a number and
3443 disk or a bug in the code handling it in GRUB (it's a great debugging
3500 native GRUB environment, especially when it guesses a wrong map between
3505 * Installation under UNIX:: How to install GRUB via @command{grub}
3513 You can use the command @command{grub} for installing GRUB under your
3514 operating systems and for a testbed when you add a new feature into GRUB
3527 Print the version number of GRUB and exit.
3548 @file{/boot/grub/menu.lst}. The format is the same as the normal GRUB
3579 @section How to install GRUB via @command{grub}
3592 If you can unmount drives to which GRUB may write any amount of data,
3614 If you want to install GRUB non-interactively, specify @samp{--batch}
3645 @var{device} is a drive specified in the GRUB syntax (@pxref{Device
3662 The program @command{grub-install} installs GRUB on your drive using the
3664 device name on which you want to install GRUB, like this:
3670 The device name @var{install_device} is an OS device name or a GRUB
3680 Print the version number of GRUB and exit.
3683 Force GRUB to use LBA mode even for a buggy BIOS. Use this option only
3688 Install GRUB images under the directory @var{dir} instead of the root
3689 directory. This option is useful when you want to install GRUB into a
3740 configuration file, to define escape sequences. Because GRUB assumes
3765 GRUB. This automatically creates a file named @file{default} under
3766 your GRUB directory (i.e. @file{/boot/grub}), if it is not
3768 GRUB boots up your system when you use @samp{default saved} in your
3828 by GRUB.
3837 Print the version number of GRUB and exit.
3844 @node Obtaining and Building GRUB
3845 @appendix How to obtain and build GRUB
3848 @strong{Caution:} GRUB requires binutils-2.9.1.0.23 or later because the
3855 GRUB is available from the GNU alpha archive site
3862 To unbundle GRUB use the instruction:
3870 instructions on how to build and install GRUB, but you should be able to
3883 and the GRUB images. This will also install the GRUB manual.
3898 see the @uref{http://www.gnu.org/software/grub/grub-faq.html, GNU GRUB FAQ}.
3901 Always mention the information on your GRUB. The version number and the
3908 installed GRUB. Don't omit error messages, if any. Just @samp{GRUB hangs
3916 If GRUB cannot boot your operating system, write down
3918 @samp{The foo OS crashes with GRUB, even though it can boot with the
3925 and your wish, and how GRUB didn't satisfy you.
3957 @appendix Where GRUB will go
3959 We started the next generation of GRUB, GRUB 2. This will include
3962 nice feature. If you are interested in the development of GRUB 2, take