为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
- deyong
- 帖子: 17
- 注册时间: 2011-03-31 16:46
为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
我的Ubuntu开机时不显示启动菜单,而是直接就进入了
我想开机选择不同的内核启动,就去修改 /boot/grub/grub.cfg里timeout的值
把 set timeout=60 还是没见等待直接进了,没办法,只能每次修改 set default=?来进不同的内核
不知是怎么回事,感觉Ubuntu在启动方面还有些我们不了解的机制,还麻烦懂得原因的Linux高手帮忙解决下
补充:当启动失败时会显示启动菜单
下面是我的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
set have_grubenv=true
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 recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
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,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=60
else
set timeout=60
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.37.2' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux /boot/vmlinuz-2.6.37.2.x root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro quiet splash
initrd /boot/initrd.img-2.6.37.2.x
}
menuentry 'Ubuntu, with Linux 2.6.37.2 (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
echo 'Loading Linux 2.6.37.2 ...'
linux /boot/vmlinuz-2.6.37.2 root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.37.2
}
menuentry 'Ubuntu, with Linux 2.6.37.2.old' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux /boot/vmlinuz-2.6.37.2.old root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro quiet splash
initrd /boot/initrd-2.6.37.2.old
}
menuentry 'Ubuntu, with Linux 2.6.37.2.old (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
echo 'Loading Linux 2.6.37.2.old ...'
linux /boot/vmlinuz-2.6.37.2.old root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd-2.6.37.2.old
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro quiet splash
initrd /boot/initrd.img-2.6.35-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
echo 'Loading Linux 2.6.35-22-generic ...'
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-22-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/30_os-prober ###
### 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 ###
我想开机选择不同的内核启动,就去修改 /boot/grub/grub.cfg里timeout的值
把 set timeout=60 还是没见等待直接进了,没办法,只能每次修改 set default=?来进不同的内核
不知是怎么回事,感觉Ubuntu在启动方面还有些我们不了解的机制,还麻烦懂得原因的Linux高手帮忙解决下
补充:当启动失败时会显示启动菜单
下面是我的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
set have_grubenv=true
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 recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
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,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=60
else
set timeout=60
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.37.2' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux /boot/vmlinuz-2.6.37.2.x root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro quiet splash
initrd /boot/initrd.img-2.6.37.2.x
}
menuentry 'Ubuntu, with Linux 2.6.37.2 (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
echo 'Loading Linux 2.6.37.2 ...'
linux /boot/vmlinuz-2.6.37.2 root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.37.2
}
menuentry 'Ubuntu, with Linux 2.6.37.2.old' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux /boot/vmlinuz-2.6.37.2.old root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro quiet splash
initrd /boot/initrd-2.6.37.2.old
}
menuentry 'Ubuntu, with Linux 2.6.37.2.old (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
echo 'Loading Linux 2.6.37.2.old ...'
linux /boot/vmlinuz-2.6.37.2.old root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd-2.6.37.2.old
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro quiet splash
initrd /boot/initrd.img-2.6.35-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
echo 'Loading Linux 2.6.35-22-generic ...'
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=3783a779-4924-4338-a934-e889bb28b8c5 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-22-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3783a779-4924-4338-a934-e889bb28b8c5
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/30_os-prober ###
### 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 ###
上次由 deyong 在 2011-03-31 17:21,总共编辑 1 次。
- deyong
- 帖子: 17
- 注册时间: 2011-03-31 16:46
Re: 让Ubuntu10.10显示启动菜单项时遇到的问题
大家来帮帮我啊!!!
-
- 帖子: 35
- 注册时间: 2008-09-20 13:49
Re: 让Ubuntu10.10显示启动菜单项时遇到的问题
可以在/etc/default/grub 里面修改 GRUB_TIMEOUT=5 的值 然后update-grub 我hai没试过 你试试
-
- 帖子: 52
- 注册时间: 2010-05-27 17:01
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/30_os-prober ###
貌似要改这里。。。我在貌似在虚拟机这么试过。。。
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/30_os-prober ###
貌似要改这里。。。我在貌似在虚拟机这么试过。。。
- peteryeh64
- 论坛版主
- 帖子: 9379
- 注册时间: 2008-12-20 15:43
- 系统: 家kubuntu20.04
- 来自: 心靈深處
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
...單系統的ubuntu...按住shift...
- 附件
-
- shift.png (2.08 KiB) 查看 4970 次
[论坛版主行为规定]+[PITIVI簡易教程]+[ubuntu裝迅雷]
[releases.ubuntu.com]+[cdimage.ubuntu.com]+[old-releases.ubuntu.com]
[學ubuntu必須拜讀懶蝸牛"笨兔兔的故事"=viewtopic.php?f=112&t=162040][Linux明日的希望在中國]
[releases.ubuntu.com]+[cdimage.ubuntu.com]+[old-releases.ubuntu.com]
[學ubuntu必須拜讀懶蝸牛"笨兔兔的故事"=viewtopic.php?f=112&t=162040][Linux明日的希望在中國]
- hasee.wu
- 帖子: 2089
- 注册时间: 2009-10-20 21:13
- 来自: Pacific Western University
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
建议看小苹果的grub2 指南.
一般情况下, 最简单的方法是安装startupmanager
装好后 系统--系统管理--启动管理器
startup manager对grub2支持得不错, 改启动顺序, 开机菜单背景颜色和画面, 等待时间, 一般要用的功能都有,正合楼主要求. 全图形界面,不易出错.
一般情况下, 最简单的方法是安装startupmanager
装好后 系统--系统管理--启动管理器
startup manager对grub2支持得不错, 改启动顺序, 开机菜单背景颜色和画面, 等待时间, 一般要用的功能都有,正合楼主要求. 全图形界面,不易出错.
- deyong
- 帖子: 17
- 注册时间: 2011-03-31 16:46
Re: 让Ubuntu10.10显示启动菜单项时遇到的问题
真的很不解啊,我按照你的方法做了,Grub.cfg也更新了,不过还是老样子醉罪 写了:可以在/etc/default/grub 里面修改 GRUB_TIMEOUT=5 的值 然后update-grub 我hai没试过 你试试
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
如果楞改 grub.cfg 的话,要改 4 楼说的那一段,你前面赋值没用,到这一段又变回0了。脚本仔细看
- deyong
- 帖子: 17
- 注册时间: 2011-03-31 16:46
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
嗯,是这么回事,接触Linux不长,看的不是太深,O(∩_∩)O谢谢billbear 写了:如果楞改 grub.cfg 的话,要改 4 楼说的那一段,你前面赋值没用,到这一段又变回0了。脚本仔细看
- deyong
- 帖子: 17
- 注册时间: 2011-03-31 16:46
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
应该是这样的,谢谢oohyoou 写了:if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/30_os-prober ###
貌似要改这里。。。我在貌似在虚拟机这么试过。。。
-
- 帖子: 1
- 注册时间: 2011-02-24 19:37
- deyong
- 帖子: 17
- 注册时间: 2011-03-31 16:46
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
对,就是这样的,谢了peteryeh64 写了:...單系統的ubuntu...按住shift...
-
- 帖子: 8
- 注册时间: 2011-03-01 18:23
-
- 帖子: 217
- 注册时间: 2006-04-29 15:43
- 联系:
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
关键点在这
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
if [ "${recordfail}" = 1 ]; then
set timeout=-1
为-1菜单列表就会显示出来
如果不想显示菜单列表那么就把数值设为0
else
set timeout=10
是显示菜单后的等待时间,
不想显示菜单也不想等待那么就把数值设为0
而楼主你这是这样的
if [ "${recordfail}" = 1 ]; then
set timeout=60
else
set timeout=60
fi
### END /etc/grub.d/00_header ###
想出菜单第一项不应该为60,应该改为-1
第二项才是等待时间
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
if [ "${recordfail}" = 1 ]; then
set timeout=-1
为-1菜单列表就会显示出来
如果不想显示菜单列表那么就把数值设为0
else
set timeout=10
是显示菜单后的等待时间,
不想显示菜单也不想等待那么就把数值设为0
而楼主你这是这样的
if [ "${recordfail}" = 1 ]; then
set timeout=60
else
set timeout=60
fi
### END /etc/grub.d/00_header ###
想出菜单第一项不应该为60,应该改为-1
第二项才是等待时间
- deyong
- 帖子: 17
- 注册时间: 2011-03-31 16:46
Re: 为什么Ubuntu10.10中修改grub.cfg后还是不显示启动菜单项!!!
第一项是系统失败时的等待时间,光修改这里没有用,4楼说的是正确的,你看看吧zxx007 写了:关键点在这
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
if [ "${recordfail}" = 1 ]; then
set timeout=-1
为-1菜单列表就会显示出来
如果不想显示菜单列表那么就把数值设为0
else
set timeout=10
是显示菜单后的等待时间,
不想显示菜单也不想等待那么就把数值设为0
而楼主你这是这样的
if [ "${recordfail}" = 1 ]; then
set timeout=60
else
set timeout=60
fi
### END /etc/grub.d/00_header ###
想出菜单第一项不应该为60,应该改为-1
第二项才是等待时间