GRUB


Configuration

The GRUB configuration file is /boot/grub/menu.lst. In some places you will see references to /etc/grub.conf, but that file does not exists in debian (note: at least not in my machine)

It must contain at least these lines:

 default=0
 timeout=30
 # To boot the default kernel
 title Debian Linux
 root (hd0,1)
 kernel /boot/vmlinuz root=LABEL=/
 initrd /boot/initrd.img

Quick command overview

Please note that the paths are relative to the partion. If you have a /boot partition the you should write:

 kernel ''vmlinuz root=LABEL=''
 initrd /initrd.img

GRUB device and partition naming

Grub uses numbers to name hard disk and partitions begining with 0. This is a bit confusing for the linux user used to call hda1 the first disk - first partition. A simple table illustrates it:

linux

grub

First IDE bus, master

hda

hd0

First IDE bus, master, first primary partition

hda1

hd0,0

First IDE bus, slave, first extended partition

hdb5

hd1,4

If you do not know where /boot lives just exec grub and try to find a file, example:

 grub> kernel (hd0,1)/bo

And press tab, if boot is found in that partition the line will be completed. This works also on the boot menu. For example, I have windoze in hda1 a /boot partition on hda2:

 grub> kernel (hd0,0)/vm (<- I press TAB here)
 Error 15: File not found

 grub> kernel (hd0,1)/vm (<- I press TAB again, then completes to vmlinuz)
  Possible files are: vmlinuz-2.6.10-1-k7 vmlinuz.old vmlinuz-2.6.11.old vmlinuz vmlinuz-2.6.11

So I see /boot is in hd0,1