装了 ubuntu 11.04 和 windows 7 ,默认是 ubuntu 先启动的。现在想改为windows7 默认启动。
首先打开 /boot/grub/grub.cfg 文件
vim /boot/grub/grub.cfg
1 #
2 # DO NOT EDIT THIS FILE
3 #
4 # It is automatically generated by grub-mkconfig using templates
5 # from /etc/grub.d and settings from /etc/default/grub
6 #
7
8 ### BEGIN /etc/grub.d/00_header ###
9 if [ -s $prefix/grubenv ]; then
10 set have_grubenv=true
11 load_env
12 fi
13 set default="0"
14 if [ "${prev_saved_entry}" ]; then
15 set saved_entry="${prev_saved_entry}"
16 save_env saved_entry
17 set prev_saved_entry=
18 save_env prev_saved_entry
19 set boot_once=true
20 下面省略.
可以直接改这个文件,但这个文件是经常会自动更新的,不是最终解决办法。 看最前面的提示,这个文件是由 /etc/grub.d , /etc/default/grub 这两个目录(文件)下的配置文件
生成的。
先看 grub.d 目录下面的文件,有没有注意到目录前面都有个数字序号,你猜对了这个就是用来生成最终启动项的顺序。
gnolux@it-xulong:/etc/grub.d$ ls -l
总计 60
-rwxr-xr-x 1 root root 6831 2010-10-06 20:23 00_header
-rwxr-xr-x 1 root root 6933 2011-10-29 19:16 02_os-prober
-rwxr-xr-x 1 root root 1481 2010-10-06 20:05 05_debian_theme
-rwxr-xr-x 1 root root 4757 2010-10-06 20:23 10_linux
-rwxr-xr-x 1 root root 5028 2010-10-06 20:23 20_linux_xen
-rwxr-xr-x 1 root root 1588 2010-09-25 01:14 20_memtest86+
-rwxr-xr-x 1 root root 6933 2010-10-06 20:23 30_os-prober
-rwxr-xr-x 1 root root 214 2010-10-06 20:23 40_custom
-rwxr-xr-x 1 root root 95 2010-10-06 20:23 41_custom
-rw-r--r-- 1 root root 483 2010-10-06 20:23 README
默认 windows7 是在 30_os-prober 这个文件下配置的,我复制了一份命名为 02_os-prober 为样就能排在 其它启动项前面了。
再使用 grub-mkconfig 或者 update-grub 来重新生成 /boot/grub/grub.cfg 就OK了。
我这里以调启动顺序的方法实现,还可以修改 /etc/default/grub 里面的 default 的值,这个值是你的启动项
所处的顺序位置,从0开始算的。比如默认ubuntu的启动项,则设为0。