ubuntu中grub2配置的修改
2012-03-12 23:19
253 查看
这篇的说法比较实用。
装了双系统后,在开机时总会有想让一个系统默认启动的时候,一般安装完Ubuntu和XP双系统后,开机时默认的是启动Ubuntu系统,但是当想让XP作为默认启动的系统时怎么办呢?
在早期的Ubuntu系统中,启动管理器用的是grub,要修改开机默认启动的系统,只要修改 /boot/grub/下的menu.lst就行了,但是在后来的Ubuntu系统中采用的是grub2,而grub2已经没有menu.lst文件了。
grub2由三部分组成:/etc/default/grub文件 、 /etc/grub.d文件夹 和 /boot/grub/grub.cfg文件, 电脑开机时的启动菜单界面用的是grub.cfg文件。怎么理解这三部分之间的关系呢?我觉得可以这样认为,在我们执行update-grub(更新启动菜单)命令后系统就会根据 /etc/default/grub文件 和 /etc/grub.d文件夹 的内容生成/boot/grub/grub.cfg文件,所以当 /etc/default/grub文件 和 /etc/grub.d文件夹
被修改后,再执行update-grub,grub.cfg文件的内容就会被更改,或者说是被更新吧。
/etc/default/grub文件 ----存有开机默认启动项、倒记时时间的内容
/etc/grub.d文件夹 -------存有各个启动项,如下
00_header 10_linux 30-os-prober README
05_debian_theme 20_memtest86+ 40_custom
其中,30-os-prober是Windows系统的启动项,当然10_linux就是Linux系统的启动项,注意到每个文件前面都有个数字,在执行update-grub后生成的grub.cfg文件中,数字越小项就会排在越前面,也就是在启动菜单里就会排越上。像上面的内容,在开机启动菜单里,Linux系统就会排在最前面。
下面就介绍三种修改的方法。
一、直接修改grub.cfg文件
sudo -i
gedit /boot/grub/grub.cfg
里面
### BEGIN /etc/grub.d/*** ###
menuentry "……" {
……
}
### END /etc/grub.d/*** ###
各代表每一启动项,位置越上,在启动菜单里就会越上。
第12行的 set default="0" 代表默认选择项,也就是开机时选择光标最初的选择项,注意项的下标是从0开始的,例如在grub.cfg中,xp系统所处的位置是第五个启动项(简单的查看方法是看它前面有几个menuentry "……"),那么就把set default="0" 改为 set default="4"
第54行(可能不一样)的set timeout=5 表示倒计时时间,5就表示5秒。
修改后,保存,重新启动后就可以看到效果了,此方面缺点是在update-grub后会恢复原样,而系统在安装更新时常常会执行update-grub命令,所以此修改的方法不推荐。
二、修改/etc/default/grub.d
sudo -i
cd /etc/grub.d
ls
这时我们可以看到
00_header 10_linux 30-os-prober README
05_debian_theme 20_memtest86+ 40_custom
(这是我系统里的,你的可能不一样)
mv 30_os-prober 06_os-prober (30_os-prober重命名为06_os-prober)
update-grub
这时打开grub.cfg会看到xp系统已经排在前面了,这种方法简单,且以后不管进行多少次update-grub,XP系统项总是会排在第一位,推荐使用。
三、修改/etc/default/grub
sudo -i
gedit /etc/default/grub
修改GRUB_DEFAULT=0 (选择光标默认处于的位置,像这样是处于第一位,如果XP系统是处于菜单项的第5位,就修改为GRUB_DEFAULT=4)
GRUB_TIMEOUT=5 (倒记时时间)
修改后,保存,重新update-grub, 此方法由于是直接修改选择光标的初始位置,而当xp项前面如果多了几项(像更新内核后),就不行了。此方法不推荐。
http://apps.hi.baidu.com/share/detail/17066969
看到论坛里对于Ubuntu 9.10的grub2配置说明,忍不住说一下。其实对于grub2,ubuntu给了一个官方的配置文件/etc/default/grub。大部分情况下grub2的设置都可以在这个文件中搞定,而且这个文件结构也比较简单,修改起来也容易。完全没有必要直接改/boot/grub/grub.cfg或者/etc/grub.d/下的文件。
修改/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 #将0改为saved,可让grub记住上次启动时选择的系统
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="5" #显示启动选择菜单的时间
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# 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
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"
修改完成后使用命令:
代码:
sudo update-grub
会自动更新/boot/grub/grub.cfg,这样做最大的好处是当系统更新内核时,你的设置不会被覆盖掉。
另外对于从9.10 beta及以前一路升级上来的朋友,如果确定想使用grub2,手动运行:
代码:
sudo apt-get install grub2
升级并确保grub2正确配置。(我全新安装的9.10 beta,一路升级上来后,系统中的grub工具居然还是老版,运行这个命令后才正常)
其实Ubuntu官方wiki上对这些都有说明: https://wiki.ubuntu.com/Grub2
PS: 官方文件只说/boot/grub/grub.cfg不要手工修改,这个文件是运行update-grub自动生成的,/etc/default/grub和/etc/grub.d/ (folder)都很重要。
要修改配置文件的只要打开/boot/grub/grub.cfg文件,找到想修改的地方,然后根据注释找到相应的/etc/default/grub或/etc/grub.d/ (folder)进行修改,很方便滴。
File Structure
/boot/grub/grub.cfg This is in keeping with the intent that the file should not be edited manually.
/etc/default/grub
/etc/grub.d/ (folder)
装了双系统后,在开机时总会有想让一个系统默认启动的时候,一般安装完Ubuntu和XP双系统后,开机时默认的是启动Ubuntu系统,但是当想让XP作为默认启动的系统时怎么办呢?
在早期的Ubuntu系统中,启动管理器用的是grub,要修改开机默认启动的系统,只要修改 /boot/grub/下的menu.lst就行了,但是在后来的Ubuntu系统中采用的是grub2,而grub2已经没有menu.lst文件了。
grub2由三部分组成:/etc/default/grub文件 、 /etc/grub.d文件夹 和 /boot/grub/grub.cfg文件, 电脑开机时的启动菜单界面用的是grub.cfg文件。怎么理解这三部分之间的关系呢?我觉得可以这样认为,在我们执行update-grub(更新启动菜单)命令后系统就会根据 /etc/default/grub文件 和 /etc/grub.d文件夹 的内容生成/boot/grub/grub.cfg文件,所以当 /etc/default/grub文件 和 /etc/grub.d文件夹
被修改后,再执行update-grub,grub.cfg文件的内容就会被更改,或者说是被更新吧。
/etc/default/grub文件 ----存有开机默认启动项、倒记时时间的内容
/etc/grub.d文件夹 -------存有各个启动项,如下
00_header 10_linux 30-os-prober README
05_debian_theme 20_memtest86+ 40_custom
其中,30-os-prober是Windows系统的启动项,当然10_linux就是Linux系统的启动项,注意到每个文件前面都有个数字,在执行update-grub后生成的grub.cfg文件中,数字越小项就会排在越前面,也就是在启动菜单里就会排越上。像上面的内容,在开机启动菜单里,Linux系统就会排在最前面。
下面就介绍三种修改的方法。
一、直接修改grub.cfg文件
sudo -i
gedit /boot/grub/grub.cfg
里面
### BEGIN /etc/grub.d/*** ###
menuentry "……" {
……
}
### END /etc/grub.d/*** ###
各代表每一启动项,位置越上,在启动菜单里就会越上。
第12行的 set default="0" 代表默认选择项,也就是开机时选择光标最初的选择项,注意项的下标是从0开始的,例如在grub.cfg中,xp系统所处的位置是第五个启动项(简单的查看方法是看它前面有几个menuentry "……"),那么就把set default="0" 改为 set default="4"
第54行(可能不一样)的set timeout=5 表示倒计时时间,5就表示5秒。
修改后,保存,重新启动后就可以看到效果了,此方面缺点是在update-grub后会恢复原样,而系统在安装更新时常常会执行update-grub命令,所以此修改的方法不推荐。
二、修改/etc/default/grub.d
sudo -i
cd /etc/grub.d
ls
这时我们可以看到
00_header 10_linux 30-os-prober README
05_debian_theme 20_memtest86+ 40_custom
(这是我系统里的,你的可能不一样)
mv 30_os-prober 06_os-prober (30_os-prober重命名为06_os-prober)
update-grub
这时打开grub.cfg会看到xp系统已经排在前面了,这种方法简单,且以后不管进行多少次update-grub,XP系统项总是会排在第一位,推荐使用。
三、修改/etc/default/grub
sudo -i
gedit /etc/default/grub
修改GRUB_DEFAULT=0 (选择光标默认处于的位置,像这样是处于第一位,如果XP系统是处于菜单项的第5位,就修改为GRUB_DEFAULT=4)
GRUB_TIMEOUT=5 (倒记时时间)
修改后,保存,重新update-grub, 此方法由于是直接修改选择光标的初始位置,而当xp项前面如果多了几项(像更新内核后),就不行了。此方法不推荐。
http://apps.hi.baidu.com/share/detail/17066969
看到论坛里对于Ubuntu 9.10的grub2配置说明,忍不住说一下。其实对于grub2,ubuntu给了一个官方的配置文件/etc/default/grub。大部分情况下grub2的设置都可以在这个文件中搞定,而且这个文件结构也比较简单,修改起来也容易。完全没有必要直接改/boot/grub/grub.cfg或者/etc/grub.d/下的文件。
修改/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 #将0改为saved,可让grub记住上次启动时选择的系统
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="5" #显示启动选择菜单的时间
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# 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
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"
修改完成后使用命令:
代码:
sudo update-grub
会自动更新/boot/grub/grub.cfg,这样做最大的好处是当系统更新内核时,你的设置不会被覆盖掉。
另外对于从9.10 beta及以前一路升级上来的朋友,如果确定想使用grub2,手动运行:
代码:
sudo apt-get install grub2
升级并确保grub2正确配置。(我全新安装的9.10 beta,一路升级上来后,系统中的grub工具居然还是老版,运行这个命令后才正常)
其实Ubuntu官方wiki上对这些都有说明: https://wiki.ubuntu.com/Grub2
PS: 官方文件只说/boot/grub/grub.cfg不要手工修改,这个文件是运行update-grub自动生成的,/etc/default/grub和/etc/grub.d/ (folder)都很重要。
要修改配置文件的只要打开/boot/grub/grub.cfg文件,找到想修改的地方,然后根据注释找到相应的/etc/default/grub或/etc/grub.d/ (folder)进行修改,很方便滴。
File Structure
/boot/grub/grub.cfg This is in keeping with the intent that the file should not be edited manually.
/etc/default/grub
/etc/grub.d/ (folder)
相关文章推荐
- 修改系统启动项 grub2配置的方法 ubuntu
- 修改系统启动项 grub2配置的方法 ubuntu[转]
- 修改系统启动项 grub2配置的方法 ubuntu[转]
- 修改系统启动项 grub2配置的方法 ubuntu[转]
- Ubuntu grub2的启动配置文件grub.cfg,为了修改另人生厌的时间
- Ubuntu 10.10 修改开机启动顺序 | 9.10 grub2的启动配置文件grub.cfg
- Ubuntu 命令行修改网络配置方法
- Ubuntu配置和修改IP地址
- Ubuntu配置和修改IP地址
- ubuntu 杂谈(十二)------ 修改mplayer默认配置
- ubuntu配置更新修改IP地址
- ubuntu修改grub2让启动时显示打印
- Ubuntu配置和修改IP地址
- Ubuntu10.4, SUSE11.2下 mysql5.1/5.5的安装与简单配置(包括增加用户和修改字符集)
- Ubuntu中修改vim配置文件,更方便于c程序设计
- Ubuntu 16.04LTS LNMP环境配置 -- 转(有修改)
- Ubuntu命令行修改网络配置方法
- Ubuntu通过修改配置文件来进行网络配置
- Ubuntu配置和修改IP地址
- Ubuntu配置和修改IP地址