[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This chapter documents the grub shell grub
. Note that the grub
shell is an emulator; it doesn't run under the native environment, so it
sometimes does something wrong. Therefore, you shouldn't trust it too
much. If there is anything wrong with it, don't hesitate to try the
native GRUB environment, especially when it guesses a wrong map between
BIOS drives and OS devices.
15.1 Introduction into the grub shell | How to use the grub shell | |
15.2 How to install GRUB via grub | ||
15.3 The map between BIOS drives and OS devices |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You can use the command grub
for installing GRUB under your
operating systems and for a testbed when you add a new feature into GRUB
or when fixing a bug. grub
is almost the same as the Stage 2,
and, in fact, it shares the source code with the Stage 2 and you can use
the same commands (see section 13. The list of available commands) in grub
. It is emulated by
replacing BIOS calls with UNIX system calls and libc functions.
The command grub
accepts the following options:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
grub
The installation procedure is the same as under the native Stage
2. See section 3. Installation, for more information. The command
grub
-specific information is described here.
What you should be careful about is buffer cache. grub
makes use of raw devices instead of filesystems that your operating
systems serve, so there exists a potential problem that some cache
inconsistency may corrupt your filesystems. What we recommend is:
grub
.
grub
is
running.
In addition, enter the command quit
when you finish the
installation. That is very important because quit
makes
the buffer cache consistent. Do not push C-c.
If you want to install GRUB non-interactively, specify `--batch' option in the command-line. This is a simple example:
#!/bin/sh # Use /usr/sbin/grub if you are on an older system. /sbin/grub --batch <<EOT 1>/dev/null 2>/dev/null root (hd0,0) setup (hd0) quit EOT |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
When you specify the option `--device-map' (see section 15.1 Introduction into the grub shell), the grub shell creates the device map file automatically unless it already exists. The file name `/boot/grub/device.map' is preferred.
If the device map file exists, the grub shell reads it to map BIOS drives to OS devices. This file consists of lines like this:
device file |
device is a drive specified in the GRUB syntax (see section 11.1 How to specify devices), and file is an OS file, which is normally a device file.
The reason why the grub shell gives you the device map file is that it cannot guess the map between BIOS drives and OS devices correctly in some environments. For example, if you exchange the boot sequence between IDE and SCSI in your BIOS, it gets the order wrong.
Thus, edit the file if the grub shell makes a mistake. You can put any comments in the file if needed, as the grub shell assumes that a line is just a comment if the first character is `#'.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |