ubuntu9.10和xp的双系统启动项问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
wuran2008
帖子: 1
注册时间: 2010-04-05 21:38

ubuntu9.10和xp的双系统启动项问题

#1

帖子 wuran2008 » 2010-04-05 21:49

我安装了windows xp和ubuntu 9.10,现在启动时选择操作系统是这样的....
ubuntu 9.10kernl.2.6.22-14-generic
ubuntu 9.10kernl.2.6.22-14-generic (creovery.mode)
ubuntu.9.10 memtes86+
Windows xp professional
我怎么样才能把它改为xp是默认启动项呢?网上说的修改ubuntu里的menu.lst可以,但是我的ubuntu里根本就没有menu.1st. 用终端输入指令打开menu.1st也是空白。怎样才能将首选启动项改为xp呢
bourne1980
帖子: 37
注册时间: 2010-04-01 13:53

Re: ubuntu9.10和xp的双系统启动项问题

#2

帖子 bourne1980 » 2010-04-05 21:55

关于修改Grub.cfg来改变windows与Ubuntu的启动顺序
由于看了一下坛子里面关于修改Grub.cfg的一些教程,感觉还是得不到认识,又对编程不太懂,于是乎,在网上看到这一篇文章,觉得不错,分享一下 。






Ubuntu 9.10 grub2的启动配置文件grub.cfg2009-12-01 18:47升级到Ubuntu 9.10后,就要接触grub2了,它和以前的版本有了很多的不同。这里是一个基础教程。

一、grub2的启动配置文件grub.cfg
grub2的启动配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。

如果你是多系统,有ubuntu和windows,那么用下面的命令,可以使grub2得到所以可以启动的系统。

sudo update-grub

实际就是让系统自己生成合适的grub.cfg文件。

这个grub.cfg文件是只读属性,so如果你要修改它,需要权限。

sudo chmod +w /boot/grub/grub.cfg

然后可以编辑grub.cfg了。

sudo gedit /boot/grub/grub.cfg

二、默认系统和等待时间
1、set default=0
这是说从第一项启动。每个启动项都是以menuentry开始,menuentry后面“xxx”是启动项名称,然后{xxx}是启动代码。

### BEGIN /etc/grub.d/10_linux ###menuentry “Ubuntu, Linux 2.6.31-14-generic” {recordfail=1if [ -n ${have_grubenv} ]; then save_env recordfail; fiset quiet=1insmod ext2set root=(hd0,6)search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splashinitrd /boot/initrd.img-2.6.31-14-generic}menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {recordfail=1if [ -n ${have_grubenv} ]; then save_env recordfail; fiinsmod ext2set root=(hd0,6)search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro singleinitrd /boot/initrd.img-2.6.31-14-generic}### END /etc/grub.d/10_linux ###### BEGIN /etc/grub.d/20_memtest86+ ###menuentry “Memory test (memtest86+)” {linux16 /boot/memtest86+.bin}menuentry “Memory test (memtest86+, serial console 115200)” {linux16 /boot/memtest86+.bin console=ttyS0,115200n8}### END /etc/grub.d/20_memtest86+ ###### BEGIN /etc/grub.d/30_os-prober ###menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {insmod ntfsset root=(hd0,1)search –no-floppy –fs-uuid –set 5c108a1c1089fd70drivemap -s (hd0) ${root}chainloader +1}if keystatus; thenif keystatus –shift; thenset timeout=-1elseset timeout=10fielseif sleep$verbose –interruptible 3 ; thenset timeout=10fifi### END /etc/grub.d/30_os-prober ###### BEGIN /etc/grub.d/10_linux ###

menuentry “Ubuntu, Linux 2.6.31-14-generic” {

recordfail=1

if [ -n ${have_grubenv} ]; then save_env recordfail; fi

set quiet=1

insmod ext2

set root=(hd0,6)

search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059

linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splash

initrd /boot/initrd.img-2.6.31-14-generic

}

menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {

recordfail=1

if [ -n ${have_grubenv} ]; then save_env recordfail; fi

insmod ext2

set root=(hd0,6)

search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059

linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single

initrd /boot/initrd.img-2.6.31-14-generic

}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###

menuentry “Memory test (memtest86+)” {

linux16 /boot/memtest86+.bin

}

menuentry “Memory test (memtest86+, serial console 115200)” {

linux16 /boot/memtest86+.bin console=ttyS0,115200n8

}

### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###

menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {

insmod ntfs

set root=(hd0,1)

search –no-floppy –fs-uuid –set 5c108a1c1089fd70

drivemap -s (hd0) ${root}

chainloader +1

}

if keystatus; then

if keystatus –shift; then

set timeout=-1

else

set timeout=10

fi

else

if sleep$verbose –interruptible 3 ; then

set timeout=10

fi

fi

### END /etc/grub.d/30_os-prober ###

我的第五个启动项是menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)”,我要它默认是以xp启动,所以修改为set default=”4″。(hd0,1)表示第一块硬盘的第一个分区,我的Linux在(hd0,6)。

当然,你也可以把你需要默认启动的系统放到最前面,那么就还是set default=0

2、set timeout=10
if [ ${recordfail} = 1 ]; then

set timeout=-1

else

set timeout=10

fi

这里停留在grub选择系统界面的时间就是10秒,即set timeout=10。

有时候我并不想等待这么久,我直接启动xp,需要ubuntu时才按几下Shift键进入grub选择系统界面。可以添加如下代码:

if keystatus; then

if keystatus –shift; then

set timeout=-1

else

set timeout=10

fi

else

if sleep$verbose –interruptible 3 ; then

set timeout=10

fi

fi
思路转变:重点是内容本身,而不是装有内容的容器。
WIN95-WIN97(民间俗称)-WIN98-WINME-WIN2000-WINXP-WIN7-UBUNTU(但愿不要再跳入MS的圈子)
bourne1980
帖子: 37
注册时间: 2010-04-01 13:53

Re: ubuntu9.10和xp的双系统启动项问题

#3

帖子 bourne1980 » 2010-04-05 21:57

看下你就明白了~
思路转变:重点是内容本身,而不是装有内容的容器。
WIN95-WIN97(民间俗称)-WIN98-WINME-WIN2000-WINXP-WIN7-UBUNTU(但愿不要再跳入MS的圈子)
头像
iorikyox
帖子: 92
注册时间: 2010-04-02 16:16

Re: ubuntu9.10和xp的双系统启动项问题

#4

帖子 iorikyox » 2010-04-08 17:02

没遇到lz的情况,我的多项启动第一行显示“windows xp”,第二行才是“ubuntu”,选择“ubuntu”后,才能显示lz说的这几个选项
wusongwww
帖子: 47
注册时间: 2007-12-14 14:17

Re: ubuntu9.10和xp的双系统启动项问题

#5

帖子 wusongwww » 2010-04-08 22:43

老兄是装grub的时候装在C盘了,然后覆盖了mbr。。。。。。
wusongwww
帖子: 47
注册时间: 2007-12-14 14:17

Re: ubuntu9.10和xp的双系统启动项问题

#6

帖子 wusongwww » 2010-04-08 22:45

4楼的安装时候选择了“高级”,所以grub2被有选择得安装在ubuntu的那个分区。。。
回复