原文来自 ubuntu 中文论坛:http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=171262&start=0

如果在Windows XP下安装Ubuntu. 默认是Ubuntu启动。

通过下面的操作可把Windows XP改为默认启动系统。

启动ubuntu后,输入:
sudo gedit /boot/grub/menu.lst
输入正确密码后,打开menu.lst。从第一行往下看,找到第一个开头没有#的行
default 0
然后往下看,在文件的尾部找到以title开头的行(注意,以#开头的都不要理),我的文件以title开头的行(开头没有#)有7行,依次为:
title Ubuntu 8.04.1, kernel 2.6.24-21-generic
title Ubuntu 8.04.1, kernel 2.6.24-21-generic (recovery mode)
title Ubuntu 8.04.1, kernel 2.6.24-16-generic
title Ubuntu 8.04.1, kernel 2.6.24-16-generic (recovery mode)
title Ubuntu 8.04.1, memtest86+
title Other operating systems:
title Windows NT/2000/XP


这些行当然不是像这样连在一起的,它们分散在文件中。我把这7行写一起,就是让我们看得清楚些。事实上,除去每行前面的title,这7行就是我开机时出现的启动菜单项,系统在启动时读的就是该文件。

default 0
表示默认情况下启动以上菜单上第1行(0+1)的系统

我们看到windows处于第7(6+1)行,所以现在把default的值改为6,保存文件,重启系统,默认启动的系统就改为Windows系统了。

在Ubuntu 10.04中,并没有menu.lst文件,文件名已经变成grub.cfg。更改操作如下:
1、备份原文件为grub.cfg.bak
代码:
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak

2、修改启动顺序
代码:
sudo gedit /boot/grub/grub.cfg

在 打开顶文件中找到 set default="0",可以看出默认是第一项 (从0开始计数)。然后找到以menuentry开头的所有行,下面是我顶电脑上该文件的内容,一共7行,最后一行是Windows XP项。以我的文件内容为例,我只要set default="6(注意:从0开始计数)就可以把Windows XP改为默认启动系统。
menuentry \'Ubuntu,Linux 2.6.32-22-generic\'
menuentry \'Ubuntu,Linux 2.6.32-22-generic (恢复模式)\'
menuentry \'Ubuntu,Linux 2.6.32-21-generic\'
menuentry \'Ubuntu,Linux 2.6.32-21-generic (恢复模式)\'
menuentry "Memory test (memtest86+)"
menuentry "Memory test (memtest86+, serial console 115200)"
menuentry "Microsoft Windows XP Professional (on /dev/sda1)"