netbuddy 发表于 2005-5-28 16:00:46

如何通过一块硬盘上的GRUB引导另一硬盘上的系统

偶把原来的gurb.conf改了下
#####################################
timeout = 10
splashimage = (hd0,7)/boot/grub/splash.xpm.gz
default = 3
title Red Flag Desktop (2.4.26-1)
        root (hd0,7)
        kernel /boot/vmlinuz-2.4.26-1 ro root=LABEL=/1 vga=0x0F00 splash=silent
        initrd /boot/initrd-2.4.26-1.img
title Red Flag Desktop (Safe Mode)
        root (hd0,7)
        kernel /boot/vmlinuz-2.4.26-1 ro root=LABEL=/1 4
        initrd /boot/initrd-2.4.26-1.img
title Red Flag Desktop (Console Mode)
        root (hd0,7)
        kernel /boot/vmlinuz-2.4.26-1 ro root=LABEL=/1 3
        initrd /boot/initrd-2.4.26-1.img
title Windows XP
        rootnoverify (hd0,0)
        chainloader +1


#The boot menu for start system in hd1
title Red Hat Linux (2.4.20-8)
      root (hd1,6)
      kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
      initrd /boot/initrd-2.4.20-8.img
title Windows 2000
      rootnoverify (hd1,0)
      chainloader +1

##########################
启动硬盘也就是HD0上有RedFlag和WinXP两个系统,另外一硬盘HD1上有RedHat和Win2000两个系统,我改成上面的内容后,REDHAT可以引导,但WIN2000引导后还是有问题,不知道错在哪里?
REDHAT所在硬盘上的GRUB.CONF文件是这样的
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:You do not have a /boot partition.This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,6)
#          kernel /boot/vmlinuz-version ro root=/dev/hda7
#          initrd /boot/initrd-version.img
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,6)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
        root (hd0,6)
        kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
        initrd /boot/initrd-2.4.20-8.img
title Windows
        rootnoverify (hd0,0)
        chainloader +1

netbuddy 发表于 2005-5-28 16:12:08

我就是不想每次都改BIOS设置引导顺序

netbuddy 发表于 2005-5-28 16:29:09

我反现我XP所在硬盘的C盘根目录下有个GRUB目录,里面有个menu.lst,内容是这样的

timeout 10

title Windows at (hd0,0)
root (hd0,0)
chainloader +1

月下刀客 发表于 2005-5-28 17:09:19


title Window 2000
root (hd1,0)                               #根据你的实际填
chainloader (hd1,0)+1               #根据你的实际填
map (hd0) (hd1)
map (hd1) (hd0)
makeactive

netbuddy 发表于 2005-5-28 17:18:39

高手啊高手,你在哪里?

这是 我的分区信息
# fdisk -l

Disk /dev/hdc: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   IdSystem
/dev/hdc1   *         1       510   4096543+   bWin95 FAT32
/dev/hdc2         511      486534981537+   fWin95 Ext'd (LBA)
/dev/hdc5         511      242215358108+   cWin95 FAT32 (LBA)
/dev/hdc6          2423      395112281661    cWin95 FAT32 (LBA)
/dev/hdc7          3952      4588   5116671   83Linux
/dev/hdc8          4589      4865   2224971   82Linux swap

Disk /dev/hdb: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   IdSystem
/dev/hdb1   *         1       730   5863693+   bWin95 FAT32
/dev/hdb2         731      486533214387+   fWin95 Ext'd (LBA)
/dev/hdb5         731      1946   9767488+   bWin95 FAT32
/dev/hdb6          1947      364913679316    bWin95 FAT32
/dev/hdb7          3650      4300   5229126    bWin95 FAT32
/dev/hdb8          4301      4810   4096543+83Linux
/dev/hdb9          4811      4865    441756   82Linux swap
#

netbuddy 发表于 2005-5-28 17:27:44


title Window 2000
root (hd1,0)                               #根据你的实际填
chainloader (hd1,0)+1               #根据你的实际填
map (hd0) (hd1)
map (hd1) (hd0)
makeactive



那我的RH怎么可以正常启动呢?
一点要说明,两硬盘分别在BIOS里设置引导顺序,都能正常引导自己上面的操作系统

netbuddy 发表于 2005-5-28 17:31:06

刀客大哥,能不能解释一下下啊,我可不敢乱改

月下刀客 发表于 2005-5-28 17:35:05

如果你以非win2K所在盘启动,上面代码可以启动你的win2k吗?
可以话再来弄rh嘛。


title redhat
root (hd1,6)
kernel (hd1,6)/boot/vmlinuz-2.4.20-8 ro root=LABEL=/
initrd (hd1,6)/boot/initrd-2.4.20-8.img


看看能不能启动你的rh
如果不行,且x设置正确
加上
map (hd0) (hd1)
map (hd1) (hd0)
makeactive
再试

netbuddy 发表于 2005-5-28 17:42:13

大哥,我还是想简单把我的问题描述一下“:


   我呢,现在在的系统是RedFlag,是和XP在一个盘。另外一个盘呢,上面有RH和2000,改了配置文件后RH可以进,2000不行。

配置文件是怎么改的呢?我在原来的配置文件下加了一段:
#The boot menu for start system in hd1
title Red Hat Linux (2.4.20-Cool
root (hd1,6)
kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /boot/initrd-2.4.20-8.img
title Windows 2000
rootnoverify (hd1,0)
chainloader +1

TMD,奇怪的是可以正常的把HD1上RH引导,2000就不行

月下刀客 发表于 2005-5-28 17:51:35

你不敢改~~~~~~~~~我的天啊,白说了。 :roll:
配置文件这样看起来就清爽了,每个title分一段,它是不会影响其他title的。

timeout = 10
splashimage = (hd0,7)/boot/grub/splash.xpm.gz
default = 3

title Red Flag Desktop (2.4.26-1)
root (hd0,7)
kernel /boot/vmlinuz-2.4.26-1 ro root=LABEL=/1 vga=0x0F00 splash=silent
initrd /boot/initrd-2.4.26-1.img

title Red Flag Desktop (Safe Mode)
root (hd0,7)
kernel /boot/vmlinuz-2.4.26-1 ro root=LABEL=/1 4
initrd /boot/initrd-2.4.26-1.img
title Red Flag Desktop (Console Mode)

root (hd0,7)
kernel /boot/vmlinuz-2.4.26-1 ro root=LABEL=/1 3
initrd /boot/initrd-2.4.26-1.img

title Windows XP
rootnoverify (hd0,0)
chainloader +1

title Window 2000
root (hd1,0)   
chainloader (hd1,0)+1
map (hd0) (hd1)
map (hd1) (hd0)
makeactive

title redhat 9.0
root (hd1,6)
kernel (hd1,6)/boot/vmlinuz-2.4.20-8 ro root=LABEL=/
initrd (hd1,6)/boot/initrd-2.4.20-8.img

netbuddy 发表于 2005-5-28 18:40:32

搞定了,哈哈
谢谢刀客兄
#system start menu in hd1
title Red Hat Linux (2.4.20-8)
root (hd1,6)
kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /boot/initrd-2.4.20-8.img

title Windows 2000
root (hd1,0)
chainloader +1
map (hd0) (hd1)
map (hd1) (hd0)
makeactive



如何用grub引导非第一个硬盘上的windows系统?
如何用grub引导非第一个硬盘上的windows系统?
可以使用map命令来对调BIOS中定义的驱动器,比如:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

这个才是关键
页: [1]
查看完整版本: 如何通过一块硬盘上的GRUB引导另一硬盘上的系统