[问题]双硬盘安装8.04,grub配置启动的问题

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
Yakin.Cheung
帖子: 12
注册时间: 2007-10-29 18:12

[问题]双硬盘安装8.04,grub配置启动的问题

#1

帖子 Yakin.Cheung » 2008-08-08 15:51

偶的机器:IBM T43, 双硬盘(光驱位换乘硬盘托架了)。

现在原配硬盘(hd0)上有windows,隐藏分区已经被干掉了;第二块硬盘上已经成功安装了hardy。

现在的问题是,如果安装过程中按照默认将grub装在hd0上,就和平常的双系统一样能够顺利启动。但是我有时需要将光驱换回去,这种情况下grub就会报错了。所以尝试将grub装到hd1也就是第二块硬盘上,两个系统却都无法启动。

我的第二块硬盘上的分区情况是这样:(我用grub的方式来表示)
hd(1,0): ext3, 主分区并设置为活动分区, 挂载/boot
剩下的在一个扩展分区里:
hd(1,4): swap
hd(1,5): xfs, 根分区
hd(1,6): xfs, /usr
hd(1,7): xfs, /home
hd(1,8): fat32 (下面有硬盘安装时用到的镜像文件和vmlinuz以及initrd.gz)

尝试过两种方案,第一次把hd0的mbr用dg重建,然后把grub按照通常的办法装在第二块硬盘上(setup (hd1)),启动时会出现stage1.5那个菜单,但是选择第一项也就是8.04的时候,报错error 17: cannot mount selected partition;如果选择windows,则显示error13:Invalid or unsupported executable format.

第二种就是把第一块硬盘的mbr修复之后不重新安装grub了,希望直接在计算机的开机过程中选择从第二块硬盘启动,然后就是一句missing operating system. 我的第二块硬盘只有一个主分区并且也是活动分区,上面挂的是/boot,为什么无法启动呢?

这是第一次在ubuntu中遇到关于分区和启动的问题,在网上差了很多关于grub和硬盘分区的资料也没有解决。我寻求的解决方案是不希望改变原有硬盘的mbr,从第二块硬盘上进入启动菜单或者干脆两个硬盘上的操作系统相互独立。望请有经验的同志指点迷津:)
humanity
帖子: 106
注册时间: 2008-08-08 14:37

#2

帖子 humanity » 2008-08-08 16:06

试试在BIOS设置里选择第一启动设备。要启动XP,选择harddisk0,要启动Ubuntu,选择harddisk1。
Yakin.Cheung
帖子: 12
注册时间: 2007-10-29 18:12

#3

帖子 Yakin.Cheung » 2008-08-08 16:08

我的第二种尝试的方案就是开机按f12选第二块硬盘啊……
humanity
帖子: 106
注册时间: 2008-08-08 14:37

#4

帖子 humanity » 2008-08-08 16:16

第二硬盘的主分区没装grub,当然启动不了。
Yakin.Cheung
帖子: 12
注册时间: 2007-10-29 18:12

#5

帖子 Yakin.Cheung » 2008-08-08 16:26

呃 延伸出来一个我还不太明白的问题
如果安装的时候 在第7步点advanced然后把install boot loader前面那个勾去掉,应该是和不安装grub一回事吧?这样是不是也启动不了?
其实我最疑惑的是为什么把grub装在第二硬盘上两个操作系统都无法启动。理论上来讲应该不会呀。所以希望牛牛们能看出来是不是我哪一步疏忽了什么:)
humanity
帖子: 106
注册时间: 2008-08-08 14:37

#6

帖子 humanity » 2008-08-08 16:36

Yakin.Cheung 写了:如果安装的时候 在第7步点advanced然后把install boot loader前面那个勾去掉,应该是和不安装grub一回事吧?这样是不是也启动不了?
是的。
Yakin.Cheung 写了:其实我最疑惑的是为什么把grub装在第二硬盘上两个操作系统都无法启动。理论上来讲应该不会呀。所以希望牛牛们能看出来是不是我哪一步疏忽了什么:)
如果第一启动设备是第一硬盘,第一硬盘第一分区有XP的启动程序,就轮不到第二硬盘上的grub来启动。如果第一启动设备是第二硬盘,第二硬盘第一分区的grub就可以启动。
Yakin.Cheung
帖子: 12
注册时间: 2007-10-29 18:12

#7

帖子 Yakin.Cheung » 2008-08-08 16:59

我不知道是不是您没看清我的帖子……
我在第二硬盘上装了grub并选择从第二硬盘启动,是能够看到stage1.5那堆选项的,但是两个操作系统都无法正常进入,报错的信息我帖子里有。这也是我不明白的地方,为什么grub装在第二个硬盘上就会出问题。谢谢:)
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#8

帖子 ptptptptptpt » 2008-08-08 17:03

Yakin.Cheung 写了:我不知道是不是您没看清我的帖子……
我在第二硬盘上装了grub并选择从第二硬盘启动,是能够看到stage1.5那堆选项的,但是两个操作系统都无法正常进入,报错的信息我帖子里有。这也是我不明白的地方,为什么grub装在第二个硬盘上就会出问题。谢谢:)
menu.lst 的问题。在第二硬盘上装 grub ,menu.lst 中会是 (hd1,x)

而选择从 第二硬盘启动 时,该硬盘实际时 hd0
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#9

帖子 ptptptptptpt » 2008-08-08 17:08

改成 hd0 就好了。

如果不明白,贴出 menu.lst,大家帮你改
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

#10

帖子 leeaman » 2008-08-08 17:08

Yakin.Cheung 写了:我不知道是不是您没看清我的帖子……
我在第二硬盘上装了grub并选择从第二硬盘启动,是能够看到stage1.5那堆选项的,但是两个操作系统都无法正常进入,报错的信息我帖子里有。这也是我不明白的地方,为什么grub装在第二个硬盘上就会出问题。谢谢:)
你应该以第二硬盘为主盘安装grub,这样插上第二硬盘就以第二硬盘作主盘启动,没有第二硬盘自动以另外一个安装xp启动,这样应该没有问题
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
Yakin.Cheung
帖子: 12
注册时间: 2007-10-29 18:12

#11

帖子 Yakin.Cheung » 2008-08-08 17:11

我把menu.lst贴上:

代码: 全选

timeout		10

title		Ubuntu 8.04, kernel 2.6.24-16-generic
root		(hd1,0)
kernel		/vmlinuz-2.6.24-16-generic root=UUID=5e92cb55-1743-46c0-be97-0db23d66cac0 ro quiet splash
initrd		/initrd.img-2.6.24-16-generic
quiet

title		Ubuntu 8.04, kernel 2.6.24-16-generic (recovery mode)
root		(hd1,0)
kernel		/vmlinuz-2.6.24-16-generic root=UUID=5e92cb55-1743-46c0-be97-0db23d66cac0 ro single
initrd		/initrd.img-2.6.24-16-generic

title		Ubuntu 8.04, memtest86+
root		(hd1,0)
kernel		/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title		Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title		Microsoft Windows XP Professional
root		(hd0,0)
savedefault
makeactive
chainloader	+1



问题出在哪里呢?
Yakin.Cheung
帖子: 12
注册时间: 2007-10-29 18:12

#12

帖子 Yakin.Cheung » 2008-08-08 17:15

ptptptptptpt 写了: menu.lst 的问题。在第二硬盘上装 grub ,menu.lst 中会是 (hd1,x)

而选择从 第二硬盘启动 时,该硬盘实际时 hd0
刚看到,我试试看。3x!
上次由 Yakin.Cheung 在 2008-08-08 17:25,总共编辑 1 次。
Yakin.Cheung
帖子: 12
注册时间: 2007-10-29 18:12

#13

帖子 Yakin.Cheung » 2008-08-08 17:25

ptptptptptpt老兄,我把(hd1,0)改成(hd0,0)就没问题了。windows的应该怎么改?(hd0,0)改成hd(1,0)就不行了,这个问题会出在哪里呢?
humanity
帖子: 106
注册时间: 2008-08-08 14:37

#14

帖子 humanity » 2008-08-08 17:26

Yakin.Cheung 写了:第一次把hd0的mbr用dg重建,然后把grub按照通常的办法装在第二块硬盘上(setup (hd1)),启动时会出现stage1.5那个菜单,但是选择第一项也就是8.04的时候,报错error 17: cannot mount selected partition;如果选择windows,则显示error13:Invalid or unsupported executable format.
是没细看这个报错信息。

在hd0重建用grub启动的MBR后,要在hd0第一分区有grub,而你的hd0第一分区里没有,而且XP的启动程序因为MBR重建不再是首位启动程序。这样就轮到hd1的grub了,但是hd1只有grub,没有相应的MBR等。
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#15

帖子 ptptptptptpt » 2008-08-08 17:33

Yakin.Cheung 写了:ptptptptptpt老兄,我把(hd1,0)改成(hd0,0)就没问题了。windows的应该怎么改?(hd0,0)改成hd(1,0)就不行了,这个问题会出在哪里呢?
这个就麻烦点,得用 map 命令转换,试试

title Microsoft Windows XP Professional
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive
chainloader +1

有兴趣可以研究下 grub4dos ,随意启动
回复