1*8044SWilliam.Kucharski@Sun.COMThis is grub.info, produced by makeinfo version 4.0 from grub.texi. 2*8044SWilliam.Kucharski@Sun.COM 3*8044SWilliam.Kucharski@Sun.COMINFO-DIR-SECTION Kernel 4*8044SWilliam.Kucharski@Sun.COMSTART-INFO-DIR-ENTRY 5*8044SWilliam.Kucharski@Sun.COM* GRUB: (grub). The GRand Unified Bootloader 6*8044SWilliam.Kucharski@Sun.COM* grub-install: (grub)Invoking grub-install. Install GRUB on your drive 7*8044SWilliam.Kucharski@Sun.COM* grub-md5-crypt: (grub)Invoking grub-md5-crypt. Encrypt a password 8*8044SWilliam.Kucharski@Sun.COM in MD5 format 9*8044SWilliam.Kucharski@Sun.COM* grub-terminfo: (grub)Invoking grub-terminfo. Generate a terminfo 10*8044SWilliam.Kucharski@Sun.COM command from a 11*8044SWilliam.Kucharski@Sun.COM terminfo name 12*8044SWilliam.Kucharski@Sun.COM* grub-set-default: (grub)Invoking grub-set-default. Set a default boot 13*8044SWilliam.Kucharski@Sun.COM entry 14*8044SWilliam.Kucharski@Sun.COM* mbchk: (grub)Invoking mbchk. Check for the format of a Multiboot kernel 15*8044SWilliam.Kucharski@Sun.COMEND-INFO-DIR-ENTRY 16*8044SWilliam.Kucharski@Sun.COM 17*8044SWilliam.Kucharski@Sun.COM Copyright (C) 1999,2000,2001,2002,2004 Free Software Foundation, Inc. 18*8044SWilliam.Kucharski@Sun.COM 19*8044SWilliam.Kucharski@Sun.COM Permission is granted to make and distribute verbatim copies of this 20*8044SWilliam.Kucharski@Sun.COMmanual provided the copyright notice and this permission notice are 21*8044SWilliam.Kucharski@Sun.COMpreserved on all copies. 22*8044SWilliam.Kucharski@Sun.COM 23*8044SWilliam.Kucharski@Sun.COM Permission is granted to copy and distribute modified versions of 24*8044SWilliam.Kucharski@Sun.COMthis manual under the conditions for verbatim copying, provided also 25*8044SWilliam.Kucharski@Sun.COMthat the entire resulting derived work is distributed under the terms 26*8044SWilliam.Kucharski@Sun.COMof a permission notice identical to this one. 27*8044SWilliam.Kucharski@Sun.COM 28*8044SWilliam.Kucharski@Sun.COM Permission is granted to copy and distribute translations of this 29*8044SWilliam.Kucharski@Sun.COMmanual into another language, under the above conditions for modified 30*8044SWilliam.Kucharski@Sun.COMversions. 31*8044SWilliam.Kucharski@Sun.COM 32*8044SWilliam.Kucharski@Sun.COM 33*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Diskless, Prev: General usage of network support, Up: Network 34*8044SWilliam.Kucharski@Sun.COM 35*8044SWilliam.Kucharski@Sun.COMBooting from a network 36*8044SWilliam.Kucharski@Sun.COM====================== 37*8044SWilliam.Kucharski@Sun.COM 38*8044SWilliam.Kucharski@Sun.COM It is sometimes very useful to boot from a network, especially when 39*8044SWilliam.Kucharski@Sun.COMyou use a machine which has no local disk. In this case, you need to 40*8044SWilliam.Kucharski@Sun.COMobtain a kind of Net Boot ROM, such as a PXE ROM or a free software 41*8044SWilliam.Kucharski@Sun.COMpackage like Etherboot. Such a Boot ROM first boots the machine, sets 42*8044SWilliam.Kucharski@Sun.COMup the network card installed into the machine, and downloads a second 43*8044SWilliam.Kucharski@Sun.COMstage boot image from the network. Then, the second image will try to 44*8044SWilliam.Kucharski@Sun.COMboot an operating system actually from the network. 45*8044SWilliam.Kucharski@Sun.COM 46*8044SWilliam.Kucharski@Sun.COM GRUB provides two second stage images, `nbgrub' and `pxegrub' (*note 47*8044SWilliam.Kucharski@Sun.COMImages::). These images are the same as the normal Stage 2, except that 48*8044SWilliam.Kucharski@Sun.COMthey set up a network automatically, and try to load a configuration 49*8044SWilliam.Kucharski@Sun.COMfile from the network, if specified. The usage is very simple: If the 50*8044SWilliam.Kucharski@Sun.COMmachine has a PXE ROM, use `pxegrub'. If the machine has an NBI loader 51*8044SWilliam.Kucharski@Sun.COMsuch as Etherboot, use `nbgrub'. There is no difference between them 52*8044SWilliam.Kucharski@Sun.COMexcept their formats. Since the way to load a second stage image you 53*8044SWilliam.Kucharski@Sun.COMwant to use should be described in the manual on your Net Boot ROM, 54*8044SWilliam.Kucharski@Sun.COMplease refer to the manual, for more information. 55*8044SWilliam.Kucharski@Sun.COM 56*8044SWilliam.Kucharski@Sun.COM However, there is one thing specific to GRUB. Namely, how to specify 57*8044SWilliam.Kucharski@Sun.COMa configuration file in a BOOTP/DHCP server. For now, GRUB uses the tag 58*8044SWilliam.Kucharski@Sun.COM`150', to get the name of a configuration file. The following is an 59*8044SWilliam.Kucharski@Sun.COMexample with a BOOTP configuration: 60*8044SWilliam.Kucharski@Sun.COM 61*8044SWilliam.Kucharski@Sun.COM .allhost:hd=/tmp:bf=null:\ 62*8044SWilliam.Kucharski@Sun.COM :ds=145.71.35.1 145.71.32.1:\ 63*8044SWilliam.Kucharski@Sun.COM :sm=255.255.254.0:\ 64*8044SWilliam.Kucharski@Sun.COM :gw=145.71.35.1:\ 65*8044SWilliam.Kucharski@Sun.COM :sa=145.71.35.5: 66*8044SWilliam.Kucharski@Sun.COM 67*8044SWilliam.Kucharski@Sun.COM foo:ht=1:ha=63655d0334a7:ip=145.71.35.127:\ 68*8044SWilliam.Kucharski@Sun.COM :bf=/nbgrub:\ 69*8044SWilliam.Kucharski@Sun.COM :tc=.allhost:\ 70*8044SWilliam.Kucharski@Sun.COM :T150="(nd)/tftpboot/menu.lst.foo": 71*8044SWilliam.Kucharski@Sun.COM 72*8044SWilliam.Kucharski@Sun.COM Note that you should specify the drive name `(nd)' in the name of 73*8044SWilliam.Kucharski@Sun.COMthe configuration file. This is because you might change the root drive 74*8044SWilliam.Kucharski@Sun.COMbefore downloading the configuration from the TFTP server when the 75*8044SWilliam.Kucharski@Sun.COMpreset menu feature is used (*note Preset Menu::). 76*8044SWilliam.Kucharski@Sun.COM 77*8044SWilliam.Kucharski@Sun.COM See the manual of your BOOTP/DHCP server for more information. The 78*8044SWilliam.Kucharski@Sun.COMexact syntax should differ a little from the example. 79*8044SWilliam.Kucharski@Sun.COM 80*8044SWilliam.Kucharski@Sun.COM 81*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Serial terminal, Next: Preset Menu, Prev: Network, Up: Top 82*8044SWilliam.Kucharski@Sun.COM 83*8044SWilliam.Kucharski@Sun.COMUsing GRUB via a serial line 84*8044SWilliam.Kucharski@Sun.COM**************************** 85*8044SWilliam.Kucharski@Sun.COM 86*8044SWilliam.Kucharski@Sun.COM This chapter describes how to use the serial terminal support in 87*8044SWilliam.Kucharski@Sun.COMGRUB. 88*8044SWilliam.Kucharski@Sun.COM 89*8044SWilliam.Kucharski@Sun.COM If you have many computers or computers with no display/keyboard, it 90*8044SWilliam.Kucharski@Sun.COMcould be very useful to control the computers through serial 91*8044SWilliam.Kucharski@Sun.COMcommunications. To connect one computer with another via a serial line, 92*8044SWilliam.Kucharski@Sun.COMyou need to prepare a null-modem (cross) serial cable, and you may need 93*8044SWilliam.Kucharski@Sun.COMto have multiport serial boards, if your computer doesn't have extra 94*8044SWilliam.Kucharski@Sun.COMserial ports. In addition, a terminal emulator is also required, such as 95*8044SWilliam.Kucharski@Sun.COMminicom. Refer to a manual of your operating system, for more 96*8044SWilliam.Kucharski@Sun.COMinformation. 97*8044SWilliam.Kucharski@Sun.COM 98*8044SWilliam.Kucharski@Sun.COM As for GRUB, the instruction to set up a serial terminal is quite 99*8044SWilliam.Kucharski@Sun.COMsimple. First of all, make sure that you haven't specified the option 100*8044SWilliam.Kucharski@Sun.COM`--disable-serial' to the configure script when you built your GRUB 101*8044SWilliam.Kucharski@Sun.COMimages. If you get them in binary form, probably they have serial 102*8044SWilliam.Kucharski@Sun.COMterminal support already. 103*8044SWilliam.Kucharski@Sun.COM 104*8044SWilliam.Kucharski@Sun.COM Then, initialize your serial terminal after GRUB starts up. Here is 105*8044SWilliam.Kucharski@Sun.COMan example: 106*8044SWilliam.Kucharski@Sun.COM 107*8044SWilliam.Kucharski@Sun.COM grub> serial --unit=0 --speed=9600 108*8044SWilliam.Kucharski@Sun.COM grub> terminal serial 109*8044SWilliam.Kucharski@Sun.COM 110*8044SWilliam.Kucharski@Sun.COM The command `serial' initializes the serial unit 0 with the speed 111*8044SWilliam.Kucharski@Sun.COM9600bps. The serial unit 0 is usually called `COM1', so, if you want to 112*8044SWilliam.Kucharski@Sun.COMuse COM2, you must specify `--unit=1' instead. This command accepts 113*8044SWilliam.Kucharski@Sun.COMmany other options, so please refer to *Note serial::, for more details. 114*8044SWilliam.Kucharski@Sun.COM 115*8044SWilliam.Kucharski@Sun.COM The command `terminal' (*note terminal::) chooses which type of 116*8044SWilliam.Kucharski@Sun.COMterminal you want to use. In the case above, the terminal will be a 117*8044SWilliam.Kucharski@Sun.COMserial terminal, but you can also pass `console' to the command, as 118*8044SWilliam.Kucharski@Sun.COM`terminal serial console'. In this case, a terminal in which you press 119*8044SWilliam.Kucharski@Sun.COMany key will be selected as a GRUB terminal. 120*8044SWilliam.Kucharski@Sun.COM 121*8044SWilliam.Kucharski@Sun.COM However, note that GRUB assumes that your terminal emulator is 122*8044SWilliam.Kucharski@Sun.COMcompatible with VT100 by default. This is true for most terminal 123*8044SWilliam.Kucharski@Sun.COMemulators nowadays, but you should pass the option `--dumb' to the 124*8044SWilliam.Kucharski@Sun.COMcommand if your terminal emulator is not VT100-compatible or implements 125*8044SWilliam.Kucharski@Sun.COMfew VT100 escape sequences. If you specify this option then GRUB 126*8044SWilliam.Kucharski@Sun.COMprovides you with an alternative menu interface, because the normal 127*8044SWilliam.Kucharski@Sun.COMmenu requires several fancy features of your terminal. 128*8044SWilliam.Kucharski@Sun.COM 129*8044SWilliam.Kucharski@Sun.COM 130*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Preset Menu, Next: Security, Prev: Serial terminal, Up: Top 131*8044SWilliam.Kucharski@Sun.COM 132*8044SWilliam.Kucharski@Sun.COMEmbedding a configuration file into GRUB 133*8044SWilliam.Kucharski@Sun.COM**************************************** 134*8044SWilliam.Kucharski@Sun.COM 135*8044SWilliam.Kucharski@Sun.COM GRUB supports a "preset menu" which is to be always loaded before 136*8044SWilliam.Kucharski@Sun.COMstarting. The preset menu feature is useful, for example, when your 137*8044SWilliam.Kucharski@Sun.COMcomputer has no console but a serial cable. In this case, it is 138*8044SWilliam.Kucharski@Sun.COMcritical to set up the serial terminal as soon as possible, since you 139*8044SWilliam.Kucharski@Sun.COMcannot see any message until the serial terminal begins to work. So it 140*8044SWilliam.Kucharski@Sun.COMis good to run the commands `serial' (*note serial::) and `terminal' 141*8044SWilliam.Kucharski@Sun.COM(*note terminal::) before anything else at the start-up time. 142*8044SWilliam.Kucharski@Sun.COM 143*8044SWilliam.Kucharski@Sun.COM How the preset menu works is slightly complicated: 144*8044SWilliam.Kucharski@Sun.COM 145*8044SWilliam.Kucharski@Sun.COM 1. GRUB checks if the preset menu feature is used, and loads the 146*8044SWilliam.Kucharski@Sun.COM preset menu, if available. This includes running commands and 147*8044SWilliam.Kucharski@Sun.COM reading boot entries, like an ordinary configuration file. 148*8044SWilliam.Kucharski@Sun.COM 149*8044SWilliam.Kucharski@Sun.COM 2. GRUB checks if the configuration file is available. Note that this 150*8044SWilliam.Kucharski@Sun.COM check is performed *regardless of the existence of the preset 151*8044SWilliam.Kucharski@Sun.COM menu*. The configuration file is loaded even if the preset menu was 152*8044SWilliam.Kucharski@Sun.COM loaded. 153*8044SWilliam.Kucharski@Sun.COM 154*8044SWilliam.Kucharski@Sun.COM 3. If the preset menu includes any boot entries, they are cleared when 155*8044SWilliam.Kucharski@Sun.COM the configuration file is loaded. It doesn't matter whether the 156*8044SWilliam.Kucharski@Sun.COM configuration file has any entries or no entry. The boot entries 157*8044SWilliam.Kucharski@Sun.COM in the preset menu are used only when GRUB fails in loading the 158*8044SWilliam.Kucharski@Sun.COM configuration file. 159*8044SWilliam.Kucharski@Sun.COM 160*8044SWilliam.Kucharski@Sun.COM To enable the preset menu feature, you must rebuild GRUB specifying a 161*8044SWilliam.Kucharski@Sun.COMfile to the configure script with the option `--enable-preset-menu'. 162*8044SWilliam.Kucharski@Sun.COMThe file has the same semantics as normal configuration files (*note 163*8044SWilliam.Kucharski@Sun.COMConfiguration::). 164*8044SWilliam.Kucharski@Sun.COM 165*8044SWilliam.Kucharski@Sun.COM Another point you should take care is that the diskless support 166*8044SWilliam.Kucharski@Sun.COM(*note Diskless::) diverts the preset menu. Diskless images embed a 167*8044SWilliam.Kucharski@Sun.COMpreset menu to execute the command `bootp' (*note bootp::) 168*8044SWilliam.Kucharski@Sun.COMautomatically, unless you specify your own preset menu to the configure 169*8044SWilliam.Kucharski@Sun.COMscript. This means that you must put commands to initialize a network in 170*8044SWilliam.Kucharski@Sun.COMthe preset menu yourself, because diskless images don't set it up 171*8044SWilliam.Kucharski@Sun.COMimplicitly, when you use the preset menu explicitly. 172*8044SWilliam.Kucharski@Sun.COM 173*8044SWilliam.Kucharski@Sun.COM Therefore, a typical preset menu used with diskless support would be 174*8044SWilliam.Kucharski@Sun.COMlike this: 175*8044SWilliam.Kucharski@Sun.COM 176*8044SWilliam.Kucharski@Sun.COM # Set up the serial terminal, first of all. 177*8044SWilliam.Kucharski@Sun.COM serial --unit=0 --speed=19200 178*8044SWilliam.Kucharski@Sun.COM terminal --timeout=0 serial 179*8044SWilliam.Kucharski@Sun.COM 180*8044SWilliam.Kucharski@Sun.COM # Initialize the network. 181*8044SWilliam.Kucharski@Sun.COM dhcp 182*8044SWilliam.Kucharski@Sun.COM 183*8044SWilliam.Kucharski@Sun.COM 184*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Security, Next: Images, Prev: Preset Menu, Up: Top 185*8044SWilliam.Kucharski@Sun.COM 186*8044SWilliam.Kucharski@Sun.COMProtecting your computer from cracking 187*8044SWilliam.Kucharski@Sun.COM************************************** 188*8044SWilliam.Kucharski@Sun.COM 189*8044SWilliam.Kucharski@Sun.COM You may be interested in how to prevent ordinary users from doing 190*8044SWilliam.Kucharski@Sun.COMwhatever they like, if you share your computer with other people. So 191*8044SWilliam.Kucharski@Sun.COMthis chapter describes how to improve the security of GRUB. 192*8044SWilliam.Kucharski@Sun.COM 193*8044SWilliam.Kucharski@Sun.COM One thing which could be a security hole is that the user can do too 194*8044SWilliam.Kucharski@Sun.COMmany things with GRUB, because GRUB allows one to modify its 195*8044SWilliam.Kucharski@Sun.COMconfiguration and run arbitrary commands at run-time. For example, the 196*8044SWilliam.Kucharski@Sun.COMuser can even read `/etc/passwd' in the command-line interface by the 197*8044SWilliam.Kucharski@Sun.COMcommand `cat' (*note cat::). So it is necessary to disable all the 198*8044SWilliam.Kucharski@Sun.COMinteractive operations. 199*8044SWilliam.Kucharski@Sun.COM 200*8044SWilliam.Kucharski@Sun.COM Thus, GRUB provides a "password" feature, so that only administrators 201*8044SWilliam.Kucharski@Sun.COMcan start the interactive operations (i.e. editing menu entries and 202*8044SWilliam.Kucharski@Sun.COMentering the command-line interface). To use this feature, you need to 203*8044SWilliam.Kucharski@Sun.COMrun the command `password' in your configuration file (*note 204*8044SWilliam.Kucharski@Sun.COMpassword::), like this: 205*8044SWilliam.Kucharski@Sun.COM 206*8044SWilliam.Kucharski@Sun.COM password --md5 PASSWORD 207*8044SWilliam.Kucharski@Sun.COM 208*8044SWilliam.Kucharski@Sun.COM If this is specified, GRUB disallows any interactive control, until 209*8044SWilliam.Kucharski@Sun.COMyou press the key <p> and enter a correct password. The option `--md5' 210*8044SWilliam.Kucharski@Sun.COMtells GRUB that `PASSWORD' is in MD5 format. If it is omitted, GRUB 211*8044SWilliam.Kucharski@Sun.COMassumes the `PASSWORD' is in clear text. 212*8044SWilliam.Kucharski@Sun.COM 213*8044SWilliam.Kucharski@Sun.COM You can encrypt your password with the command `md5crypt' (*note 214*8044SWilliam.Kucharski@Sun.COMmd5crypt::). For example, run the grub shell (*note Invoking the grub 215*8044SWilliam.Kucharski@Sun.COMshell::), and enter your password: 216*8044SWilliam.Kucharski@Sun.COM 217*8044SWilliam.Kucharski@Sun.COM grub> md5crypt 218*8044SWilliam.Kucharski@Sun.COM Password: ********** 219*8044SWilliam.Kucharski@Sun.COM Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb. 220*8044SWilliam.Kucharski@Sun.COM 221*8044SWilliam.Kucharski@Sun.COM Then, cut and paste the encrypted password to your configuration 222*8044SWilliam.Kucharski@Sun.COMfile. 223*8044SWilliam.Kucharski@Sun.COM 224*8044SWilliam.Kucharski@Sun.COM Also, you can specify an optional argument to `password'. See this 225*8044SWilliam.Kucharski@Sun.COMexample: 226*8044SWilliam.Kucharski@Sun.COM 227*8044SWilliam.Kucharski@Sun.COM password PASSWORD /boot/grub/menu-admin.lst 228*8044SWilliam.Kucharski@Sun.COM 229*8044SWilliam.Kucharski@Sun.COM In this case, GRUB will load `/boot/grub/menu-admin.lst' as a 230*8044SWilliam.Kucharski@Sun.COMconfiguration file when you enter the valid password. 231*8044SWilliam.Kucharski@Sun.COM 232*8044SWilliam.Kucharski@Sun.COM Another thing which may be dangerous is that any user can choose any 233*8044SWilliam.Kucharski@Sun.COMmenu entry. Usually, this wouldn't be problematic, but you might want to 234*8044SWilliam.Kucharski@Sun.COMpermit only administrators to run some of your menu entries, such as an 235*8044SWilliam.Kucharski@Sun.COMentry for booting an insecure OS like DOS. 236*8044SWilliam.Kucharski@Sun.COM 237*8044SWilliam.Kucharski@Sun.COM GRUB provides the command `lock' (*note lock::). This command always 238*8044SWilliam.Kucharski@Sun.COMfails until you enter the valid password, so you can use it, like this: 239*8044SWilliam.Kucharski@Sun.COM 240*8044SWilliam.Kucharski@Sun.COM title Boot DOS 241*8044SWilliam.Kucharski@Sun.COM lock 242*8044SWilliam.Kucharski@Sun.COM rootnoverify (hd0,1) 243*8044SWilliam.Kucharski@Sun.COM makeactive 244*8044SWilliam.Kucharski@Sun.COM chainload +1 245*8044SWilliam.Kucharski@Sun.COM 246*8044SWilliam.Kucharski@Sun.COM You should insert `lock' right after `title', because any user can 247*8044SWilliam.Kucharski@Sun.COMexecute commands in an entry until GRUB encounters `lock'. 248*8044SWilliam.Kucharski@Sun.COM 249*8044SWilliam.Kucharski@Sun.COM You can also use the command `password' instead of `lock'. In this 250*8044SWilliam.Kucharski@Sun.COMcase the boot process will ask for the password and stop if it was 251*8044SWilliam.Kucharski@Sun.COMentered incorrectly. Since the `password' takes its own PASSWORD 252*8044SWilliam.Kucharski@Sun.COMargument this is useful if you want different passwords for different 253*8044SWilliam.Kucharski@Sun.COMentries. 254*8044SWilliam.Kucharski@Sun.COM 255*8044SWilliam.Kucharski@Sun.COM 256*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Images, Next: Filesystem, Prev: Security, Up: Top 257*8044SWilliam.Kucharski@Sun.COM 258*8044SWilliam.Kucharski@Sun.COMGRUB image files 259*8044SWilliam.Kucharski@Sun.COM**************** 260*8044SWilliam.Kucharski@Sun.COM 261*8044SWilliam.Kucharski@Sun.COM GRUB consists of several images: two essential stages, optional 262*8044SWilliam.Kucharski@Sun.COMstages called "Stage 1.5", one image for bootable CD-ROM, and two 263*8044SWilliam.Kucharski@Sun.COMnetwork boot images. Here is a short overview of them. *Note 264*8044SWilliam.Kucharski@Sun.COMInternals::, for more details. 265*8044SWilliam.Kucharski@Sun.COM 266*8044SWilliam.Kucharski@Sun.COM`stage1' 267*8044SWilliam.Kucharski@Sun.COM This is an essential image used for booting up GRUB. Usually, this 268*8044SWilliam.Kucharski@Sun.COM is embedded in an MBR or the boot sector of a partition. Because a 269*8044SWilliam.Kucharski@Sun.COM PC boot sector is 512 bytes, the size of this image is exactly 512 270*8044SWilliam.Kucharski@Sun.COM bytes. 271*8044SWilliam.Kucharski@Sun.COM 272*8044SWilliam.Kucharski@Sun.COM All `stage1' must do is to load Stage 2 or Stage 1.5 from a local 273*8044SWilliam.Kucharski@Sun.COM disk. Because of the size restriction, `stage1' encodes the 274*8044SWilliam.Kucharski@Sun.COM location of Stage 2 (or Stage 1.5) in a block list format, so it 275*8044SWilliam.Kucharski@Sun.COM never understand any filesystem structure. 276*8044SWilliam.Kucharski@Sun.COM 277*8044SWilliam.Kucharski@Sun.COM`stage2' 278*8044SWilliam.Kucharski@Sun.COM This is the core image of GRUB. It does everything but booting up 279*8044SWilliam.Kucharski@Sun.COM itself. Usually, this is put in a filesystem, but that is not 280*8044SWilliam.Kucharski@Sun.COM required. 281*8044SWilliam.Kucharski@Sun.COM 282*8044SWilliam.Kucharski@Sun.COM`e2fs_stage1_5' 283*8044SWilliam.Kucharski@Sun.COM`fat_stage1_5' 284*8044SWilliam.Kucharski@Sun.COM`ffs_stage1_5' 285*8044SWilliam.Kucharski@Sun.COM`jfs_stage1_5' 286*8044SWilliam.Kucharski@Sun.COM`minix_stage1_5' 287*8044SWilliam.Kucharski@Sun.COM`reiserfs_stage1_5' 288*8044SWilliam.Kucharski@Sun.COM`vstafs_stage1_5' 289*8044SWilliam.Kucharski@Sun.COM`xfs_stage1_5' 290*8044SWilliam.Kucharski@Sun.COM These are called "Stage 1.5", because they serve as a bridge 291*8044SWilliam.Kucharski@Sun.COM between `stage1' and `stage2', that is to say, Stage 1.5 is loaded 292*8044SWilliam.Kucharski@Sun.COM by Stage 1 and Stage 1.5 loads Stage 2. The difference between 293*8044SWilliam.Kucharski@Sun.COM `stage1' and `*_stage1_5' is that the former doesn't understand 294*8044SWilliam.Kucharski@Sun.COM any filesystem while the latter understands one filesystem (e.g. 295*8044SWilliam.Kucharski@Sun.COM `e2fs_stage1_5' understands ext2fs). So you can move the Stage 2 296*8044SWilliam.Kucharski@Sun.COM image to another location safely, even after GRUB has been 297*8044SWilliam.Kucharski@Sun.COM installed. 298*8044SWilliam.Kucharski@Sun.COM 299*8044SWilliam.Kucharski@Sun.COM While Stage 2 cannot generally be embedded in a fixed area as the 300*8044SWilliam.Kucharski@Sun.COM size is so large, Stage 1.5 can be installed into the area right 301*8044SWilliam.Kucharski@Sun.COM after an MBR, or the boot loader area of a ReiserFS or a FFS. 302*8044SWilliam.Kucharski@Sun.COM 303*8044SWilliam.Kucharski@Sun.COM`stage2_eltorito' 304*8044SWilliam.Kucharski@Sun.COM This is a boot image for CD-ROMs using the "no emulation mode" in 305*8044SWilliam.Kucharski@Sun.COM El Torito specification. This is identical to Stage 2, except that 306*8044SWilliam.Kucharski@Sun.COM this boots up without Stage 1 and sets up a special drive `(cd)'. 307*8044SWilliam.Kucharski@Sun.COM 308*8044SWilliam.Kucharski@Sun.COM`nbgrub' 309*8044SWilliam.Kucharski@Sun.COM This is a network boot image for the Network Image Proposal used 310*8044SWilliam.Kucharski@Sun.COM by some network boot loaders, such as Etherboot. This is mostly 311*8044SWilliam.Kucharski@Sun.COM the same as Stage 2, but it also sets up a network and loads a 312*8044SWilliam.Kucharski@Sun.COM configuration file from the network. 313*8044SWilliam.Kucharski@Sun.COM 314*8044SWilliam.Kucharski@Sun.COM`pxegrub' 315*8044SWilliam.Kucharski@Sun.COM This is another network boot image for the Preboot Execution 316*8044SWilliam.Kucharski@Sun.COM Environment used by several Netboot ROMs. This is identical to 317*8044SWilliam.Kucharski@Sun.COM `nbgrub', except for the format. 318*8044SWilliam.Kucharski@Sun.COM 319*8044SWilliam.Kucharski@Sun.COM 320*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Filesystem, Next: Interface, Prev: Images, Up: Top 321*8044SWilliam.Kucharski@Sun.COM 322*8044SWilliam.Kucharski@Sun.COMFilesystem syntax and semantics 323*8044SWilliam.Kucharski@Sun.COM******************************* 324*8044SWilliam.Kucharski@Sun.COM 325*8044SWilliam.Kucharski@Sun.COM GRUB uses a special syntax for specifying disk drives which can be 326*8044SWilliam.Kucharski@Sun.COMaccessed by BIOS. Because of BIOS limitations, GRUB cannot distinguish 327*8044SWilliam.Kucharski@Sun.COMbetween IDE, ESDI, SCSI, or others. You must know yourself which BIOS 328*8044SWilliam.Kucharski@Sun.COMdevice is equivalent to which OS device. Normally, that will be clear if 329*8044SWilliam.Kucharski@Sun.COMyou see the files in a device or use the command `find' (*note find::). 330*8044SWilliam.Kucharski@Sun.COM 331*8044SWilliam.Kucharski@Sun.COM* Menu: 332*8044SWilliam.Kucharski@Sun.COM 333*8044SWilliam.Kucharski@Sun.COM* Device syntax:: How to specify devices 334*8044SWilliam.Kucharski@Sun.COM* File name syntax:: How to specify files 335*8044SWilliam.Kucharski@Sun.COM* Block list syntax:: How to specify block lists 336*8044SWilliam.Kucharski@Sun.COM 337*8044SWilliam.Kucharski@Sun.COM 338*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Device syntax, Next: File name syntax, Up: Filesystem 339*8044SWilliam.Kucharski@Sun.COM 340*8044SWilliam.Kucharski@Sun.COMHow to specify devices 341*8044SWilliam.Kucharski@Sun.COM====================== 342*8044SWilliam.Kucharski@Sun.COM 343*8044SWilliam.Kucharski@Sun.COM The device syntax is like this: 344*8044SWilliam.Kucharski@Sun.COM 345*8044SWilliam.Kucharski@Sun.COM `(DEVICE[,PART-NUM][,BSD-SUBPART-LETTER])' 346*8044SWilliam.Kucharski@Sun.COM 347*8044SWilliam.Kucharski@Sun.COM `[]' means the parameter is optional. DEVICE should be either `fd' 348*8044SWilliam.Kucharski@Sun.COMor `hd' followed by a digit, like `fd0'. But you can also set DEVICE 349*8044SWilliam.Kucharski@Sun.COMto a hexadecimal or a decimal number which is a BIOS drive number, so 350*8044SWilliam.Kucharski@Sun.COMthe following are equivalent: 351*8044SWilliam.Kucharski@Sun.COM 352*8044SWilliam.Kucharski@Sun.COM (hd0) 353*8044SWilliam.Kucharski@Sun.COM (0x80) 354*8044SWilliam.Kucharski@Sun.COM (128) 355*8044SWilliam.Kucharski@Sun.COM 356*8044SWilliam.Kucharski@Sun.COM PART-NUM represents the partition number of DEVICE, starting from 357*8044SWilliam.Kucharski@Sun.COMzero for primary partitions and from four for extended partitions, and 358*8044SWilliam.Kucharski@Sun.COMBSD-SUBPART-LETTER represents the BSD disklabel subpartition, such as 359*8044SWilliam.Kucharski@Sun.COM`a' or `e'. 360*8044SWilliam.Kucharski@Sun.COM 361*8044SWilliam.Kucharski@Sun.COM A shortcut for specifying BSD subpartitions is 362*8044SWilliam.Kucharski@Sun.COM`(DEVICE,BSD-SUBPART-LETTER)', in this case, GRUB searches for the 363*8044SWilliam.Kucharski@Sun.COMfirst PC partition containing a BSD disklabel, then finds the 364*8044SWilliam.Kucharski@Sun.COMsubpartition BSD-SUBPART-LETTER. Here is an example: 365*8044SWilliam.Kucharski@Sun.COM 366*8044SWilliam.Kucharski@Sun.COM (hd0,a) 367*8044SWilliam.Kucharski@Sun.COM 368*8044SWilliam.Kucharski@Sun.COM The syntax `(hd0)' represents using the entire disk (or the MBR when 369*8044SWilliam.Kucharski@Sun.COMinstalling GRUB), while the syntax `(hd0,0)' represents using the first 370*8044SWilliam.Kucharski@Sun.COMpartition of the disk (or the boot sector of the partition when 371*8044SWilliam.Kucharski@Sun.COMinstalling GRUB). 372*8044SWilliam.Kucharski@Sun.COM 373*8044SWilliam.Kucharski@Sun.COM If you enabled the network support, the special drive, `(nd)', is 374*8044SWilliam.Kucharski@Sun.COMalso available. Before using the network drive, you must initialize the 375*8044SWilliam.Kucharski@Sun.COMnetwork. *Note Network::, for more information. 376*8044SWilliam.Kucharski@Sun.COM 377*8044SWilliam.Kucharski@Sun.COM If you boot GRUB from a CD-ROM, `(cd)' is available. *Note Making a 378*8044SWilliam.Kucharski@Sun.COMGRUB bootable CD-ROM::, for details. 379*8044SWilliam.Kucharski@Sun.COM 380*8044SWilliam.Kucharski@Sun.COM 381*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: File name syntax, Next: Block list syntax, Prev: Device syntax, Up: Filesystem 382*8044SWilliam.Kucharski@Sun.COM 383*8044SWilliam.Kucharski@Sun.COMHow to specify files 384*8044SWilliam.Kucharski@Sun.COM==================== 385*8044SWilliam.Kucharski@Sun.COM 386*8044SWilliam.Kucharski@Sun.COM There are two ways to specify files, by "absolute file name" and by 387*8044SWilliam.Kucharski@Sun.COM"block list". 388*8044SWilliam.Kucharski@Sun.COM 389*8044SWilliam.Kucharski@Sun.COM An absolute file name resembles a Unix absolute file name, using `/' 390*8044SWilliam.Kucharski@Sun.COMfor the directory separator (not `\' as in DOS). One example is 391*8044SWilliam.Kucharski@Sun.COM`(hd0,0)/boot/grub/menu.lst'. This means the file `/boot/grub/menu.lst' 392*8044SWilliam.Kucharski@Sun.COMin the first partition of the first hard disk. If you omit the device 393*8044SWilliam.Kucharski@Sun.COMname in an absolute file name, GRUB uses GRUB's "root device" 394*8044SWilliam.Kucharski@Sun.COMimplicitly. So if you set the root device to, say, `(hd1,0)' by the 395*8044SWilliam.Kucharski@Sun.COMcommand `root' (*note root::), then `/boot/kernel' is the same as 396*8044SWilliam.Kucharski@Sun.COM`(hd1,0)/boot/kernel'. 397*8044SWilliam.Kucharski@Sun.COM 398*8044SWilliam.Kucharski@Sun.COM 399*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Block list syntax, Prev: File name syntax, Up: Filesystem 400*8044SWilliam.Kucharski@Sun.COM 401*8044SWilliam.Kucharski@Sun.COMHow to specify block lists 402*8044SWilliam.Kucharski@Sun.COM========================== 403*8044SWilliam.Kucharski@Sun.COM 404*8044SWilliam.Kucharski@Sun.COM A block list is used for specifying a file that doesn't appear in the 405*8044SWilliam.Kucharski@Sun.COMfilesystem, like a chainloader. The syntax is 406*8044SWilliam.Kucharski@Sun.COM`[OFFSET]+LENGTH[,[OFFSET]+LENGTH]...'. Here is an example: 407*8044SWilliam.Kucharski@Sun.COM 408*8044SWilliam.Kucharski@Sun.COM `0+100,200+1,300+300' 409*8044SWilliam.Kucharski@Sun.COM 410*8044SWilliam.Kucharski@Sun.COM This represents that GRUB should read blocks 0 through 99, block 200, 411*8044SWilliam.Kucharski@Sun.COMand blocks 300 through 599. If you omit an offset, then GRUB assumes 412*8044SWilliam.Kucharski@Sun.COMthe offset is zero. 413*8044SWilliam.Kucharski@Sun.COM 414*8044SWilliam.Kucharski@Sun.COM Like the file name syntax (*note File name syntax::), if a blocklist 415*8044SWilliam.Kucharski@Sun.COMdoes not contain a device name, then GRUB uses GRUB's "root device". So 416*8044SWilliam.Kucharski@Sun.COM`(hd0,1)+1' is the same as `+1' when the root device is `(hd0,1)'. 417*8044SWilliam.Kucharski@Sun.COM 418*8044SWilliam.Kucharski@Sun.COM 419*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Interface, Next: Commands, Prev: Filesystem, Up: Top 420*8044SWilliam.Kucharski@Sun.COM 421*8044SWilliam.Kucharski@Sun.COMGRUB's user interface 422*8044SWilliam.Kucharski@Sun.COM********************* 423*8044SWilliam.Kucharski@Sun.COM 424*8044SWilliam.Kucharski@Sun.COM GRUB has both a simple menu interface for choosing preset entries 425*8044SWilliam.Kucharski@Sun.COMfrom a configuration file, and a highly flexible command-line for 426*8044SWilliam.Kucharski@Sun.COMperforming any desired combination of boot commands. 427*8044SWilliam.Kucharski@Sun.COM 428*8044SWilliam.Kucharski@Sun.COM GRUB looks for its configuration file as soon as it is loaded. If one 429*8044SWilliam.Kucharski@Sun.COMis found, then the full menu interface is activated using whatever 430*8044SWilliam.Kucharski@Sun.COMentries were found in the file. If you choose the "command-line" menu 431*8044SWilliam.Kucharski@Sun.COMoption, or if the configuration file was not found, then GRUB drops to 432*8044SWilliam.Kucharski@Sun.COMthe command-line interface. 433*8044SWilliam.Kucharski@Sun.COM 434*8044SWilliam.Kucharski@Sun.COM* Menu: 435*8044SWilliam.Kucharski@Sun.COM 436*8044SWilliam.Kucharski@Sun.COM* Command-line interface:: The flexible command-line interface 437*8044SWilliam.Kucharski@Sun.COM* Menu interface:: The simple menu interface 438*8044SWilliam.Kucharski@Sun.COM* Menu entry editor:: Editing a menu entry 439*8044SWilliam.Kucharski@Sun.COM* Hidden menu interface:: The hidden menu interface 440*8044SWilliam.Kucharski@Sun.COM 441*8044SWilliam.Kucharski@Sun.COM 442*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Command-line interface, Next: Menu interface, Up: Interface 443*8044SWilliam.Kucharski@Sun.COM 444*8044SWilliam.Kucharski@Sun.COMThe flexible command-line interface 445*8044SWilliam.Kucharski@Sun.COM=================================== 446*8044SWilliam.Kucharski@Sun.COM 447*8044SWilliam.Kucharski@Sun.COM The command-line interface provides a prompt and after it an editable 448*8044SWilliam.Kucharski@Sun.COMtext area much like a command-line in Unix or DOS. Each command is 449*8044SWilliam.Kucharski@Sun.COMimmediately executed after it is entered(1) (*note Command-line 450*8044SWilliam.Kucharski@Sun.COMinterface-Footnote-1::). The commands (*note Command-line and menu 451*8044SWilliam.Kucharski@Sun.COMentry commands::) are a subset of those available in the configuration 452*8044SWilliam.Kucharski@Sun.COMfile, used with exactly the same syntax. 453*8044SWilliam.Kucharski@Sun.COM 454*8044SWilliam.Kucharski@Sun.COM Cursor movement and editing of the text on the line can be done via a 455*8044SWilliam.Kucharski@Sun.COMsubset of the functions available in the Bash shell: 456*8044SWilliam.Kucharski@Sun.COM 457*8044SWilliam.Kucharski@Sun.COM<C-f> 458*8044SWilliam.Kucharski@Sun.COM<PC right key> 459*8044SWilliam.Kucharski@Sun.COM Move forward one character. 460*8044SWilliam.Kucharski@Sun.COM 461*8044SWilliam.Kucharski@Sun.COM<C-b> 462*8044SWilliam.Kucharski@Sun.COM<PC left key> 463*8044SWilliam.Kucharski@Sun.COM Move back one character. 464*8044SWilliam.Kucharski@Sun.COM 465*8044SWilliam.Kucharski@Sun.COM<C-a> 466*8044SWilliam.Kucharski@Sun.COM<HOME> 467*8044SWilliam.Kucharski@Sun.COM Move to the start of the line. 468*8044SWilliam.Kucharski@Sun.COM 469*8044SWilliam.Kucharski@Sun.COM<C-e> 470*8044SWilliam.Kucharski@Sun.COM<END> 471*8044SWilliam.Kucharski@Sun.COM Move the the end of the line. 472*8044SWilliam.Kucharski@Sun.COM 473*8044SWilliam.Kucharski@Sun.COM<C-d> 474*8044SWilliam.Kucharski@Sun.COM<DEL> 475*8044SWilliam.Kucharski@Sun.COM Delete the character underneath the cursor. 476*8044SWilliam.Kucharski@Sun.COM 477*8044SWilliam.Kucharski@Sun.COM<C-h> 478*8044SWilliam.Kucharski@Sun.COM<BS> 479*8044SWilliam.Kucharski@Sun.COM Delete the character to the left of the cursor. 480*8044SWilliam.Kucharski@Sun.COM 481*8044SWilliam.Kucharski@Sun.COM<C-k> 482*8044SWilliam.Kucharski@Sun.COM Kill the text from the current cursor position to the end of the 483*8044SWilliam.Kucharski@Sun.COM line. 484*8044SWilliam.Kucharski@Sun.COM 485*8044SWilliam.Kucharski@Sun.COM<C-u> 486*8044SWilliam.Kucharski@Sun.COM Kill backward from the cursor to the beginning of the line. 487*8044SWilliam.Kucharski@Sun.COM 488*8044SWilliam.Kucharski@Sun.COM<C-y> 489*8044SWilliam.Kucharski@Sun.COM Yank the killed text back into the buffer at the cursor. 490*8044SWilliam.Kucharski@Sun.COM 491*8044SWilliam.Kucharski@Sun.COM<C-p> 492*8044SWilliam.Kucharski@Sun.COM<PC up key> 493*8044SWilliam.Kucharski@Sun.COM Move up through the history list. 494*8044SWilliam.Kucharski@Sun.COM 495*8044SWilliam.Kucharski@Sun.COM<C-n> 496*8044SWilliam.Kucharski@Sun.COM<PC down key> 497*8044SWilliam.Kucharski@Sun.COM Move down through the history list. 498*8044SWilliam.Kucharski@Sun.COM 499*8044SWilliam.Kucharski@Sun.COM When typing commands interactively, if the cursor is within or before 500*8044SWilliam.Kucharski@Sun.COMthe first word in the command-line, pressing the <TAB> key (or <C-i>) 501*8044SWilliam.Kucharski@Sun.COMwill display a listing of the available commands, and if the cursor is 502*8044SWilliam.Kucharski@Sun.COMafter the first word, the `<TAB>' will provide a completion listing of 503*8044SWilliam.Kucharski@Sun.COMdisks, partitions, and file names depending on the context. Note that 504*8044SWilliam.Kucharski@Sun.COMto obtain a list of drives, one must open a parenthesis, as `root ('. 505*8044SWilliam.Kucharski@Sun.COM 506*8044SWilliam.Kucharski@Sun.COM Note that you cannot use the completion functionality in the TFTP 507*8044SWilliam.Kucharski@Sun.COMfilesystem. This is because TFTP doesn't support file name listing for 508*8044SWilliam.Kucharski@Sun.COMthe security. 509*8044SWilliam.Kucharski@Sun.COM 510*8044SWilliam.Kucharski@Sun.COM 511*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Command-line interface-Footnotes, Up: Command-line interface 512*8044SWilliam.Kucharski@Sun.COM 513*8044SWilliam.Kucharski@Sun.COM (1) However, this behavior will be changed in the future version, in 514*8044SWilliam.Kucharski@Sun.COMa user-invisible way. 515*8044SWilliam.Kucharski@Sun.COM 516*8044SWilliam.Kucharski@Sun.COM 517*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Menu interface, Next: Menu entry editor, Prev: Command-line interface, Up: Interface 518*8044SWilliam.Kucharski@Sun.COM 519*8044SWilliam.Kucharski@Sun.COMThe simple menu interface 520*8044SWilliam.Kucharski@Sun.COM========================= 521*8044SWilliam.Kucharski@Sun.COM 522*8044SWilliam.Kucharski@Sun.COM The menu interface is quite easy to use. Its commands are both 523*8044SWilliam.Kucharski@Sun.COMreasonably intuitive and described on screen. 524*8044SWilliam.Kucharski@Sun.COM 525*8044SWilliam.Kucharski@Sun.COM Basically, the menu interface provides a list of "boot entries" to 526*8044SWilliam.Kucharski@Sun.COMthe user to choose from. Use the arrow keys to select the entry of 527*8044SWilliam.Kucharski@Sun.COMchoice, then press <RET> to run it. An optional timeout is available 528*8044SWilliam.Kucharski@Sun.COMto boot the default entry (the first one if not set), which is aborted 529*8044SWilliam.Kucharski@Sun.COMby pressing any key. 530*8044SWilliam.Kucharski@Sun.COM 531*8044SWilliam.Kucharski@Sun.COM Commands are available to enter a bare command-line by pressing <c> 532*8044SWilliam.Kucharski@Sun.COM(which operates exactly like the non-config-file version of GRUB, but 533*8044SWilliam.Kucharski@Sun.COMallows one to return to the menu if desired by pressing <ESC>) or to 534*8044SWilliam.Kucharski@Sun.COMedit any of the "boot entries" by pressing <e>. 535*8044SWilliam.Kucharski@Sun.COM 536*8044SWilliam.Kucharski@Sun.COM If you protect the menu interface with a password (*note Security::), 537*8044SWilliam.Kucharski@Sun.COMall you can do is choose an entry by pressing <RET>, or press <p> to 538*8044SWilliam.Kucharski@Sun.COMenter the password. 539*8044SWilliam.Kucharski@Sun.COM 540*8044SWilliam.Kucharski@Sun.COM 541*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Menu entry editor, Next: Hidden menu interface, Prev: Menu interface, Up: Interface 542*8044SWilliam.Kucharski@Sun.COM 543*8044SWilliam.Kucharski@Sun.COMEditing a menu entry 544*8044SWilliam.Kucharski@Sun.COM==================== 545*8044SWilliam.Kucharski@Sun.COM 546*8044SWilliam.Kucharski@Sun.COM The menu entry editor looks much like the main menu interface, but 547*8044SWilliam.Kucharski@Sun.COMthe lines in the menu are individual commands in the selected entry 548*8044SWilliam.Kucharski@Sun.COMinstead of entry names. 549*8044SWilliam.Kucharski@Sun.COM 550*8044SWilliam.Kucharski@Sun.COM If an <ESC> is pressed in the editor, it aborts all the changes made 551*8044SWilliam.Kucharski@Sun.COMto the configuration entry and returns to the main menu interface. 552*8044SWilliam.Kucharski@Sun.COM 553*8044SWilliam.Kucharski@Sun.COM When a particular line is selected, the editor places the user in a 554*8044SWilliam.Kucharski@Sun.COMspecial version of the GRUB command-line to edit that line. When the 555*8044SWilliam.Kucharski@Sun.COMuser hits <RET>, GRUB replaces the line in question in the boot entry 556*8044SWilliam.Kucharski@Sun.COMwith the changes (unless it was aborted via <ESC>, in which case the 557*8044SWilliam.Kucharski@Sun.COMchanges are thrown away). 558*8044SWilliam.Kucharski@Sun.COM 559*8044SWilliam.Kucharski@Sun.COM If you want to add a new line to the menu entry, press <o> if adding 560*8044SWilliam.Kucharski@Sun.COMa line after the current line or press <O> if before the current line. 561*8044SWilliam.Kucharski@Sun.COM 562*8044SWilliam.Kucharski@Sun.COM To delete a line, hit the key <d>. Although GRUB unfortunately does 563*8044SWilliam.Kucharski@Sun.COMnot support "undo", you can do almost the same thing by just returning 564*8044SWilliam.Kucharski@Sun.COMto the main menu. 565*8044SWilliam.Kucharski@Sun.COM 566*8044SWilliam.Kucharski@Sun.COM 567*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Hidden menu interface, Prev: Menu entry editor, Up: Interface 568*8044SWilliam.Kucharski@Sun.COM 569*8044SWilliam.Kucharski@Sun.COMThe hidden menu interface 570*8044SWilliam.Kucharski@Sun.COM========================= 571*8044SWilliam.Kucharski@Sun.COM 572*8044SWilliam.Kucharski@Sun.COM When your terminal is dumb or you request GRUB to hide the menu 573*8044SWilliam.Kucharski@Sun.COMinterface explicitly with the command `hiddenmenu' (*note 574*8044SWilliam.Kucharski@Sun.COMhiddenmenu::), GRUB doesn't show the menu interface (*note Menu 575*8044SWilliam.Kucharski@Sun.COMinterface::) and automatically boots the default entry, unless 576*8044SWilliam.Kucharski@Sun.COMinterrupted by pressing <ESC>. 577*8044SWilliam.Kucharski@Sun.COM 578*8044SWilliam.Kucharski@Sun.COM When you interrupt the timeout and your terminal is dumb, GRUB falls 579*8044SWilliam.Kucharski@Sun.COMback to the command-line interface (*note Command-line interface::). 580*8044SWilliam.Kucharski@Sun.COM 581*8044SWilliam.Kucharski@Sun.COM 582*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Commands, Next: Troubleshooting, Prev: Interface, Up: Top 583*8044SWilliam.Kucharski@Sun.COM 584*8044SWilliam.Kucharski@Sun.COMThe list of available commands 585*8044SWilliam.Kucharski@Sun.COM****************************** 586*8044SWilliam.Kucharski@Sun.COM 587*8044SWilliam.Kucharski@Sun.COM In this chapter, we list all commands that are available in GRUB. 588*8044SWilliam.Kucharski@Sun.COM 589*8044SWilliam.Kucharski@Sun.COM Commands belong to different groups. A few can only be used in the 590*8044SWilliam.Kucharski@Sun.COMglobal section of the configuration file (or "menu"); most of them can 591*8044SWilliam.Kucharski@Sun.COMbe entered on the command-line and can be used either anywhere in the 592*8044SWilliam.Kucharski@Sun.COMmenu or specifically in the menu entries. 593*8044SWilliam.Kucharski@Sun.COM 594*8044SWilliam.Kucharski@Sun.COM* Menu: 595*8044SWilliam.Kucharski@Sun.COM 596*8044SWilliam.Kucharski@Sun.COM* Menu-specific commands:: 597*8044SWilliam.Kucharski@Sun.COM* General commands:: 598*8044SWilliam.Kucharski@Sun.COM* Command-line and menu entry commands:: 599*8044SWilliam.Kucharski@Sun.COM 600*8044SWilliam.Kucharski@Sun.COM 601*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Menu-specific commands, Next: General commands, Up: Commands 602*8044SWilliam.Kucharski@Sun.COM 603*8044SWilliam.Kucharski@Sun.COMThe list of commands for the menu only 604*8044SWilliam.Kucharski@Sun.COM====================================== 605*8044SWilliam.Kucharski@Sun.COM 606*8044SWilliam.Kucharski@Sun.COM The semantics used in parsing the configuration file are the 607*8044SWilliam.Kucharski@Sun.COMfollowing: 608*8044SWilliam.Kucharski@Sun.COM 609*8044SWilliam.Kucharski@Sun.COM * The menu-specific commands have to be used before any others. 610*8044SWilliam.Kucharski@Sun.COM 611*8044SWilliam.Kucharski@Sun.COM * The files _must_ be in plain-text format. 612*8044SWilliam.Kucharski@Sun.COM 613*8044SWilliam.Kucharski@Sun.COM * `#' at the beginning of a line in a configuration file means it is 614*8044SWilliam.Kucharski@Sun.COM only a comment. 615*8044SWilliam.Kucharski@Sun.COM 616*8044SWilliam.Kucharski@Sun.COM * Options are separated by spaces. 617*8044SWilliam.Kucharski@Sun.COM 618*8044SWilliam.Kucharski@Sun.COM * All numbers can be either decimal or hexadecimal. A hexadecimal 619*8044SWilliam.Kucharski@Sun.COM number must be preceded by `0x', and is case-insensitive. 620*8044SWilliam.Kucharski@Sun.COM 621*8044SWilliam.Kucharski@Sun.COM * Extra options or text at the end of the line are ignored unless 622*8044SWilliam.Kucharski@Sun.COM otherwise specified. 623*8044SWilliam.Kucharski@Sun.COM 624*8044SWilliam.Kucharski@Sun.COM * Unrecognized commands are added to the current entry, except 625*8044SWilliam.Kucharski@Sun.COM before entries start, where they are ignored. 626*8044SWilliam.Kucharski@Sun.COM 627*8044SWilliam.Kucharski@Sun.COM These commands can only be used in the menu: 628*8044SWilliam.Kucharski@Sun.COM 629*8044SWilliam.Kucharski@Sun.COM* Menu: 630*8044SWilliam.Kucharski@Sun.COM 631*8044SWilliam.Kucharski@Sun.COM* default:: Set the default entry 632*8044SWilliam.Kucharski@Sun.COM* fallback:: Set the fallback entry 633*8044SWilliam.Kucharski@Sun.COM* hiddenmenu:: Hide the menu interface 634*8044SWilliam.Kucharski@Sun.COM* timeout:: Set the timeout 635*8044SWilliam.Kucharski@Sun.COM* title:: Start a menu entry 636*8044SWilliam.Kucharski@Sun.COM 637*8044SWilliam.Kucharski@Sun.COM 638*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: default, Next: fallback, Up: Menu-specific commands 639*8044SWilliam.Kucharski@Sun.COM 640*8044SWilliam.Kucharski@Sun.COMdefault 641*8044SWilliam.Kucharski@Sun.COM------- 642*8044SWilliam.Kucharski@Sun.COM 643*8044SWilliam.Kucharski@Sun.COM - Command: default num 644*8044SWilliam.Kucharski@Sun.COM Set the default entry to the entry number NUM. Numbering starts 645*8044SWilliam.Kucharski@Sun.COM from 0, and the entry number 0 is the default if the command is not 646*8044SWilliam.Kucharski@Sun.COM used. 647*8044SWilliam.Kucharski@Sun.COM 648*8044SWilliam.Kucharski@Sun.COM You can specify `saved' instead of a number. In this case, the 649*8044SWilliam.Kucharski@Sun.COM default entry is the entry saved with the command `savedefault'. 650*8044SWilliam.Kucharski@Sun.COM *Note savedefault::, for more information. 651*8044SWilliam.Kucharski@Sun.COM 652*8044SWilliam.Kucharski@Sun.COM 653*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: fallback, Next: hiddenmenu, Prev: default, Up: Menu-specific commands 654*8044SWilliam.Kucharski@Sun.COM 655*8044SWilliam.Kucharski@Sun.COMfallback 656*8044SWilliam.Kucharski@Sun.COM-------- 657*8044SWilliam.Kucharski@Sun.COM 658*8044SWilliam.Kucharski@Sun.COM - Command: fallback num... 659*8044SWilliam.Kucharski@Sun.COM Go into unattended boot mode: if the default boot entry has any 660*8044SWilliam.Kucharski@Sun.COM errors, instead of waiting for the user to do something, 661*8044SWilliam.Kucharski@Sun.COM immediately start over using the NUM entry (same numbering as the 662*8044SWilliam.Kucharski@Sun.COM `default' command (*note default::)). This obviously won't help if 663*8044SWilliam.Kucharski@Sun.COM the machine was rebooted by a kernel that GRUB loaded. You can 664*8044SWilliam.Kucharski@Sun.COM specify multiple fallback entry numbers. 665*8044SWilliam.Kucharski@Sun.COM 666*8044SWilliam.Kucharski@Sun.COM 667*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: hiddenmenu, Next: timeout, Prev: fallback, Up: Menu-specific commands 668*8044SWilliam.Kucharski@Sun.COM 669*8044SWilliam.Kucharski@Sun.COMhiddenmenu 670*8044SWilliam.Kucharski@Sun.COM---------- 671*8044SWilliam.Kucharski@Sun.COM 672*8044SWilliam.Kucharski@Sun.COM - Command: hiddenmenu 673*8044SWilliam.Kucharski@Sun.COM Don't display the menu. If the command is used, no menu will be 674*8044SWilliam.Kucharski@Sun.COM displayed on the control terminal, and the default entry will be 675*8044SWilliam.Kucharski@Sun.COM booted after the timeout expired. The user can still request the 676*8044SWilliam.Kucharski@Sun.COM menu to be displayed by pressing <ESC> before the timeout expires. 677*8044SWilliam.Kucharski@Sun.COM See also *Note Hidden menu interface::. 678*8044SWilliam.Kucharski@Sun.COM 679*8044SWilliam.Kucharski@Sun.COM 680*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: timeout, Next: title, Prev: hiddenmenu, Up: Menu-specific commands 681*8044SWilliam.Kucharski@Sun.COM 682*8044SWilliam.Kucharski@Sun.COMtimeout 683*8044SWilliam.Kucharski@Sun.COM------- 684*8044SWilliam.Kucharski@Sun.COM 685*8044SWilliam.Kucharski@Sun.COM - Command: timeout sec 686*8044SWilliam.Kucharski@Sun.COM Set a timeout, in SEC seconds, before automatically booting the 687*8044SWilliam.Kucharski@Sun.COM default entry (normally the first entry defined). 688*8044SWilliam.Kucharski@Sun.COM 689*8044SWilliam.Kucharski@Sun.COM 690*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: title, Prev: timeout, Up: Menu-specific commands 691*8044SWilliam.Kucharski@Sun.COM 692*8044SWilliam.Kucharski@Sun.COMtitle 693*8044SWilliam.Kucharski@Sun.COM----- 694*8044SWilliam.Kucharski@Sun.COM 695*8044SWilliam.Kucharski@Sun.COM - Command: title name ... 696*8044SWilliam.Kucharski@Sun.COM Start a new boot entry, and set its name to the contents of the 697*8044SWilliam.Kucharski@Sun.COM rest of the line, starting with the first non-space character. 698*8044SWilliam.Kucharski@Sun.COM 699*8044SWilliam.Kucharski@Sun.COM 700*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: General commands, Next: Command-line and menu entry commands, Prev: Menu-specific commands, Up: Commands 701*8044SWilliam.Kucharski@Sun.COM 702*8044SWilliam.Kucharski@Sun.COMThe list of general commands 703*8044SWilliam.Kucharski@Sun.COM============================ 704*8044SWilliam.Kucharski@Sun.COM 705*8044SWilliam.Kucharski@Sun.COM Commands usable anywhere in the menu and in the command-line. 706*8044SWilliam.Kucharski@Sun.COM 707*8044SWilliam.Kucharski@Sun.COM* Menu: 708*8044SWilliam.Kucharski@Sun.COM 709*8044SWilliam.Kucharski@Sun.COM* bootp:: Initialize a network device via BOOTP 710*8044SWilliam.Kucharski@Sun.COM* color:: Color the menu interface 711*8044SWilliam.Kucharski@Sun.COM* device:: Specify a file as a drive 712*8044SWilliam.Kucharski@Sun.COM* dhcp:: Initialize a network device via DHCP 713*8044SWilliam.Kucharski@Sun.COM* hide:: Hide a partition 714*8044SWilliam.Kucharski@Sun.COM* ifconfig:: Configure a network device manually 715*8044SWilliam.Kucharski@Sun.COM* pager:: Change the state of the internal pager 716*8044SWilliam.Kucharski@Sun.COM* partnew:: Make a primary partition 717*8044SWilliam.Kucharski@Sun.COM* parttype:: Change the type of a partition 718*8044SWilliam.Kucharski@Sun.COM* password:: Set a password for the menu interface 719*8044SWilliam.Kucharski@Sun.COM* rarp:: Initialize a network device via RARP 720*8044SWilliam.Kucharski@Sun.COM* serial:: Set up a serial device 721*8044SWilliam.Kucharski@Sun.COM* setkey:: Configure the key map 722*8044SWilliam.Kucharski@Sun.COM* terminal:: Choose a terminal 723*8044SWilliam.Kucharski@Sun.COM* terminfo:: Define escape sequences for a terminal 724*8044SWilliam.Kucharski@Sun.COM* tftpserver:: Specify a TFTP server 725*8044SWilliam.Kucharski@Sun.COM* unhide:: Unhide a partition 726*8044SWilliam.Kucharski@Sun.COM 727*8044SWilliam.Kucharski@Sun.COM 728*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: bootp, Next: color, Up: General commands 729*8044SWilliam.Kucharski@Sun.COM 730*8044SWilliam.Kucharski@Sun.COMbootp 731*8044SWilliam.Kucharski@Sun.COM----- 732*8044SWilliam.Kucharski@Sun.COM 733*8044SWilliam.Kucharski@Sun.COM - Command: bootp [`--with-configfile'] 734*8044SWilliam.Kucharski@Sun.COM Initialize a network device via the "BOOTP" protocol. This command 735*8044SWilliam.Kucharski@Sun.COM is only available if GRUB is compiled with netboot support. See 736*8044SWilliam.Kucharski@Sun.COM also *Note Network::. 737*8044SWilliam.Kucharski@Sun.COM 738*8044SWilliam.Kucharski@Sun.COM If you specify `--with-configfile' to this command, GRUB will 739*8044SWilliam.Kucharski@Sun.COM fetch and load a configuration file specified by your BOOTP server 740*8044SWilliam.Kucharski@Sun.COM with the vendor tag `150'. 741*8044SWilliam.Kucharski@Sun.COM 742*8044SWilliam.Kucharski@Sun.COM 743*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: color, Next: device, Prev: bootp, Up: General commands 744*8044SWilliam.Kucharski@Sun.COM 745*8044SWilliam.Kucharski@Sun.COMcolor 746*8044SWilliam.Kucharski@Sun.COM----- 747*8044SWilliam.Kucharski@Sun.COM 748*8044SWilliam.Kucharski@Sun.COM - Command: color normal [highlight] 749*8044SWilliam.Kucharski@Sun.COM Change the menu colors. The color NORMAL is used for most lines in 750*8044SWilliam.Kucharski@Sun.COM the menu (*note Menu interface::), and the color HIGHLIGHT is used 751*8044SWilliam.Kucharski@Sun.COM to highlight the line where the cursor points. If you omit 752*8044SWilliam.Kucharski@Sun.COM HIGHLIGHT, then the inverted color of NORMAL is used for the 753*8044SWilliam.Kucharski@Sun.COM highlighted line. The format of a color is 754*8044SWilliam.Kucharski@Sun.COM `FOREGROUND/BACKGROUND'. FOREGROUND and BACKGROUND are symbolic 755*8044SWilliam.Kucharski@Sun.COM color names. A symbolic color name must be one of these: 756*8044SWilliam.Kucharski@Sun.COM 757*8044SWilliam.Kucharski@Sun.COM * black 758*8044SWilliam.Kucharski@Sun.COM 759*8044SWilliam.Kucharski@Sun.COM * blue 760*8044SWilliam.Kucharski@Sun.COM 761*8044SWilliam.Kucharski@Sun.COM * green 762*8044SWilliam.Kucharski@Sun.COM 763*8044SWilliam.Kucharski@Sun.COM * cyan 764*8044SWilliam.Kucharski@Sun.COM 765*8044SWilliam.Kucharski@Sun.COM * red 766*8044SWilliam.Kucharski@Sun.COM 767*8044SWilliam.Kucharski@Sun.COM * magenta 768*8044SWilliam.Kucharski@Sun.COM 769*8044SWilliam.Kucharski@Sun.COM * brown 770*8044SWilliam.Kucharski@Sun.COM 771*8044SWilliam.Kucharski@Sun.COM * light-gray 772*8044SWilliam.Kucharski@Sun.COM 773*8044SWilliam.Kucharski@Sun.COM *These below can be specified only for the foreground.* 774*8044SWilliam.Kucharski@Sun.COM 775*8044SWilliam.Kucharski@Sun.COM * dark-gray 776*8044SWilliam.Kucharski@Sun.COM 777*8044SWilliam.Kucharski@Sun.COM * light-blue 778*8044SWilliam.Kucharski@Sun.COM 779*8044SWilliam.Kucharski@Sun.COM * light-green 780*8044SWilliam.Kucharski@Sun.COM 781*8044SWilliam.Kucharski@Sun.COM * light-cyan 782*8044SWilliam.Kucharski@Sun.COM 783*8044SWilliam.Kucharski@Sun.COM * light-red 784*8044SWilliam.Kucharski@Sun.COM 785*8044SWilliam.Kucharski@Sun.COM * light-magenta 786*8044SWilliam.Kucharski@Sun.COM 787*8044SWilliam.Kucharski@Sun.COM * yellow 788*8044SWilliam.Kucharski@Sun.COM 789*8044SWilliam.Kucharski@Sun.COM * white 790*8044SWilliam.Kucharski@Sun.COM 791*8044SWilliam.Kucharski@Sun.COM But only the first eight names can be used for BACKGROUND. You can 792*8044SWilliam.Kucharski@Sun.COM prefix `blink-' to FOREGROUND if you want a blinking foreground 793*8044SWilliam.Kucharski@Sun.COM color. 794*8044SWilliam.Kucharski@Sun.COM 795*8044SWilliam.Kucharski@Sun.COM This command can be used in the configuration file and on the 796*8044SWilliam.Kucharski@Sun.COM command line, so you may write something like this in your 797*8044SWilliam.Kucharski@Sun.COM configuration file: 798*8044SWilliam.Kucharski@Sun.COM 799*8044SWilliam.Kucharski@Sun.COM # Set default colors. 800*8044SWilliam.Kucharski@Sun.COM color light-gray/blue black/light-gray 801*8044SWilliam.Kucharski@Sun.COM 802*8044SWilliam.Kucharski@Sun.COM # Change the colors. 803*8044SWilliam.Kucharski@Sun.COM title OS-BS like 804*8044SWilliam.Kucharski@Sun.COM color magenta/blue black/magenta 805*8044SWilliam.Kucharski@Sun.COM 806*8044SWilliam.Kucharski@Sun.COM 807*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: device, Next: dhcp, Prev: color, Up: General commands 808*8044SWilliam.Kucharski@Sun.COM 809*8044SWilliam.Kucharski@Sun.COMdevice 810*8044SWilliam.Kucharski@Sun.COM------ 811*8044SWilliam.Kucharski@Sun.COM 812*8044SWilliam.Kucharski@Sun.COM - Command: device drive file 813*8044SWilliam.Kucharski@Sun.COM In the grub shell, specify the file FILE as the actual drive for a 814*8044SWilliam.Kucharski@Sun.COM BIOS drive DRIVE. You can use this command to create a disk image, 815*8044SWilliam.Kucharski@Sun.COM and/or to fix the drives guessed by GRUB when GRUB fails to 816*8044SWilliam.Kucharski@Sun.COM determine them correctly, like this: 817*8044SWilliam.Kucharski@Sun.COM 818*8044SWilliam.Kucharski@Sun.COM grub> device (fd0) /floppy-image 819*8044SWilliam.Kucharski@Sun.COM grub> device (hd0) /dev/sd0 820*8044SWilliam.Kucharski@Sun.COM 821*8044SWilliam.Kucharski@Sun.COM This command can be used only in the grub shell (*note Invoking 822*8044SWilliam.Kucharski@Sun.COM the grub shell::). 823*8044SWilliam.Kucharski@Sun.COM 824*8044SWilliam.Kucharski@Sun.COM 825*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: dhcp, Next: hide, Prev: device, Up: General commands 826*8044SWilliam.Kucharski@Sun.COM 827*8044SWilliam.Kucharski@Sun.COMdhcp 828*8044SWilliam.Kucharski@Sun.COM---- 829*8044SWilliam.Kucharski@Sun.COM 830*8044SWilliam.Kucharski@Sun.COM - Command: dhcp [--with-configfile] 831*8044SWilliam.Kucharski@Sun.COM Initialize a network device via the "DHCP" protocol. Currently, 832*8044SWilliam.Kucharski@Sun.COM this command is just an alias for `bootp', since the two protocols 833*8044SWilliam.Kucharski@Sun.COM are very similar. This command is only available if GRUB is 834*8044SWilliam.Kucharski@Sun.COM compiled with netboot support. See also *Note Network::. 835*8044SWilliam.Kucharski@Sun.COM 836*8044SWilliam.Kucharski@Sun.COM If you specify `--with-configfile' to this command, GRUB will 837*8044SWilliam.Kucharski@Sun.COM fetch and load a configuration file specified by your DHCP server 838*8044SWilliam.Kucharski@Sun.COM with the vendor tag `150'. 839*8044SWilliam.Kucharski@Sun.COM 840*8044SWilliam.Kucharski@Sun.COM 841*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: hide, Next: ifconfig, Prev: dhcp, Up: General commands 842*8044SWilliam.Kucharski@Sun.COM 843*8044SWilliam.Kucharski@Sun.COMhide 844*8044SWilliam.Kucharski@Sun.COM---- 845*8044SWilliam.Kucharski@Sun.COM 846*8044SWilliam.Kucharski@Sun.COM - Command: hide partition 847*8044SWilliam.Kucharski@Sun.COM Hide the partition PARTITION by setting the "hidden" bit in its 848*8044SWilliam.Kucharski@Sun.COM partition type code. This is useful only when booting DOS or 849*8044SWilliam.Kucharski@Sun.COM Windows and multiple primary FAT partitions exist in one disk. See 850*8044SWilliam.Kucharski@Sun.COM also *Note DOS/Windows::. 851*8044SWilliam.Kucharski@Sun.COM 852*8044SWilliam.Kucharski@Sun.COM 853*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: ifconfig, Next: pager, Prev: hide, Up: General commands 854*8044SWilliam.Kucharski@Sun.COM 855*8044SWilliam.Kucharski@Sun.COMifconfig 856*8044SWilliam.Kucharski@Sun.COM-------- 857*8044SWilliam.Kucharski@Sun.COM 858*8044SWilliam.Kucharski@Sun.COM - Command: ifconfig [`--server=server'] [`--gateway=gateway'] 859*8044SWilliam.Kucharski@Sun.COM [`--mask=mask'] [`--address=address'] 860*8044SWilliam.Kucharski@Sun.COM Configure the IP address, the netmask, the gateway, and the server 861*8044SWilliam.Kucharski@Sun.COM address of a network device manually. The values must be in dotted 862*8044SWilliam.Kucharski@Sun.COM decimal format, like `192.168.11.178'. The order of the options is 863*8044SWilliam.Kucharski@Sun.COM not important. This command shows current network configuration, 864*8044SWilliam.Kucharski@Sun.COM if no option is specified. See also *Note Network::. 865*8044SWilliam.Kucharski@Sun.COM 866*8044SWilliam.Kucharski@Sun.COM 867*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: pager, Next: partnew, Prev: ifconfig, Up: General commands 868*8044SWilliam.Kucharski@Sun.COM 869*8044SWilliam.Kucharski@Sun.COMpager 870*8044SWilliam.Kucharski@Sun.COM----- 871*8044SWilliam.Kucharski@Sun.COM 872*8044SWilliam.Kucharski@Sun.COM - Command: pager [flag] 873*8044SWilliam.Kucharski@Sun.COM Toggle or set the state of the internal pager. If FLAG is `on', 874*8044SWilliam.Kucharski@Sun.COM the internal pager is enabled. If FLAG is `off', it is disabled. 875*8044SWilliam.Kucharski@Sun.COM If no argument is given, the state is toggled. 876*8044SWilliam.Kucharski@Sun.COM 877*8044SWilliam.Kucharski@Sun.COM 878*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: partnew, Next: parttype, Prev: pager, Up: General commands 879*8044SWilliam.Kucharski@Sun.COM 880*8044SWilliam.Kucharski@Sun.COMpartnew 881*8044SWilliam.Kucharski@Sun.COM------- 882*8044SWilliam.Kucharski@Sun.COM 883*8044SWilliam.Kucharski@Sun.COM - Command: partnew part type from len 884*8044SWilliam.Kucharski@Sun.COM Create a new primary partition. PART is a partition specification 885*8044SWilliam.Kucharski@Sun.COM in GRUB syntax (*note Naming convention::); TYPE is the partition 886*8044SWilliam.Kucharski@Sun.COM type and must be a number in the range `0-0xff'; FROM is the 887*8044SWilliam.Kucharski@Sun.COM starting address and LEN is the length, both in sector units. 888*8044SWilliam.Kucharski@Sun.COM 889*8044SWilliam.Kucharski@Sun.COM 890*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: parttype, Next: password, Prev: partnew, Up: General commands 891*8044SWilliam.Kucharski@Sun.COM 892*8044SWilliam.Kucharski@Sun.COMparttype 893*8044SWilliam.Kucharski@Sun.COM-------- 894*8044SWilliam.Kucharski@Sun.COM 895*8044SWilliam.Kucharski@Sun.COM - Command: parttype part type 896*8044SWilliam.Kucharski@Sun.COM Change the type of an existing partition. PART is a partition 897*8044SWilliam.Kucharski@Sun.COM specification in GRUB syntax (*note Naming convention::); TYPE is 898*8044SWilliam.Kucharski@Sun.COM the new partition type and must be a number in the range 0-0xff. 899*8044SWilliam.Kucharski@Sun.COM 900*8044SWilliam.Kucharski@Sun.COM 901*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: password, Next: rarp, Prev: parttype, Up: General commands 902*8044SWilliam.Kucharski@Sun.COM 903*8044SWilliam.Kucharski@Sun.COMpassword 904*8044SWilliam.Kucharski@Sun.COM-------- 905*8044SWilliam.Kucharski@Sun.COM 906*8044SWilliam.Kucharski@Sun.COM - Command: password [`--md5'] passwd [new-config-file] 907*8044SWilliam.Kucharski@Sun.COM If used in the first section of a menu file, disable all 908*8044SWilliam.Kucharski@Sun.COM interactive editing control (menu entry editor and command-line) 909*8044SWilliam.Kucharski@Sun.COM and entries protected by the command `lock'. If the password 910*8044SWilliam.Kucharski@Sun.COM PASSWD is entered, it loads the NEW-CONFIG-FILE as a new config 911*8044SWilliam.Kucharski@Sun.COM file and restarts the GRUB Stage 2, if NEW-CONFIG-FILE is 912*8044SWilliam.Kucharski@Sun.COM specified. Otherwise, GRUB will just unlock the privileged 913*8044SWilliam.Kucharski@Sun.COM instructions. You can also use this command in the script 914*8044SWilliam.Kucharski@Sun.COM section, in which case it will ask for the password, before 915*8044SWilliam.Kucharski@Sun.COM continuing. The option `--md5' tells GRUB that PASSWD is 916*8044SWilliam.Kucharski@Sun.COM encrypted with `md5crypt' (*note md5crypt::). 917*8044SWilliam.Kucharski@Sun.COM 918*8044SWilliam.Kucharski@Sun.COM 919*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: rarp, Next: serial, Prev: password, Up: General commands 920*8044SWilliam.Kucharski@Sun.COM 921*8044SWilliam.Kucharski@Sun.COMrarp 922*8044SWilliam.Kucharski@Sun.COM---- 923*8044SWilliam.Kucharski@Sun.COM 924*8044SWilliam.Kucharski@Sun.COM - Command: rarp 925*8044SWilliam.Kucharski@Sun.COM Initialize a network device via the "RARP" protocol. This command 926*8044SWilliam.Kucharski@Sun.COM is only available if GRUB is compiled with netboot support. See 927*8044SWilliam.Kucharski@Sun.COM also *Note Network::. 928*8044SWilliam.Kucharski@Sun.COM 929*8044SWilliam.Kucharski@Sun.COM 930*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: serial, Next: setkey, Prev: rarp, Up: General commands 931*8044SWilliam.Kucharski@Sun.COM 932*8044SWilliam.Kucharski@Sun.COMserial 933*8044SWilliam.Kucharski@Sun.COM------ 934*8044SWilliam.Kucharski@Sun.COM 935*8044SWilliam.Kucharski@Sun.COM - Command: serial [`--unit=unit'] [`--port=port'] [`--speed=speed'] 936*8044SWilliam.Kucharski@Sun.COM [`--word=word'] [`--parity=parity'] [`--stop=stop'] 937*8044SWilliam.Kucharski@Sun.COM [`--device=dev'] 938*8044SWilliam.Kucharski@Sun.COM Initialize a serial device. UNIT is a number in the range 0-3 939*8044SWilliam.Kucharski@Sun.COM specifying which serial port to use; default is 0, which 940*8044SWilliam.Kucharski@Sun.COM corresponds to the port often called COM1. PORT is the I/O port 941*8044SWilliam.Kucharski@Sun.COM where the UART is to be found; if specified it takes precedence 942*8044SWilliam.Kucharski@Sun.COM over UNIT. SPEED is the transmission speed; default is 9600. WORD 943*8044SWilliam.Kucharski@Sun.COM and STOP are the number of data bits and stop bits. Data bits must 944*8044SWilliam.Kucharski@Sun.COM be in the range 5-8 and stop bits must be 1 or 2. Default is 8 data 945*8044SWilliam.Kucharski@Sun.COM bits and one stop bit. PARITY is one of `no', `odd', `even' and 946*8044SWilliam.Kucharski@Sun.COM defaults to `no'. The option `--device' can only be used in the 947*8044SWilliam.Kucharski@Sun.COM grub shell and is used to specify the tty device to be used in the 948*8044SWilliam.Kucharski@Sun.COM host operating system (*note Invoking the grub shell::). 949*8044SWilliam.Kucharski@Sun.COM 950*8044SWilliam.Kucharski@Sun.COM The serial port is not used as a communication channel unless the 951*8044SWilliam.Kucharski@Sun.COM `terminal' command is used (*note terminal::). 952*8044SWilliam.Kucharski@Sun.COM 953*8044SWilliam.Kucharski@Sun.COM This command is only available if GRUB is compiled with serial 954*8044SWilliam.Kucharski@Sun.COM support. See also *Note Serial terminal::. 955*8044SWilliam.Kucharski@Sun.COM 956*8044SWilliam.Kucharski@Sun.COM 957*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: setkey, Next: terminal, Prev: serial, Up: General commands 958*8044SWilliam.Kucharski@Sun.COM 959*8044SWilliam.Kucharski@Sun.COMsetkey 960*8044SWilliam.Kucharski@Sun.COM------ 961*8044SWilliam.Kucharski@Sun.COM 962*8044SWilliam.Kucharski@Sun.COM - Command: setkey [to_key from_key] 963*8044SWilliam.Kucharski@Sun.COM Change the keyboard map. The key FROM_KEY is mapped to the key 964*8044SWilliam.Kucharski@Sun.COM TO_KEY. If no argument is specified, reset key mappings. Note that 965*8044SWilliam.Kucharski@Sun.COM this command _does not_ exchange the keys. If you want to exchange 966*8044SWilliam.Kucharski@Sun.COM the keys, run this command again with the arguments exchanged, 967*8044SWilliam.Kucharski@Sun.COM like this: 968*8044SWilliam.Kucharski@Sun.COM 969*8044SWilliam.Kucharski@Sun.COM grub> setkey capslock control 970*8044SWilliam.Kucharski@Sun.COM grub> setkey control capslock 971*8044SWilliam.Kucharski@Sun.COM 972*8044SWilliam.Kucharski@Sun.COM A key must be an alphabet letter, a digit, or one of these symbols: 973*8044SWilliam.Kucharski@Sun.COM `escape', `exclam', `at', `numbersign', `dollar', `percent', 974*8044SWilliam.Kucharski@Sun.COM `caret', `ampersand', `asterisk', `parenleft', `parenright', 975*8044SWilliam.Kucharski@Sun.COM `minus', `underscore', `equal', `plus', `backspace', `tab', 976*8044SWilliam.Kucharski@Sun.COM `bracketleft', `braceleft', `bracketright', `braceright', `enter', 977*8044SWilliam.Kucharski@Sun.COM `control', `semicolon', `colon', `quote', `doublequote', 978*8044SWilliam.Kucharski@Sun.COM `backquote', `tilde', `shift', `backslash', `bar', `comma', 979*8044SWilliam.Kucharski@Sun.COM `less', `period', `greater', `slash', `question', `alt', `space', 980*8044SWilliam.Kucharski@Sun.COM `capslock', `FX' (`X' is a digit), and `delete'. This table 981*8044SWilliam.Kucharski@Sun.COM describes to which character each of the symbols corresponds: 982*8044SWilliam.Kucharski@Sun.COM 983*8044SWilliam.Kucharski@Sun.COM `exclam' 984*8044SWilliam.Kucharski@Sun.COM `!' 985*8044SWilliam.Kucharski@Sun.COM 986*8044SWilliam.Kucharski@Sun.COM `at' 987*8044SWilliam.Kucharski@Sun.COM `@' 988*8044SWilliam.Kucharski@Sun.COM 989*8044SWilliam.Kucharski@Sun.COM `numbersign' 990*8044SWilliam.Kucharski@Sun.COM `#' 991*8044SWilliam.Kucharski@Sun.COM 992*8044SWilliam.Kucharski@Sun.COM `dollar' 993*8044SWilliam.Kucharski@Sun.COM `$' 994*8044SWilliam.Kucharski@Sun.COM 995*8044SWilliam.Kucharski@Sun.COM `percent' 996*8044SWilliam.Kucharski@Sun.COM `%' 997*8044SWilliam.Kucharski@Sun.COM 998*8044SWilliam.Kucharski@Sun.COM `caret' 999*8044SWilliam.Kucharski@Sun.COM `^' 1000*8044SWilliam.Kucharski@Sun.COM 1001*8044SWilliam.Kucharski@Sun.COM `ampersand' 1002*8044SWilliam.Kucharski@Sun.COM `&' 1003*8044SWilliam.Kucharski@Sun.COM 1004*8044SWilliam.Kucharski@Sun.COM `asterisk' 1005*8044SWilliam.Kucharski@Sun.COM `*' 1006*8044SWilliam.Kucharski@Sun.COM 1007*8044SWilliam.Kucharski@Sun.COM `parenleft' 1008*8044SWilliam.Kucharski@Sun.COM `(' 1009*8044SWilliam.Kucharski@Sun.COM 1010*8044SWilliam.Kucharski@Sun.COM `parenright' 1011*8044SWilliam.Kucharski@Sun.COM `)' 1012*8044SWilliam.Kucharski@Sun.COM 1013*8044SWilliam.Kucharski@Sun.COM `minus' 1014*8044SWilliam.Kucharski@Sun.COM `-' 1015*8044SWilliam.Kucharski@Sun.COM 1016*8044SWilliam.Kucharski@Sun.COM `underscore' 1017*8044SWilliam.Kucharski@Sun.COM `_' 1018*8044SWilliam.Kucharski@Sun.COM 1019*8044SWilliam.Kucharski@Sun.COM `equal' 1020*8044SWilliam.Kucharski@Sun.COM `=' 1021*8044SWilliam.Kucharski@Sun.COM 1022*8044SWilliam.Kucharski@Sun.COM `plus' 1023*8044SWilliam.Kucharski@Sun.COM `+' 1024*8044SWilliam.Kucharski@Sun.COM 1025*8044SWilliam.Kucharski@Sun.COM `bracketleft' 1026*8044SWilliam.Kucharski@Sun.COM `[' 1027*8044SWilliam.Kucharski@Sun.COM 1028*8044SWilliam.Kucharski@Sun.COM `braceleft' 1029*8044SWilliam.Kucharski@Sun.COM `{' 1030*8044SWilliam.Kucharski@Sun.COM 1031*8044SWilliam.Kucharski@Sun.COM `bracketright' 1032*8044SWilliam.Kucharski@Sun.COM `]' 1033*8044SWilliam.Kucharski@Sun.COM 1034*8044SWilliam.Kucharski@Sun.COM `braceright' 1035*8044SWilliam.Kucharski@Sun.COM `}' 1036*8044SWilliam.Kucharski@Sun.COM 1037*8044SWilliam.Kucharski@Sun.COM `semicolon' 1038*8044SWilliam.Kucharski@Sun.COM `;' 1039*8044SWilliam.Kucharski@Sun.COM 1040*8044SWilliam.Kucharski@Sun.COM `colon' 1041*8044SWilliam.Kucharski@Sun.COM `:' 1042*8044SWilliam.Kucharski@Sun.COM 1043*8044SWilliam.Kucharski@Sun.COM `quote' 1044*8044SWilliam.Kucharski@Sun.COM `'' 1045*8044SWilliam.Kucharski@Sun.COM 1046*8044SWilliam.Kucharski@Sun.COM `doublequote' 1047*8044SWilliam.Kucharski@Sun.COM `"' 1048*8044SWilliam.Kucharski@Sun.COM 1049*8044SWilliam.Kucharski@Sun.COM `backquote' 1050*8044SWilliam.Kucharski@Sun.COM ``' 1051*8044SWilliam.Kucharski@Sun.COM 1052*8044SWilliam.Kucharski@Sun.COM `tilde' 1053*8044SWilliam.Kucharski@Sun.COM `~' 1054*8044SWilliam.Kucharski@Sun.COM 1055*8044SWilliam.Kucharski@Sun.COM `backslash' 1056*8044SWilliam.Kucharski@Sun.COM `\' 1057*8044SWilliam.Kucharski@Sun.COM 1058*8044SWilliam.Kucharski@Sun.COM `bar' 1059*8044SWilliam.Kucharski@Sun.COM `|' 1060*8044SWilliam.Kucharski@Sun.COM 1061*8044SWilliam.Kucharski@Sun.COM `comma' 1062*8044SWilliam.Kucharski@Sun.COM `,' 1063*8044SWilliam.Kucharski@Sun.COM 1064*8044SWilliam.Kucharski@Sun.COM `less' 1065*8044SWilliam.Kucharski@Sun.COM `<' 1066*8044SWilliam.Kucharski@Sun.COM 1067*8044SWilliam.Kucharski@Sun.COM `period' 1068*8044SWilliam.Kucharski@Sun.COM `.' 1069*8044SWilliam.Kucharski@Sun.COM 1070*8044SWilliam.Kucharski@Sun.COM `greater' 1071*8044SWilliam.Kucharski@Sun.COM `>' 1072*8044SWilliam.Kucharski@Sun.COM 1073*8044SWilliam.Kucharski@Sun.COM `slash' 1074*8044SWilliam.Kucharski@Sun.COM `/' 1075*8044SWilliam.Kucharski@Sun.COM 1076*8044SWilliam.Kucharski@Sun.COM `question' 1077*8044SWilliam.Kucharski@Sun.COM `?' 1078*8044SWilliam.Kucharski@Sun.COM 1079*8044SWilliam.Kucharski@Sun.COM `space' 1080*8044SWilliam.Kucharski@Sun.COM ` ' 1081*8044SWilliam.Kucharski@Sun.COM 1082*8044SWilliam.Kucharski@Sun.COM 1083*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: terminal, Next: terminfo, Prev: setkey, Up: General commands 1084*8044SWilliam.Kucharski@Sun.COM 1085*8044SWilliam.Kucharski@Sun.COMterminal 1086*8044SWilliam.Kucharski@Sun.COM-------- 1087*8044SWilliam.Kucharski@Sun.COM 1088*8044SWilliam.Kucharski@Sun.COM - Command: terminal [`--dumb'] [`--no-echo'] [`--no-edit'] 1089*8044SWilliam.Kucharski@Sun.COM [`--timeout=secs'] [`--lines=lines'] [`--silent'] [`console'] 1090*8044SWilliam.Kucharski@Sun.COM [`serial'] [`hercules'] 1091*8044SWilliam.Kucharski@Sun.COM Select a terminal for user interaction. The terminal is assumed to 1092*8044SWilliam.Kucharski@Sun.COM be VT100-compatible unless `--dumb' is specified. If both 1093*8044SWilliam.Kucharski@Sun.COM `console' and `serial' are specified, then GRUB will use the one 1094*8044SWilliam.Kucharski@Sun.COM where a key is entered first or the first when the timeout 1095*8044SWilliam.Kucharski@Sun.COM expires. If neither are specified, the current setting is 1096*8044SWilliam.Kucharski@Sun.COM reported. This command is only available if GRUB is compiled with 1097*8044SWilliam.Kucharski@Sun.COM serial support. See also *Note Serial terminal::. 1098*8044SWilliam.Kucharski@Sun.COM 1099*8044SWilliam.Kucharski@Sun.COM This may not make sense for most users, but GRUB supports Hercules 1100*8044SWilliam.Kucharski@Sun.COM console as well. Hercules console is usable like the ordinary 1101*8044SWilliam.Kucharski@Sun.COM console, and the usage is quite similar to that for serial 1102*8044SWilliam.Kucharski@Sun.COM terminals: specify `hercules' as the argument. 1103*8044SWilliam.Kucharski@Sun.COM 1104*8044SWilliam.Kucharski@Sun.COM The option `--lines' defines the number of lines in your terminal, 1105*8044SWilliam.Kucharski@Sun.COM and it is used for the internal pager function. If you don't 1106*8044SWilliam.Kucharski@Sun.COM specify this option, the number is assumed as 24. 1107*8044SWilliam.Kucharski@Sun.COM 1108*8044SWilliam.Kucharski@Sun.COM The option `--silent' suppresses the message to prompt you to hit 1109*8044SWilliam.Kucharski@Sun.COM any key. This might be useful if your system has no terminal 1110*8044SWilliam.Kucharski@Sun.COM device. 1111*8044SWilliam.Kucharski@Sun.COM 1112*8044SWilliam.Kucharski@Sun.COM The option `--no-echo' has GRUB not to echo back input characters. 1113*8044SWilliam.Kucharski@Sun.COM This implies the option `--no-edit'. 1114*8044SWilliam.Kucharski@Sun.COM 1115*8044SWilliam.Kucharski@Sun.COM The option `--no-edit' disables the BASH-like editing feature. 1116*8044SWilliam.Kucharski@Sun.COM 1117*8044SWilliam.Kucharski@Sun.COM 1118*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: terminfo, Next: tftpserver, Prev: terminal, Up: General commands 1119*8044SWilliam.Kucharski@Sun.COM 1120*8044SWilliam.Kucharski@Sun.COMterminfo 1121*8044SWilliam.Kucharski@Sun.COM-------- 1122*8044SWilliam.Kucharski@Sun.COM 1123*8044SWilliam.Kucharski@Sun.COM - Command: terminfo `--name=name' `--cursor-address=seq' 1124*8044SWilliam.Kucharski@Sun.COM [`--clear-screen=seq'] [`--enter-standout-mode=seq'] 1125*8044SWilliam.Kucharski@Sun.COM [`--exit-standout-mode=seq'] 1126*8044SWilliam.Kucharski@Sun.COM Define the capabilities of your terminal. Use this command to 1127*8044SWilliam.Kucharski@Sun.COM define escape sequences, if it is not vt100-compatible. You may 1128*8044SWilliam.Kucharski@Sun.COM use `\e' for <ESC> and `^X' for a control character. 1129*8044SWilliam.Kucharski@Sun.COM 1130*8044SWilliam.Kucharski@Sun.COM You can use the utility `grub-terminfo' to generate appropriate 1131*8044SWilliam.Kucharski@Sun.COM arguments to this command. *Note Invoking grub-terminfo::. 1132*8044SWilliam.Kucharski@Sun.COM 1133*8044SWilliam.Kucharski@Sun.COM If no option is specified, the current settings are printed. 1134*8044SWilliam.Kucharski@Sun.COM 1135*8044SWilliam.Kucharski@Sun.COM 1136*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: tftpserver, Next: unhide, Prev: terminfo, Up: General commands 1137*8044SWilliam.Kucharski@Sun.COM 1138*8044SWilliam.Kucharski@Sun.COMtftpserver 1139*8044SWilliam.Kucharski@Sun.COM---------- 1140*8044SWilliam.Kucharski@Sun.COM 1141*8044SWilliam.Kucharski@Sun.COM - Command: tftpserver ipaddr 1142*8044SWilliam.Kucharski@Sun.COM *Caution:* This command exists only for backward compatibility. 1143*8044SWilliam.Kucharski@Sun.COM Use `ifconfig' (*note ifconfig::) instead. 1144*8044SWilliam.Kucharski@Sun.COM 1145*8044SWilliam.Kucharski@Sun.COM Override a TFTP server address returned by a BOOTP/DHCP/RARP 1146*8044SWilliam.Kucharski@Sun.COM server. The argument IPADDR must be in dotted decimal format, like 1147*8044SWilliam.Kucharski@Sun.COM `192.168.0.15'. This command is only available if GRUB is compiled 1148*8044SWilliam.Kucharski@Sun.COM with netboot support. See also *Note Network::. 1149*8044SWilliam.Kucharski@Sun.COM 1150*8044SWilliam.Kucharski@Sun.COM 1151*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: unhide, Prev: tftpserver, Up: General commands 1152*8044SWilliam.Kucharski@Sun.COM 1153*8044SWilliam.Kucharski@Sun.COMunhide 1154*8044SWilliam.Kucharski@Sun.COM------ 1155*8044SWilliam.Kucharski@Sun.COM 1156*8044SWilliam.Kucharski@Sun.COM - Command: unhide partition 1157*8044SWilliam.Kucharski@Sun.COM Unhide the partition PARTITION by clearing the "hidden" bit in its 1158*8044SWilliam.Kucharski@Sun.COM partition type code. This is useful only when booting DOS or 1159*8044SWilliam.Kucharski@Sun.COM Windows and multiple primary partitions exist on one disk. See also 1160*8044SWilliam.Kucharski@Sun.COM *Note DOS/Windows::. 1161*8044SWilliam.Kucharski@Sun.COM 1162*8044SWilliam.Kucharski@Sun.COM 1163*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: Command-line and menu entry commands, Prev: General commands, Up: Commands 1164*8044SWilliam.Kucharski@Sun.COM 1165*8044SWilliam.Kucharski@Sun.COMThe list of command-line and menu entry commands 1166*8044SWilliam.Kucharski@Sun.COM================================================ 1167*8044SWilliam.Kucharski@Sun.COM 1168*8044SWilliam.Kucharski@Sun.COM These commands are usable in the command-line and in menu entries. 1169*8044SWilliam.Kucharski@Sun.COMIf you forget a command, you can run the command `help' (*note help::). 1170*8044SWilliam.Kucharski@Sun.COM 1171*8044SWilliam.Kucharski@Sun.COM* Menu: 1172*8044SWilliam.Kucharski@Sun.COM 1173*8044SWilliam.Kucharski@Sun.COM* blocklist:: Get the block list notation of a file 1174*8044SWilliam.Kucharski@Sun.COM* boot:: Start up your operating system 1175*8044SWilliam.Kucharski@Sun.COM* cat:: Show the contents of a file 1176*8044SWilliam.Kucharski@Sun.COM* chainloader:: Chain-load another boot loader 1177*8044SWilliam.Kucharski@Sun.COM* cmp:: Compare two files 1178*8044SWilliam.Kucharski@Sun.COM* configfile:: Load a configuration file 1179*8044SWilliam.Kucharski@Sun.COM* debug:: Toggle the debug flag 1180*8044SWilliam.Kucharski@Sun.COM* displayapm:: Display APM information 1181*8044SWilliam.Kucharski@Sun.COM* displaymem:: Display memory configuration 1182*8044SWilliam.Kucharski@Sun.COM* embed:: Embed Stage 1.5 1183*8044SWilliam.Kucharski@Sun.COM* find:: Find a file 1184*8044SWilliam.Kucharski@Sun.COM* fstest:: Test a filesystem 1185*8044SWilliam.Kucharski@Sun.COM* geometry:: Manipulate the geometry of a drive 1186*8044SWilliam.Kucharski@Sun.COM* halt:: Shut down your computer 1187*8044SWilliam.Kucharski@Sun.COM* help:: Show help messages 1188*8044SWilliam.Kucharski@Sun.COM* impsprobe:: Probe SMP 1189*8044SWilliam.Kucharski@Sun.COM* initrd:: Load an initrd 1190*8044SWilliam.Kucharski@Sun.COM* install:: Install GRUB 1191*8044SWilliam.Kucharski@Sun.COM* ioprobe:: Probe I/O ports used for a drive 1192*8044SWilliam.Kucharski@Sun.COM* kernel:: Load a kernel 1193*8044SWilliam.Kucharski@Sun.COM* lock:: Lock a menu entry 1194*8044SWilliam.Kucharski@Sun.COM* makeactive:: Make a partition active 1195*8044SWilliam.Kucharski@Sun.COM* map:: Map a drive to another 1196*8044SWilliam.Kucharski@Sun.COM* md5crypt:: Encrypt a password in MD5 format 1197*8044SWilliam.Kucharski@Sun.COM* module:: Load a module 1198*8044SWilliam.Kucharski@Sun.COM* modulenounzip:: Load a module without decompression 1199*8044SWilliam.Kucharski@Sun.COM* pause:: Wait for a key press 1200*8044SWilliam.Kucharski@Sun.COM* quit:: Exit from the grub shell 1201*8044SWilliam.Kucharski@Sun.COM* reboot:: Reboot your computer 1202*8044SWilliam.Kucharski@Sun.COM* read:: Read data from memory 1203*8044SWilliam.Kucharski@Sun.COM* root:: Set GRUB's root device 1204*8044SWilliam.Kucharski@Sun.COM* rootnoverify:: Set GRUB's root device without mounting 1205*8044SWilliam.Kucharski@Sun.COM* savedefault:: Save current entry as the default entry 1206*8044SWilliam.Kucharski@Sun.COM* setup:: Set up GRUB's installation automatically 1207*8044SWilliam.Kucharski@Sun.COM* testload:: Load a file for testing a filesystem 1208*8044SWilliam.Kucharski@Sun.COM* testvbe:: Test VESA BIOS EXTENSION 1209*8044SWilliam.Kucharski@Sun.COM* uppermem:: Set the upper memory size 1210*8044SWilliam.Kucharski@Sun.COM* vbeprobe:: Probe VESA BIOS EXTENSION 1211*8044SWilliam.Kucharski@Sun.COM 1212*8044SWilliam.Kucharski@Sun.COM 1213*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: blocklist, Next: boot, Up: Command-line and menu entry commands 1214*8044SWilliam.Kucharski@Sun.COM 1215*8044SWilliam.Kucharski@Sun.COMblocklist 1216*8044SWilliam.Kucharski@Sun.COM--------- 1217*8044SWilliam.Kucharski@Sun.COM 1218*8044SWilliam.Kucharski@Sun.COM - Command: blocklist file 1219*8044SWilliam.Kucharski@Sun.COM Print the block list notation of the file FILE. *Note Block list 1220*8044SWilliam.Kucharski@Sun.COM syntax::. 1221*8044SWilliam.Kucharski@Sun.COM 1222*8044SWilliam.Kucharski@Sun.COM 1223*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: boot, Next: cat, Prev: blocklist, Up: Command-line and menu entry commands 1224*8044SWilliam.Kucharski@Sun.COM 1225*8044SWilliam.Kucharski@Sun.COMboot 1226*8044SWilliam.Kucharski@Sun.COM---- 1227*8044SWilliam.Kucharski@Sun.COM 1228*8044SWilliam.Kucharski@Sun.COM - Command: boot 1229*8044SWilliam.Kucharski@Sun.COM Boot the OS or chain-loader which has been loaded. Only necessary 1230*8044SWilliam.Kucharski@Sun.COM if running the fully interactive command-line (it is implicit at 1231*8044SWilliam.Kucharski@Sun.COM the end of a menu entry). 1232*8044SWilliam.Kucharski@Sun.COM 1233*8044SWilliam.Kucharski@Sun.COM 1234*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: cat, Next: chainloader, Prev: boot, Up: Command-line and menu entry commands 1235*8044SWilliam.Kucharski@Sun.COM 1236*8044SWilliam.Kucharski@Sun.COMcat 1237*8044SWilliam.Kucharski@Sun.COM--- 1238*8044SWilliam.Kucharski@Sun.COM 1239*8044SWilliam.Kucharski@Sun.COM - Command: cat file 1240*8044SWilliam.Kucharski@Sun.COM Display the contents of the file FILE. This command may be useful 1241*8044SWilliam.Kucharski@Sun.COM to remind you of your OS's root partition: 1242*8044SWilliam.Kucharski@Sun.COM 1243*8044SWilliam.Kucharski@Sun.COM grub> cat /etc/fstab 1244*8044SWilliam.Kucharski@Sun.COM 1245*8044SWilliam.Kucharski@Sun.COM 1246*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: chainloader, Next: cmp, Prev: cat, Up: Command-line and menu entry commands 1247*8044SWilliam.Kucharski@Sun.COM 1248*8044SWilliam.Kucharski@Sun.COMchainloader 1249*8044SWilliam.Kucharski@Sun.COM----------- 1250*8044SWilliam.Kucharski@Sun.COM 1251*8044SWilliam.Kucharski@Sun.COM - Command: chainloader [`--force'] file 1252*8044SWilliam.Kucharski@Sun.COM Load FILE as a chain-loader. Like any other file loaded by the 1253*8044SWilliam.Kucharski@Sun.COM filesystem code, it can use the blocklist notation to grab the 1254*8044SWilliam.Kucharski@Sun.COM first sector of the current partition with `+1'. If you specify the 1255*8044SWilliam.Kucharski@Sun.COM option `--force', then load FILE forcibly, whether it has a 1256*8044SWilliam.Kucharski@Sun.COM correct signature or not. This is required when you want to load a 1257*8044SWilliam.Kucharski@Sun.COM defective boot loader, such as SCO UnixWare 7.1 (*note SCO 1258*8044SWilliam.Kucharski@Sun.COM UnixWare::). 1259*8044SWilliam.Kucharski@Sun.COM 1260*8044SWilliam.Kucharski@Sun.COM 1261*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: cmp, Next: configfile, Prev: chainloader, Up: Command-line and menu entry commands 1262*8044SWilliam.Kucharski@Sun.COM 1263*8044SWilliam.Kucharski@Sun.COMcmp 1264*8044SWilliam.Kucharski@Sun.COM--- 1265*8044SWilliam.Kucharski@Sun.COM 1266*8044SWilliam.Kucharski@Sun.COM - Command: cmp file1 file2 1267*8044SWilliam.Kucharski@Sun.COM Compare the file FILE1 with the file FILE2. If they differ in 1268*8044SWilliam.Kucharski@Sun.COM size, print the sizes like this: 1269*8044SWilliam.Kucharski@Sun.COM 1270*8044SWilliam.Kucharski@Sun.COM Differ in size: 0x1234 [foo], 0x4321 [bar] 1271*8044SWilliam.Kucharski@Sun.COM 1272*8044SWilliam.Kucharski@Sun.COM If the sizes are equal but the bytes at an offset differ, then 1273*8044SWilliam.Kucharski@Sun.COM print the bytes like this: 1274*8044SWilliam.Kucharski@Sun.COM 1275*8044SWilliam.Kucharski@Sun.COM Differ at the offset 777: 0xbe [foo], 0xef [bar] 1276*8044SWilliam.Kucharski@Sun.COM 1277*8044SWilliam.Kucharski@Sun.COM If they are completely identical, nothing will be printed. 1278*8044SWilliam.Kucharski@Sun.COM 1279*8044SWilliam.Kucharski@Sun.COM 1280*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: configfile, Next: debug, Prev: cmp, Up: Command-line and menu entry commands 1281*8044SWilliam.Kucharski@Sun.COM 1282*8044SWilliam.Kucharski@Sun.COMconfigfile 1283*8044SWilliam.Kucharski@Sun.COM---------- 1284*8044SWilliam.Kucharski@Sun.COM 1285*8044SWilliam.Kucharski@Sun.COM - Command: configfile file 1286*8044SWilliam.Kucharski@Sun.COM Load FILE as a configuration file. 1287*8044SWilliam.Kucharski@Sun.COM 1288*8044SWilliam.Kucharski@Sun.COM 1289*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: debug, Next: displayapm, Prev: configfile, Up: Command-line and menu entry commands 1290*8044SWilliam.Kucharski@Sun.COM 1291*8044SWilliam.Kucharski@Sun.COMdebug 1292*8044SWilliam.Kucharski@Sun.COM----- 1293*8044SWilliam.Kucharski@Sun.COM 1294*8044SWilliam.Kucharski@Sun.COM - Command: debug 1295*8044SWilliam.Kucharski@Sun.COM Toggle debug mode (by default it is off). When debug mode is on, 1296*8044SWilliam.Kucharski@Sun.COM some extra messages are printed to show disk activity. This global 1297*8044SWilliam.Kucharski@Sun.COM debug flag is mainly useful for GRUB developers when testing new 1298*8044SWilliam.Kucharski@Sun.COM code. 1299*8044SWilliam.Kucharski@Sun.COM 1300*8044SWilliam.Kucharski@Sun.COM 1301*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: displayapm, Next: displaymem, Prev: debug, Up: Command-line and menu entry commands 1302*8044SWilliam.Kucharski@Sun.COM 1303*8044SWilliam.Kucharski@Sun.COMdisplayapm 1304*8044SWilliam.Kucharski@Sun.COM---------- 1305*8044SWilliam.Kucharski@Sun.COM 1306*8044SWilliam.Kucharski@Sun.COM - Command: displayapm 1307*8044SWilliam.Kucharski@Sun.COM Display APM BIOS information. 1308*8044SWilliam.Kucharski@Sun.COM 1309*8044SWilliam.Kucharski@Sun.COM 1310*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: displaymem, Next: embed, Prev: displayapm, Up: Command-line and menu entry commands 1311*8044SWilliam.Kucharski@Sun.COM 1312*8044SWilliam.Kucharski@Sun.COMdisplaymem 1313*8044SWilliam.Kucharski@Sun.COM---------- 1314*8044SWilliam.Kucharski@Sun.COM 1315*8044SWilliam.Kucharski@Sun.COM - Command: displaymem 1316*8044SWilliam.Kucharski@Sun.COM Display what GRUB thinks the system address space map of the 1317*8044SWilliam.Kucharski@Sun.COM machine is, including all regions of physical RAM installed. GRUB's 1318*8044SWilliam.Kucharski@Sun.COM "upper/lower memory" display uses the standard BIOS interface for 1319*8044SWilliam.Kucharski@Sun.COM the available memory in the first megabyte, or "lower memory", and 1320*8044SWilliam.Kucharski@Sun.COM a synthesized number from various BIOS interfaces of the memory 1321*8044SWilliam.Kucharski@Sun.COM starting at 1MB and going up to the first chipset hole for "upper 1322*8044SWilliam.Kucharski@Sun.COM memory" (the standard PC "upper memory" interface is limited to 1323*8044SWilliam.Kucharski@Sun.COM reporting a maximum of 64MB). 1324*8044SWilliam.Kucharski@Sun.COM 1325*8044SWilliam.Kucharski@Sun.COM 1326*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: embed, Next: find, Prev: displaymem, Up: Command-line and menu entry commands 1327*8044SWilliam.Kucharski@Sun.COM 1328*8044SWilliam.Kucharski@Sun.COMembed 1329*8044SWilliam.Kucharski@Sun.COM----- 1330*8044SWilliam.Kucharski@Sun.COM 1331*8044SWilliam.Kucharski@Sun.COM - Command: embed stage1_5 device 1332*8044SWilliam.Kucharski@Sun.COM Embed the Stage 1.5 STAGE1_5 in the sectors after the MBR if 1333*8044SWilliam.Kucharski@Sun.COM DEVICE is a drive, or in the "boot loader" area if DEVICE is a FFS 1334*8044SWilliam.Kucharski@Sun.COM partition or a ReiserFS partition.(1) (*note embed-Footnote-1::) 1335*8044SWilliam.Kucharski@Sun.COM Print the number of sectors which STAGE1_5 occupies, if successful. 1336*8044SWilliam.Kucharski@Sun.COM 1337*8044SWilliam.Kucharski@Sun.COM Usually, you don't need to run this command directly. *Note 1338*8044SWilliam.Kucharski@Sun.COM setup::. 1339*8044SWilliam.Kucharski@Sun.COM 1340*8044SWilliam.Kucharski@Sun.COM 1341*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: embed-Footnotes, Up: embed 1342*8044SWilliam.Kucharski@Sun.COM 1343*8044SWilliam.Kucharski@Sun.COM (1) The latter feature has not been implemented yet. 1344*8044SWilliam.Kucharski@Sun.COM 1345*8044SWilliam.Kucharski@Sun.COM 1346*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: find, Next: fstest, Prev: embed, Up: Command-line and menu entry commands 1347*8044SWilliam.Kucharski@Sun.COM 1348*8044SWilliam.Kucharski@Sun.COMfind 1349*8044SWilliam.Kucharski@Sun.COM---- 1350*8044SWilliam.Kucharski@Sun.COM 1351*8044SWilliam.Kucharski@Sun.COM - Command: find filename 1352*8044SWilliam.Kucharski@Sun.COM Search for the file name FILENAME in all mountable partitions and 1353*8044SWilliam.Kucharski@Sun.COM print the list of the devices which contain the file. The file 1354*8044SWilliam.Kucharski@Sun.COM name FILENAME should be an absolute file name like 1355*8044SWilliam.Kucharski@Sun.COM `/boot/grub/stage1'. 1356*8044SWilliam.Kucharski@Sun.COM 1357*8044SWilliam.Kucharski@Sun.COM 1358*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: fstest, Next: geometry, Prev: find, Up: Command-line and menu entry commands 1359*8044SWilliam.Kucharski@Sun.COM 1360*8044SWilliam.Kucharski@Sun.COMfstest 1361*8044SWilliam.Kucharski@Sun.COM------ 1362*8044SWilliam.Kucharski@Sun.COM 1363*8044SWilliam.Kucharski@Sun.COM - Command: fstest 1364*8044SWilliam.Kucharski@Sun.COM Toggle filesystem test mode. Filesystem test mode, when turned 1365*8044SWilliam.Kucharski@Sun.COM on, prints out data corresponding to all the device reads and what 1366*8044SWilliam.Kucharski@Sun.COM values are being sent to the low-level routines. The format is 1367*8044SWilliam.Kucharski@Sun.COM `<PARTITION-OFFSET-SECTOR, BYTE-OFFSET, BYTE-LENGTH>' for 1368*8044SWilliam.Kucharski@Sun.COM high-level reads inside a partition, and `[DISK-OFFSET-SECTOR]' 1369*8044SWilliam.Kucharski@Sun.COM for low-level sector requests from the disk. Filesystem test mode 1370*8044SWilliam.Kucharski@Sun.COM is turned off by any use of the `install' (*note install::) or 1371*8044SWilliam.Kucharski@Sun.COM `testload' (*note testload::) commands. 1372*8044SWilliam.Kucharski@Sun.COM 1373*8044SWilliam.Kucharski@Sun.COM 1374*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: geometry, Next: halt, Prev: fstest, Up: Command-line and menu entry commands 1375*8044SWilliam.Kucharski@Sun.COM 1376*8044SWilliam.Kucharski@Sun.COMgeometry 1377*8044SWilliam.Kucharski@Sun.COM-------- 1378*8044SWilliam.Kucharski@Sun.COM 1379*8044SWilliam.Kucharski@Sun.COM - Command: geometry drive [cylinder head sector [total_sector]] 1380*8044SWilliam.Kucharski@Sun.COM Print the information for the drive DRIVE. In the grub shell, you 1381*8044SWilliam.Kucharski@Sun.COM can set the geometry of the drive arbitrarily. The number of 1382*8044SWilliam.Kucharski@Sun.COM cylinders, the number of heads, the number of sectors and the 1383*8044SWilliam.Kucharski@Sun.COM number of total sectors are set to CYLINDER, HEAD, SECTOR and 1384*8044SWilliam.Kucharski@Sun.COM TOTAL_SECTOR, respectively. If you omit TOTAL_SECTOR, then it will 1385*8044SWilliam.Kucharski@Sun.COM be calculated based on the C/H/S values automatically. 1386*8044SWilliam.Kucharski@Sun.COM 1387*8044SWilliam.Kucharski@Sun.COM 1388*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: halt, Next: help, Prev: geometry, Up: Command-line and menu entry commands 1389*8044SWilliam.Kucharski@Sun.COM 1390*8044SWilliam.Kucharski@Sun.COMhalt 1391*8044SWilliam.Kucharski@Sun.COM---- 1392*8044SWilliam.Kucharski@Sun.COM 1393*8044SWilliam.Kucharski@Sun.COM - Command: halt `--no-apm' 1394*8044SWilliam.Kucharski@Sun.COM The command halts the computer. If the `--no-apm' option is 1395*8044SWilliam.Kucharski@Sun.COM specified, no APM BIOS call is performed. Otherwise, the computer 1396*8044SWilliam.Kucharski@Sun.COM is shut down using APM. 1397*8044SWilliam.Kucharski@Sun.COM 1398*8044SWilliam.Kucharski@Sun.COM 1399*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: help, Next: impsprobe, Prev: halt, Up: Command-line and menu entry commands 1400*8044SWilliam.Kucharski@Sun.COM 1401*8044SWilliam.Kucharski@Sun.COMhelp 1402*8044SWilliam.Kucharski@Sun.COM---- 1403*8044SWilliam.Kucharski@Sun.COM 1404*8044SWilliam.Kucharski@Sun.COM - Command: help `--all' [pattern ...] 1405*8044SWilliam.Kucharski@Sun.COM Display helpful information about builtin commands. If you do not 1406*8044SWilliam.Kucharski@Sun.COM specify PATTERN, this command shows short descriptions of most of 1407*8044SWilliam.Kucharski@Sun.COM available commands. If you specify the option `--all' to this 1408*8044SWilliam.Kucharski@Sun.COM command, short descriptions of rarely used commands (such as *Note 1409*8044SWilliam.Kucharski@Sun.COM testload::) are displayed as well. 1410*8044SWilliam.Kucharski@Sun.COM 1411*8044SWilliam.Kucharski@Sun.COM If you specify any PATTERNS, it displays longer information about 1412*8044SWilliam.Kucharski@Sun.COM each of the commands which match those PATTERNS. 1413*8044SWilliam.Kucharski@Sun.COM 1414*8044SWilliam.Kucharski@Sun.COM 1415*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: impsprobe, Next: initrd, Prev: help, Up: Command-line and menu entry commands 1416*8044SWilliam.Kucharski@Sun.COM 1417*8044SWilliam.Kucharski@Sun.COMimpsprobe 1418*8044SWilliam.Kucharski@Sun.COM--------- 1419*8044SWilliam.Kucharski@Sun.COM 1420*8044SWilliam.Kucharski@Sun.COM - Command: impsprobe 1421*8044SWilliam.Kucharski@Sun.COM Probe the Intel Multiprocessor Specification 1.1 or 1.4 1422*8044SWilliam.Kucharski@Sun.COM configuration table and boot the various CPUs which are found into 1423*8044SWilliam.Kucharski@Sun.COM a tight loop. This command can be used only in the Stage 2, but 1424*8044SWilliam.Kucharski@Sun.COM not in the grub shell. 1425*8044SWilliam.Kucharski@Sun.COM 1426*8044SWilliam.Kucharski@Sun.COM 1427*8044SWilliam.Kucharski@Sun.COMFile: grub.info, Node: initrd, Next: install, Prev: impsprobe, Up: Command-line and menu entry commands 1428*8044SWilliam.Kucharski@Sun.COM 1429*8044SWilliam.Kucharski@Sun.COMinitrd 1430*8044SWilliam.Kucharski@Sun.COM------ 1431*8044SWilliam.Kucharski@Sun.COM 1432*8044SWilliam.Kucharski@Sun.COM - Command: initrd file ... 1433*8044SWilliam.Kucharski@Sun.COM Load an initial ramdisk for a Linux format boot image and set the 1434*8044SWilliam.Kucharski@Sun.COM appropriate parameters in the Linux setup area in memory. See also 1435*8044SWilliam.Kucharski@Sun.COM *Note GNU/Linux::. 1436*8044SWilliam.Kucharski@Sun.COM 1437