grub: Installing GRUB using grub-install
4.1 Installing GRUB using grub-install
======================================
For information on where GRUB should be installed on PC BIOS platforms,
⇒BIOS installation.
In order to install GRUB under a UNIX-like OS (such as GNU), invoke
the program 'grub-install' (⇒Invoking grub-install) as the
superuser ("root").
The usage is basically very simple. You only need to specify one
argument to the program, namely, where to install the boot loader. The
argument has to be either a device file (like '/dev/hda'). For example,
under Linux the following will install GRUB into the MBR of the first
IDE disk:
# grub-install /dev/sda
Likewise, under GNU/Hurd, this has the same effect:
# grub-install /dev/hd0
But all the above examples assume that GRUB should put images under
the '/boot' directory. If you want GRUB to put images under a directory
other than '/boot', you need to specify the option '--boot-directory'.
The typical usage is that you create a GRUB boot floppy with a
filesystem. Here is an example:
# mke2fs /dev/fd0
# mount -t ext2 /dev/fd0 /mnt
# mkdir /mnt/boot
# grub-install --boot-directory=/mnt/boot /dev/fd0
# umount /mnt
Some BIOSes have a bug of exposing the first partition of a USB drive
as a floppy instead of exposing the USB drive as a hard disk (they call
it "USB-FDD" boot). In such cases, you need to install like this:
# losetup /dev/loop0 /dev/sdb1
# mount /dev/loop0 /mnt/usb
# grub-install --boot-directory=/mnt/usb/bugbios --force --allow-floppy /dev/loop0
This install doesn't conflict with standard install as long as they
are in separate directories.
On EFI systems for fixed disk install you have to mount EFI System
Partition. If you mount it at '/boot/efi' then you don't need any
special arguments:
# grub-install
Otherwise you need to specify where your EFI System partition is
mounted:
# grub-install --efi-directory=/mnt/efi
For removable installs you have to use '--removable' and specify both
'--boot-directory' and '--efi-directory':
# grub-install --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot --removable