Scroll to navigation

update-grub(8) System Manager's Manual update-grub(8)


update-grub - program to generate GRUB's menu.lst file




update-grub is a program used to generate the menu.lst file used by the grub bootloader. It works by looking in /boot for all files which start with "vmlinuz-". They will be treated as kernels, and grub menu entries will be created for each. It will also create the initial menu.lst if none exists, after prompting the user. It will also add initrd lines for ramdisk images found with the same version as kernels found. e.g. /boot/vmlinuz-2.4.5 and /boot/initrd-2.4.5 will cause a line of "initrd=/boot/initrd-2.4.5 or similar to be added for the kernel entry in the menu.lst.

After update-grub has been run for the first time, the user is required to edit the generated menu.lst. The user must set the two options update-grub uses. Then re-run the update-grub script to update the menu.lst file using the default's that have been set.

These are the options passed to the linux kernel:
# kopt=root=/dev/hda1 ro
Everything after "kopt=" is passed to the kernel as parameters. See bootparam(7) for more information.

This is the grub device from which grub loads the kernel:
# groot=(hd0,1)
(hd0,1) is a partition in grub notation. See grub(8) for more information.

This option controls if grub should create the alternative boot options in the menu entries
# alternative=true
# alternative=false

This option controls if grub should lock the alternative boot options see grub(8) for more information.
# lockalternative=true
# lockalternative=false

This option controls if grub should lock the old kernels.
# lockold=true
# lockold=false

This options controls what is used for the alternative boot options, multiple altoptions lines are allowed.
# altoptions=(some description) some kernel command line options
# altoptions=(recovery option) single
The description is placed in '()' and the kernel command line options follow that.
# updatedefault=true
# updatedefault=false

This option controls if grub should update the default entry to keep booting the same kernel even if a new one is installed.

The update-grub script can be ran automagically from the /etc/kernel-img.conf file by adding the following lines:

postinst_hook = update-grub
postrm_hook = update-grub
do_bootloader = no

For further information related to /etc/kernel-img.conf, see the manpage kernel-img.conf(5).


grub(8), grub-install(8), kernel-img.conf(5) (contained in the kernel-package package), bootparam(7).

The full documentation for grub is maintained as a Texinfo manual. If the info and grub programs are properly installed at your site, the command

info grub

should give you access to the complete manual. You may need to install the grub-legacy-doc package.


This manual page was written by Jason Thomas <>, for the Debian GNU/Linux system (but may be used by others).

June 18, 2001 Jason Thomas