我的机上先前装了windows xp,后安装了ubuntu 12.10 。开机的启动项由ubuntu的grub接管,启动项中默认是ubuntu排第一,但我最常用的还是xp,如何修改该启动项的顺序呢?经过网上搜索资料,发现是在ubuntu系统文件的/boot/grub/grub.cfg文件里配置的(早期的ubuntu版本则不同)。但网上介绍的修改set default=“0"的方法不管用,仔细观察该文件后发现,启动项的每个项目都是由menuentry '启动项显示的名称'.........{........} 组成的,于是,我把关于windows启动项的代码
menuentry 'Microsoft Windows XP Professional (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-F8B409D8B4099A70' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 F8B409D8B4099A70
else
search --no-floppy --fs-uuid --set=root F8B409D8B4099A70
fi
drivemap -s (hd0) ${root}
chainloader +1
}
往上移,剪切到
menuentry 'Ubuntu' ..................后面还很多代码
的上一行。
变成了
....................................................省略前面的代码
menuentry 'Microsoft Windows XP Professional (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-F8B409D8B4099A70' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 F8B409D8B4099A70
else
search --no-floppy --fs-uuid --set=root F8B409D8B4099A70
fi
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a186023f-93c9-40ef-bfa3-7f2c68e93c48' {
........................................................省略后面的代码
保存后重启电脑,发现你将发现启动项已经变了。
另外,由于grub.cfg文件是只读的,你需要在命令行中给此文件增加修改权限:
sudo chmod +w grub.cfg
然后打开gedit按上述方法编辑文件:
sudo gedit grub.cfg