原文地址:
http://www.duanzhihe.com/431.html
http://blog.csdn.net/onlyonename/article/details/828026
我想大部分童鞋装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。
终端输入sudo 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了。
---------------------------------------------另一种方法-----------------------------------------------------在win7下安装了Ubuntu后,在grub中,win7启动想是最后一个,为了把win7设置为默认启动项,需要更改grub设置。google了半天,发现更改/etc/default/grub是无效的,打开/boot/grub/grub.cfg,里面写着“DO NOT EDIT THIS FILE”,而且我发现即使更改了SET_DEFAULT后一旦执行update-grub,启动顺序还是不变,最后尝试更改/etc/grub.d目录下的文件名是可行的。默认情况下win7对应的文件名是30_os-prober,第一个linux系统对应的是10-linux,00是header,05是debian-theme,可见10是第一个启动项,只需要更改win7的文件名(06-09均可)即可改变启动顺序,经我测试,成功地修改了启动顺序。
具体做法:
sudo mv /etc/grub.d/30_os-prober /etc/grub.d/08_os-prober
For Ubuntu
sudo update-grub(这个命令会重新生成/boot/grub/grub.cfg)
=======
For fedora:
grub2-mkconfig -o /boot/grub2/grub.cfg