LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1068|回复: 5

一个比较头晕的引导问题

[复制链接]
发表于 2007-7-27 20:20:32 | 显示全部楼层 |阅读模式
我的系统是这样的,原本IDE0上一个硬盘(应该是hda吧?),安装的是xp,IDE1上一个硬盘(是hdb?)安装的是fedora。双启动,2个系统工作的还算稳定。

有一天终于受不了fedora的字体和速度,IDE1上又加了一块硬盘(应该是hdc吧?),安装debian,grub安装在hdc的mbr上。
安装前,为了避免误操作安装xp那个硬盘,我把xp安装的硬盘的电源拔掉。安装后不接XP硬盘的电源可以实现debian和fedora的双启动。
原本以为可以通过bios的启动顺序设置来实现xp与linux系统的选择,然而接上安装xp硬盘的电源后,只能从IDE0引导到xp,如果选择其他的如IDE1,会出现grub错误,无法引导到linux,但是拔掉安装XP的硬盘,又可以出现grub菜单,可以进入debian或fedora。
现在我只能敞开着机箱,用需要linux时拔掉安装XP硬盘的电源。痛苦!!
又不想重装debian,debian下已经安装了不少软件了,重装太麻烦了。
我想应该可以重新设置一下grub解决吧,望高手指点,谢谢!
发表于 2007-7-28 00:10:40 | 显示全部楼层
关於 Grub 的双硬盘引导,论坛上有帖子介绍如何 map 的,先尝试搜索一下吧
回复 支持 反对

使用道具 举报

发表于 2007-7-28 04:21:31 | 显示全部楼层
一年前刚添加了一块新硬盘,还曾经为这个事情烦恼过。
CU 论坛上看到的。

map (hd0) (hd1)
map (hd1) (hd0)

上面的这第一句和第二句话可以互换。超过两块硬盘的亦类似。不同的是改 1 为 n ( n 为大于 1的自然数 ) 。

例子:
# vi /boot/grub/menu.lst
  1. # Begin /boot/grub/menu.lst
  2. # By default boot the first menu entry.
  3. default 0
  4. # Allow 30 seconds before booting the default.
  5. timeout 30
  6. # Use prettier colors.
  7. color green/black light-green/black
  8. # The first entry is for CLFS.
  9. title CLFS SVN-20070410-i686 ( kenrel-2.6.20.1 gcc-4.1.2/dev/sda1 reiserfs )
  10.         root (hd0,0)
  11.         kernel /boot/clfskernel-2.6.20.1 root=/dev/sda1 vga=791
  12. # The first entry is for LFS[color=red]
  13. title Windows Xp ( /dev/hdb1 Windows Xp )
  14.         map (hd0) (hd1)
  15.         map (hd1) (hd0)
  16.         rootnoverify (hd1,0)
  17.         chainloader +1[/color]
复制代码

上面的是从第二硬盘第一分区的第一扇区引导操作系统,后面两句可以用一句表示为 chainloader (hd1,0)+1。因为,windows系统会将引导信息放在MBR和系统分区的第一扇区。

如果想从第二硬盘的MBR启动,那就是:
  1. title Windows 2003 ( /dev/hdb1 Windows 2003 )
  2.         map (hd0) (hd1)
  3.         map (hd1) (hd0)
  4.         chainloader (hd1)+1
复制代码

启动另一硬盘的linux也可以用类似的方法。但通常不这样做。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-28 23:32:11 | 显示全部楼层
谢谢两位的回复,我现在已经在debian下回帖了。不太熟悉map,没有用上面的方法,我下了一个cdlinux,启动后看了一下menu.lst文件,试着改了一下,发现其实问题的原因是当我在biso中将IDE2设置为firt boot device时,/dev/hdc被系统认hd0,而原来的menu.lst文件中是hd1,改为hd0后出现gurb双引导菜单,可以进入debian了,fedora和xp的菜单明天再弄了。
谢谢大家!
回复 支持 反对

使用道具 举报

发表于 2007-7-29 15:13:34 | 显示全部楼层
Post by lionmilk
谢谢两位的回复,我现在已经在debian下回帖了。不太熟悉map,没有用上面的方法,我下了一个cdlinux,启动后看了一下menu.lst文件,试着改了一下,发现其实问题的原因是当我在biso中将IDE2设置为firt boot device时,/dev/hdc被系统认hd0,而原来的menu.lst文件中是hd1,改为hd0后出现gurb双引导菜单,可以进入debian了,fedora和xp的菜单明天再弄了。
谢谢大家!

你在遇到grub引导失败的时候,如果你估计grub正在尝试引导的不是第一块硬盘(当前的),可以用上面我说的方法。 grub 命令模式或者编辑模式。
解决问题的方法有很多种。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-24 21:05:44 | 显示全部楼层
搞定了,做了如下修改
title Windows Xp ( /dev/hdb1 Windows Xp )
        map (hd0) (hd2)
        map (hd2) (hd0)
        chainloader hd2+1

谢谢各位的帮助。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表