Basti's Scratchpad on the Internet

ubuntu10.10和windows双系统启动顺序的修改

这是我在博客园的博客中的文章。

下面是原文(未大改,稍作了一些格式上的调整):


我想大部分童鞋装ubuntu的时候,硬盘上的windows肯定还是保留着的,启动电脑时可以选择,想进windows就进windows,想进ubuntu就进ubuntu。但装完ubuntu后,它默认启动的是ubuntu,这对于使用ubuntu作为系统的童鞋来说没什么,但对那些经常要进windows的童鞋,每次开机都得按几次向下的箭头,再敲回车,非常不方便,有没有方法,让电脑开机时默认启动windows呢?这个是可以有的,而且这个也真的有。^_^

说到启动就不得不说GRUB,Linux下大名鼎鼎的启动管理工具(曾经的LILO已经风光不再),当然现在已经是GRUB2了,GRUB2和GRUB最重要的区别就是,GRUB存放系统启动信息的文件为 /boot/grub/menu.lst ,而GRUB2则为 /boot/grub/grub.cfg 。由于ubuntu10.10采用的是GRUB2,所以这里主要讲GRUB2。

终端输入 gedit /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

这里说得很清楚:不要编辑这个文件,这个文件是根据 /etc/grub.d 的模板和 /etc/default/grub 的设置自动生成的,所以网上流行的编辑这个文件来达到修改启动顺序的方法是不正确的,至少是不合理的,因为一旦更新内核什么的话,这个文件又会自动生成,之前的更新就会失效。

那既然不能修改这个文件,那就看看/etc/grub.d和/etc/default/grub好了,前者是个文件夹,暂时不管,后者是个文件,其内容如下(删去了一些没太大帮助的注释):

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

GRUB_DEFAULT 代表的就是启动项的顺序,从数字0开始,依次代表如下启动项(这是在我的电脑上,不同的ubuntu版本和windows系统可能会有一些不同):

Ubuntu, with Linux 2.6.35-28-generic
Ubuntu, with Linux 2.6.35-28-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows 7 (loader) (on /dev/sda1)

windows排第四位(注意,顺序是从0开始计的),所以, 把GRUB_DEFAULT的值修改为4 ,然后别忘了运行命令:

sudo update-grub

好了,重启电脑,默认启动的系统就换到windows了。

另外,还有一种比较高级的方法也可以修改windows为默认启动系统,运行:

sudo mv /etc/grub.d/30_os-prober /etc/grub.d/06_os-prober
sudo update-grub

执行完成后,重启电脑,也能默认启动windows了。

一部分童鞋看到这里,觉得修改启动顺序的方法已经找到,可以心满意足地把这个标签页给关掉了(如果你用的还是IE6,好吧,我承认你要关闭的是窗口);另一部分想延伸开来的童鞋肯定想知道原理是什么了,这里先卖个关子吧:要知是何原理,且听下回分解。^_^

附:这篇文章是我对GRUB2作了一些研究之后,根据需求并利用GRUB2的配置原理写出来的,关于GRUB2的一些东西我全都参考的这里:https://help.ubuntu.com/community/Grub2。所以,如果你英文过关并且有耐心的话,不妨去这里看一下,我上面卖的关子就不攻自破了。 :P

Other posts
comments powered by Disqus