Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am trying to remove entries for deleted operating systems, from grub 1.98 menu.

I am using Gnu/Linux Debian 6 ( grub version 1.98+20100804-14+squeeze1 ).

I have an Ubuntu partition with 10 kernel images, and another OS that can not be named; Both these partitions have been deleted, but there entries are still in the boot menu.

I have tried sudo /usr/sbin/update-grub the output looked good,

#$sudo /usr/sbin/update-grub 
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686
Found linux image: /boot/vmlinuz-2.6.32-5-486
Found initrd image: /boot/initrd.img-2.6.32-5-486
done

but nothing changed.

I then ran

sudo /usr/sbin/grub-mkconfig  2>&1 | less 

to see what it did

*Generating grub.cfg ...*
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 456affde-b026-49a3-9682-2338da0e8271
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 456affde-b026-49a3-9682-2338da0e8271
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 456affde-b026-49a3-9682-2338da0e8271
*Found background image: /usr/share/images/desktop-base/desktop-grub.png*
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
  set color_normal=light-gray/black
  set color_highlight=white/black
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
*Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686*
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686' --class debian --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set 456affde-b026-49a3-9682-2338da0e8271
    echo    'Loading Linux 2.6.32-5-686 ...'
    linux   /boot/vmlinuz-2.6.32-5-686 root=UUID=456affde-b026-49a3-9682-2338da0e8271 ro  quiet
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.32-5-686
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set 456affde-b026-49a3-9682-2338da0e8271
    echo    'Loading Linux 2.6.32-5-686 ...'
    linux   /boot/vmlinuz-2.6.32-5-686 root=UUID=456affde-b026-49a3-9682-2338da0e8271 ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.32-5-686
}
*Found linux image: /boot/vmlinuz-2.6.32-5-486
Found initrd image: /boot/initrd.img-2.6.32-5-486*
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-486' --class debian --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set 456affde-b026-49a3-9682-2338da0e8271
    echo    'Loading Linux 2.6.32-5-486 ...'
    linux   /boot/vmlinuz-2.6.32-5-486 root=UUID=456affde-b026-49a3-9682-2338da0e8271 ro  quiet
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.32-5-486
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-486 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set 456affde-b026-49a3-9682-2338da0e8271
    echo    'Loading Linux 2.6.32-5-486 ...'
    linux   /boot/vmlinuz-2.6.32-5-486 root=UUID=456affde-b026-49a3-9682-2338da0e8271 ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.32-5-486
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_otheros ###

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
menuentry "Windows Vista (loader)" {
    set root=(hd0,msdos1)
    search --no-floppy --fs-uuid --set eaee-eb49
    chainloader +1
}

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda2
menuentry "Windows Vista (loader)" {
    set root=(hd0,msdos2)
    search --no-floppy --fs-uuid --set 6030999e30997c2a
    chainloader +1
}

# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.32-28-generic (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.32-28-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro quiet splash 
    initrd /boot/initrd.img-2.6.32-28-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.32-28-generic (recovery mode) (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.32-28-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro single 
    initrd /boot/initrd.img-2.6.32-28-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.32-27-generic (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.32-27-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro quiet splash 
    initrd /boot/initrd.img-2.6.32-27-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.32-27-generic (recovery mode) (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.32-27-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro single 
    initrd /boot/initrd.img-2.6.32-27-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.32-26-generic (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.32-26-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro quiet splash 
    initrd /boot/initrd.img-2.6.32-26-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.32-26-generic (recovery mode) (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.32-26-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro single 
    initrd /boot/initrd.img-2.6.32-26-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.32-25-generic (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.32-25-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro quiet splash 
    initrd /boot/initrd.img-2.6.32-25-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.32-25-generic (recovery mode) (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.32-25-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro single 
    initrd /boot/initrd.img-2.6.32-25-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.31-14-generic (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.31-14-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro quiet splash 
    initrd /boot/initrd.img-2.6.31-14-generic
}


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda9.
menuentry "Ubuntu, with Linux 2.6.31-14-generic (recovery mode) (on /dev/sda9)" {
    set root=(hd0,msdos9)
    search --no-floppy --fs-uuid --set e4bcaf13-21fb-4aab-b9ad-91d01637d78f
    linux /boot/vmlinuz-2.6.31-14-generic root=UUID=e4bcaf13-21fb-4aab-b9ad-91d01637d78f ro single 
    initrd /boot/initrd.img-2.6.31-14-generic
}

### END /etc/grub.d/30_otheros ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
*done*

From this I can see the messages in stderr detecting the debian kernels but somewhere it is remembering the other OSs.

share|improve this question
    
looked it /etc/grub.d and found 30_os-prober and 30_otheros. This second file has all the unwanted stuff, so have removed it. Will now try again. –  richard May 11 '12 at 15:59
    
removing /etc/grub.d/30_otheros worked. It is amazing how explaining a problem to someone else can help one solve it ones self. Thank you. –  richard May 11 '12 at 16:07
    
You are encouraged to post such a solution as an answer to your own question and accept it. If not else so other people can see that the question is answered. –  Daniel Andersson May 11 '12 at 16:08
    
And yes, formulating problems clearly is an immensely powerful error searching tool. This is one of the founding principles of the StackExchange network, actually: to encourage clear problem descriptions, so much that people will never have to ask anyone anything again! ;-) –  Daniel Andersson May 11 '12 at 16:10

1 Answer 1

up vote 1 down vote accepted

remove file /etc/grub.d/30_otheros then run sudo /usr/sbin/update-grub

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.