ubuntu10.04显示grub菜单

来源:互联网 发布:服务器端口有多少 编辑:程序博客网 时间:2024/05/17 01:03

安装了ubuntu10.04后grub没有显示。上网搜了下资料如下:


从/etc/init.d/gdm中的第28行,能看到定义的是shift键,你可以试一下!

另外需要注意一下开机启动时,grub菜单 系统默认是隐藏的,去掉隐藏需要做如下操作:
1、你需要修改/etc/default/grub其中的第5行:
sudo gedit /etc/default/grub
GRUB_HIDDEN_TIMEOUT=0(默认是0,修要修改成大于0的值,比如10)
保存后退出!
2、再执行:
sudo update-grub

3、然后重启后在开机时按一下shift键就可以看到grub菜单了!

在早期的Ubuntu中,使用Grub作为系统的启动引导程序,想修改系统启动项非常简单,只要用gedit打开系统菜单设定文件( sudo gedit /boot/grub/menu.lst ),修改该文件中到内容即可,但是到了Grub 2中,不能采用这种方式修改系统启动项了。 

 

Grub 2特性 
Grub 2(GRand Unified Bootloader, version 2)是Grub的第二版。Grub 2对Grub的接口进行了完整到重写,基于PUPA(详细介绍)项目到研究,Grub 2更模块化并且更方便扩展,Grub 2的一些提升如下: 
具有图形化界面,支持主题
模块化加载
夸平台的兼容性
支持脚本
自定义的启动项目定义
修改分区命名

Grub 2结构
Grub 2包含下面几个部分:
/boot/grub/grub.cfg 文件
/etc/grub.d/ 文件夹
/etc/default/grub 文件

下面开始一个个介绍。
  grub.cfg类似Grub中的 /boot/grub/menu.lst。里面的格式于menu.lst差不多,但是现在不允许你通过直接修改该文件到方式来修改启动项,因为该文件是在执行"update-grub"或者update-grub2"之后,根据上面说到2、3两项动态生成到,也就是说,如果你修改了这个文件当下次这两个命令被执行了(比如说更新内核后),你修改到内容就会背覆盖。官方文件只说/boot/grub/grub.cfg不要手工修改,这个文件是运行update-grub自动生成的。要修改配置文件的只要打开/boot/grub/grub.cfg文件,找到想修改的地方,然后根据注释找到相应的/etc/default/grub或/etc/grub.d/ (folder)进行修改。
grub.cfg文件中主要包含两个部分,一部分是各个启动项的定义,第二部分是启动界面的设置。你可以直接用gedit打开该文件看其中的内容。既然grub.cfg不能修改,那也没什么好详细说的了,稍微研究下就能看懂里面是怎么写的。下面就介绍一下Grub 2的另外两个部分。
   Grub 2的另外两部分内容其实就分别对应于grub.cfg中的两部分内容。
   首先 /etc/grub.d/ 文件夹中定义各个启动项,其中的文件代表了一个或多个启动项,命名规范都是"两个数字_名称",前面的两位数字确定这个或这多个启动项在启动界面的位置,默认的 "00_"是预留给"00_header"的,"10_是预留给当前系统内核的,20_是预留给第三方程序的,除了这些你都可以使用,增加自己的,比如 05_ , 15_,数字越小越前面。这里的文件好像是代码,我还没研究透,不会自己写,只会改。当执行前面说的"update-grub"或者update-grub2"命令之后,这个文件夹中的文件就是用于生成 grub.cfg 中启动项的定义的。
   Grub 2的最后一部分是 /etc/default/grub 文件,该文件主要是启动界面的配置,比如默认的启动项,等待用户选择启动项的时间等。文件内容很简单,就是一些键值对,详细的可配置属性可以参考Grub 2的Wiki中"grub (/etc/default/grub)"这一节。当执行前面说的"update-grub"或者update-grub2"命令之后,这个文件的内容就用于生成 grub.cfg 中启动界面的设置。

/etc/default/grub文件详细修改方法
sudo gedit /etc/default/grub 
    系统安装完成后,用户就会发现/boot/grub/grub.cfg文件只有root权限可读,如果要直接修改grub.cfg文件,要先修改其权限。好不容易把grub.cfg修改好了,系统内核或grub升级时,会 自动执行update-grub,grub.cfg文件就会被打回原形,如何保证修改后的配置文件能一直保留下来呢?
    其实不用修改 grub.cfg,只要把个性化配置写入/etc/default/目录下的grub和/etc/gurb.d目录下的脚本文件,以后不管升级内核或者是升级grub所执行的update-grub,都会按要求创建个性化的grub.cfg。
1、首先看下 /etc/default/grub,先从应用程序-附件里打开终端,输入
sudo gedit /etc/default/grub
看看打开的文件可作什么修改:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0 -------->设置默认启动项,按menuentry顺序。比如要默认从第四个菜单项启动,数字改为3,若改为 saved,则默认为上次启动项。
GRUB_HIDDEN_TIMEOUT=0默认为0,单系统时启动菜单自动隐藏,要取消自动隐藏菜单,改为大于0再sudo update-grub。(注意:单系统下/etc/grub.d/30_os- prober可能没引用这里的变量,如果修改这里不能显示菜单,还要修改 /etc/grub.d/30_os-prober,具体看下面修改部份)
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="3"----------->设置进入默认启动项的等候时间,默认值10秒,按自己需要修改
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" ----------->添加内核启动参数,这个为默认
GRUB_CMDLINE_LINUX="noresume"--------->手动添加内核启动参数,比如 acpi=off noapic等可在这里添加,加 text 参数启动进入字符模式。

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console ---------->设置是否使用图形介面。去除前面#,仅使用控制台终端,不使用图形介面

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480 设定图形介面分辨率,如不使用默认,把前面#去掉,把分辨率改为800x600或1024x768

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true ---------->设置grub命令是否使用UUID,去掉#,使用root=/dev/sdax而不用root=UUDI=xxx

# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"----------->设定是否创建修复模式菜单项



来源:http://bbs.51cto.com/thread-729783-1.html

http://blog.csdn.net/saker7/article/details/5934384