我试图从grub 1.98菜单中删除已删除操作系统的条目。
我正在使用Gnu / Linux Debian 6(grub版本1.98 + 20100804-14 + squeeze1)。
我有一个带有10个内核映像的Ubuntu分区和一个Microsoft Windows; 这两个分区都已删除,但条目仍在启动菜单中。
我试过sudo /usr/sbin/update-grub
输出看起来不错,
#$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
但没有改变。
然后我跑了
sudo /usr/sbin/grub-mkconfig 2>&1 | less
看看它做了什么
*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*
从这里我可以看到stderr中的消息检测到debian内核,但在某处它正在记住其他操作系统。
1
看了/etc/grub.d并找到了30_os-prober和30_otheros。第二个文件包含所有不需要的东西,所以删除了它。现在再试一次。
—
ctrl-alt-delor 2012年
删除/etc/grub.d/30_otheros工作。如何向其他人解释问题可以帮助人们解决问题。谢谢。
—
ctrl-alt-delor 2012年
我们鼓励您发布这样的解决方案作为您自己问题的答案并接受它。如果不是这样,其他人可以看到问题得到解答。
—
Daniel Andersson
是的,清楚地制定问题是一个非常强大的错误搜索工具。这是StackExchange网络的基本原则之一,实际上是:鼓励明确的问题描述,以至于人们永远不会再问任何人了!;-)
—
Daniel Andersson
@Mawg我当时不了解其他网站。如果问题被移动,我不会抗议。
—
ctrl-alt-delor