GrubHowto

Differences between revisions 5 and 13 (spanning 8 versions)
Revision 5 as of 2006-01-12 04:35:31
Size: 4035
Editor: 63-230-106-150
Comment: splash image
Revision 13 as of 2008-08-06 16:19:46
Size: 53
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
'''Other Languages: ComoGrub (Spanish)'''
== What Is GRUB ==

GRUB is a bootloader, it is the first thing that loads when the computer starts. It allows you to have different operating systems, and versions of them, on the same hard drive. For example you may have Windows and Linux on a computer, GRUB would load before either of these and give you a choice. You can also create a boot floppy with GRUB to use in case of emergency.

== Increasing the GRUB timeout ==

## To people editing this page: please keep this section at the top.

If you need to get into the grub menu you need to press ESC just after it starts. By default you have to press ESC very quickly. To increase this time edit /boot/grub/menu.lst, increasing the seconds in the TIMEOUT part. Alternatively you could have the menu always come up at boot time. To do this, comment out 'hiddenmenu' by inserting a # at the beginning of the line. Once you have changed menu.lst you must run:
{{{
$ sudo update-grub
}}}

Note that if the Ubuntu installer detected other operating systems on the disk during the installation, then the grub menu will be displayed by default and the timeout will be increased, so the step above will be unnecessary.

== Setting kernel parameters ==

In `/boot/grub/menu.lst`, you will find a line like this: {{{
# kopt=root=/dev/sda1 ro
}}}

It is a comment, but do not remove the '# ' at the beginning. THIS IS IMPORTANT.

If you require additional kernel parameters (for example, if someone has asked you to test booting with certain parameters in order to troubleshoot a problem), add them to the end of the line, for example to add `noapic`: {{{
# kopt=root=/dev/sda1 ro noapic
}}}

After editing the file, run: {{{
$ sudo update-grub
}}}

at the command line.

== If /boot is on another partition ==

If {{{/boot}}} is mounted on another partition and you use {{{update-grub}}}, then you may run into problems. One fix is to use {{{grub-install}}}, which is a distribution-agnostic way to install {{{grub}}}.
{{{
sudo grub-install --root-directory=/boot /dev/sda
}}}
This is probably less desirable because {{{update-grub}}} is very good at setting things up properly, therefore it should be used instead.

Another fix is to create a symlink in {{{/boot}}} to itself:
{{{
cd /boot
sudo ln -s . boot
}}}
The reasoning behind this is when grub boots, it looks at whatever partition it is installed on. {{{update-grub}}} (and {{{grub-install}}}) assumes that everything is in {{{/boot}}}. When {{{/boot}}} is on the same partition as {{{/}}}, then all is OK, as {{{menu.lst}}} will be in {{{/boot/grub}}}. If {{{/boot}}} is on a separate partition, then grub sees {{{/boot}}} as {{{/}}} (hence the '--root-directory' above). By adding a symlink, when it looks for {{{/boot/grub}}}, it will be there. By creating the symlink, you have put a loop in the file system, which may cause problems when using certain options of {{{cp}}}, {{{mv}}}, etc.

== Bootsplash ==

Grub allows an image to be displayed behind the menu. You can obtain a set of images with the package "grub-splashimages", or you can make your own. The images must be 640x480 pixels, contain no more than 16 colors (but a smaller number like 12 works better to allow some different colors for the menu text), and be in gzipped xpm format. The GIMP can be used to resize (Image -> Scale Image...), reduce colors (Image -> Mode -> Indexed...), and can save to .xpm.gz files.

After creating a splash image, add a line like
{{{
splashimage=(hd0,4)/grub/splash.xpm.gz
}}}
to your menu.lst file. A useful trick is to make a symlink to the actual image named splash.xpm.gz.
{{{
cd /boot/grub
sudo ln -s my_image.xpm.gz splash.xpm.gz
}}}
Grub loads the image from the disk upon boot; it is not stored in the MBR. If you use a symlink, you will not have to edit menu.lst and reinstall grub to change the image, you just have to change the symlink.

----
CategoryDocumentation CategoryCleanup
#REFRESH 0 http://help.ubuntu.com/community/GrubHowto

GrubHowto (last edited 2008-08-06 16:19:46 by localhost)