ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
gy619
帖子: 237
注册时间: 2011-10-11 10:16
送出感谢: 2 次
接收感谢: 3 次

ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#1

帖子 gy619 » 2012-12-12 7:09

ubuntu12.04开机出现grub菜单,需要回车一下才可以直接进系统。

按如下方法修改,仍然不生效
sudo gedit /etc/default/grub
修改如下:
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0

sudo update-grub
头像
berryboy2012
帖子: 352
注册时间: 2012-08-05 20:55
系统: OpenSUSE
送出感谢: 14 次
接收感谢: 4 次

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#2

帖子 berryboy2012 » 2012-12-12 10:59

操作顺序反过来,再做一遍
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#3

帖子 eexpress » 2012-12-12 11:35

ia32-libs在64机器上,可能导致此问题。
只是lz描述不太清晰。引导画面正常不?在grub显示菜单的时候回车的?有没有其他提示信息显示出来过?
● 鸣学
gy619
帖子: 237
注册时间: 2011-10-11 10:16
送出感谢: 2 次
接收感谢: 3 次

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#4

帖子 gy619 » 2012-12-12 12:16

eexpress 写了:ia32-libs在64机器上,可能导致此问题。
只是lz描述不太清晰。引导画面正常不?在grub显示菜单的时候回车的?有没有其他提示信息显示出来过?
引导画面正常。。。只是在开机的时候,停留在grub界面(显示几个菜单,按e可以进入编辑),只有按下回车才进入系统。
gy619
帖子: 237
注册时间: 2011-10-11 10:16
送出感谢: 2 次
接收感谢: 3 次

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#5

帖子 gy619 » 2012-12-12 12:17

berryboy2012 写了:操作顺序反过来,再做一遍
反回来?也不行。。。
gy619
帖子: 237
注册时间: 2011-10-11 10:16
送出感谢: 2 次
接收感谢: 3 次

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#6

帖子 gy619 » 2012-12-12 12:36

我仔细看了下,开机后,会停留在如下菜单。
---------------------------------------------------------
GNU GRUB 1.99-21 Ubuntu3.4版
ubuntu,linux 3.2-34-generic
ubuntu,linux 3.2-34-generic(恢复模式)
previous linux versions
memory test
使用上下箭头键选择要高亮的启动项
使用回车引导选定的系统,按e编辑引导命令
按c进入命令行
-------------------------------------------------
默认高亮第一行(即ubuntu,linux 3.2-34-generic),需要按下回车,才能进入系统。

怎么样,开机的时候,不显示grub菜单,直接进入系统?
l10x
帖子: 447
注册时间: 2008-06-23 19:31
系统: debian+fedora+win10
送出感谢: 19 次
接收感谢: 3 次

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#7

帖子 l10x » 2012-12-12 14:28

会不会uuid变了
gy619
帖子: 237
注册时间: 2011-10-11 10:16
送出感谢: 2 次
接收感谢: 3 次

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#8

帖子 gy619 » 2012-12-12 14:34

l10x 写了:会不会uuid变了
uuid没有变。。。
头像
TeliuTe
论坛版主
帖子: 7616
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 107 次
联系:

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#9

帖子 TeliuTe » 2012-12-12 15:09

把 /boot/grub/grub.cfg 发上来看看
gy619
帖子: 237
注册时间: 2011-10-11 10:16
送出感谢: 2 次
接收感谢: 3 次

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#10

帖子 gy619 » 2012-12-12 18:37

TeliuTe, /boot/grub/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 video_bochs
insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set=root 7cb9b117-4341-49f8-a597-3e9374c16876
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root a956c593-e723-43fd-b0ac-45559f83ad23
set locale_dir=($root)/grub/locale
set lang=zh_CN
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=0
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
if background_color 44,0,30; then
clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu,Linux 3.2.0-34-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root a956c593-e723-43fd-b0ac-45559f83ad23
linux /vmlinuz-3.2.0-34-generic root=UUID=7cb9b117-4341-49f8-a597-3e9374c16876 ro quiet splash $vt_handoff
initrd /initrd.img-3.2.0-34-generic
}
menuentry 'Ubuntu,Linux 3.2.0-34-generic (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root a956c593-e723-43fd-b0ac-45559f83ad23
echo '载入 Linux 3.2.0-34-generic ...'
linux /vmlinuz-3.2.0-34-generic root=UUID=7cb9b117-4341-49f8-a597-3e9374c16876 ro recovery nomodeset
echo '载入初始化内存盘...'
initrd /initrd.img-3.2.0-34-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu,Linux 3.2.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root a956c593-e723-43fd-b0ac-45559f83ad23
linux /vmlinuz-3.2.0-29-generic root=UUID=7cb9b117-4341-49f8-a597-3e9374c16876 ro quiet splash $vt_handoff
initrd /initrd.img-3.2.0-29-generic
}
menuentry 'Ubuntu,Linux 3.2.0-29-generic (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root a956c593-e723-43fd-b0ac-45559f83ad23
echo '载入 Linux 3.2.0-29-generic ...'
linux /vmlinuz-3.2.0-29-generic root=UUID=7cb9b117-4341-49f8-a597-3e9374c16876 ro recovery nomodeset
echo '载入初始化内存盘...'
initrd /initrd.img-3.2.0-29-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=root a956c593-e723-43fd-b0ac-45559f83ad23
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root a956c593-e723-43fd-b0ac-45559f83ad23
linux16 /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 ###
chao1999
帖子: 6
注册时间: 2013-01-07 23:16
系统: ubuntu
送出感谢: 0
接收感谢: 0

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#11

帖子 chao1999 » 2013-01-08 16:42

顶顶求解
11.10版本也这个问题
hustxay
帖子: 11
注册时间: 2009-10-16 13:56
送出感谢: 0
接收感谢: 0

Re: ubuntu12.04开机出现grub,需要回车一下才可以直接进系统

#12

帖子 hustxay » 2014-08-12 21:10

执行update-grub时,
利用/etc/default/grub文件中的参数值,
去运行 /etc/grub.d/目录下的众多程序,
生成/boot/grub/grub.cfg文件,供启动时调用。

在/boot/grub/grub.cfg文件中,有一处:
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
是说当有启动失败时,将grub菜单设置成“必须人工操作”,就是那个-1值。

有人说在/boot/grub/grub.cfg文件将此处set timeout=-1修成成需要的秒数,
但是执行update-grub后会重新生成grub.cfg。

(A)于是有效的方法是修改/etc/grub.d/00_head文件中:
cat << EOF
if [ \${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=${GRUB_TIMEOUT}
fi
EOF

将set timeout=-1 修改 成自己需要的秒数。

(B)还有一种方法是将/etc/grub.d/00_head文件中的,
set timeout=-1 修改成
set timeout = ${GRUB_RECORDFAIL_TIMEOUT:--1}
然后在/etc/default/grub文件中设置:
GRUB_RECORDFAIL_TIMEOUT=10
保存后执行update-grub



===========================
参考https://help.ubuntu.com/community/Grub2网页中的
Last Boot Failed or Boot into Recovery Mode章节
===========================
回复

回到 “启动和引导”