LinuxSir.cn,穿越时空的Linuxsir!

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

{求助}grub如何引导第二块硬盘上的windows xp ?

[复制链接]
发表于 2006-2-22 15:18:52 | 显示全部楼层 |阅读模式
有两块硬盘
magic linux装在第一块硬盘上
WINDOWS  XP系统在第二块硬盘的第一分区上,这样写grub的menu.lst  却无法引导
title  Microsoft  Windows  XP
            rootnoverify  (hd1,0)
            chainloader  +1
显示器一直显示出“
title   Microsoft   Windows   XP
                  rootnoverify   (hd1,0)
                  chainloader   +1”
并保持不变,无错误提示
保持不变,无法正常进入WINDOWS  XP系统
不知该如何修改menu.lst才能正常引导widows系统
烦劳高手指点!感激不尽!
发表于 2006-2-22 23:20:21 | 显示全部楼层
试试这个
title                Windows XP
root                (hd1,0)
savedefault
makeactive
chainloader        +1
回复 支持 反对

使用道具 举报

发表于 2006-2-22 23:44:41 | 显示全部楼层
title windows xp
root (hd1,0)
savedefault
makeactive
map          (hd0) (hd1)
map          (hd1) (hd0)
chainloader  +1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-23 14:02:57 | 显示全部楼层

双硬盘双系统引导问题基本解决(GRUB FOR DOS的功劳)

前两天一好朋友送我一块10G的硬盘(后面叫它小大硬盘),我本计划用他来做备份盘,由于我以前80G的硬盘(后面叫它为大硬盘)分区表未能修复(强强制主分区的过错),正好使用这块小硬盘来玩lfs,于是在小硬盘上装了MAGIC LINUX 2.0正式版作为主系统,用于安装LFS,却未料到系统引导居然出现问题。

   装好硬盘后,BIOS中显示10G小硬盘为master主盘,80G硬盘为从盘,GRUB安装进小硬盘的MBR,在BIOS中设置主盘优先引导后正常进入linux系统,为了让GRUB也能引导大硬盘上的WINDOWS XP系统,我修改menu.lst的内容为:
# Note that you do not have to rerun grub after making changes to this file.
default=0
timeout=6
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title MagicLinux
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.15.3  ro root=/dev/hda1 vga=791 splash=silent
        initrd /boot/initrd-2.6.15.3.img
title MagicLinux (Graphics Mode)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.15.3 init 5 ro root=/dev/hda1 vga=791 splash=silent
        initrd /boot/initrd-2.6.15.3.img
title MagicLinux (Console Mode)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.15.3 init 3 ro root=/dev/hda1 vga=791 splash=silent
        initrd /boot/initrd-2.6.15.3.img
title MagicLinux (Single Mode)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.15.3 init 1 ro root=/dev/hda1 vga=791 splash=silent
        initrd /boot/initrd-2.6.15.3.img

# --> Microsoft Windows XP <--
title Microsoft Windows XP
      rootnoverify (hd1,0)
      chainloader +1

结果是显示器一直显示出“
title Microsoft Windows XP
rootnoverify (hd1,0)
chainloader +1”
并保持不变,无错误提示
保持不变,无法正常进入WINDOWS XP系统,这样写应当是正确的啊............

不能从小硬盘引导大硬盘让我很郁闷,但总不能每次都修改CMOS进不同系统吧~~~~~~~~~我决定让尝试让大硬盘来引导小硬盘上的系统,使用GRUB FOR DOS 网上留传的GRUB FOR DOS功能简单,设置也怪麻烦,但现在的许多DOS工具箱都使用GRUB FOR DOS来进行对不同功能工具的引导,同时还多来不少系统维护的实用工具,所以我直接到WWW.51CT.CN下载了51lite DOS 工具箱,安装后windows系统c盘多了几个文件,其中有grldr,文件夹xc_dos等,boot.ini,boot.ini的内容为
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /detecthal
C:\grldr="51lite DOS tools"
打开目录xc_dos里的文件xc_menu.lst(xunchi很牛,grub被修改得满彻底www.xunchi.com)进行修改,修改后内容如下:
#########
password
timeout 5
###########
default 0
fallback 1
fontfile (hd0,0)/xc_dos/fonts
###########
splashimage (hd0,0)/xc_dos/bj2008.xpm.gz
###########
************************************************************************************
title MagicLinux
        root (hd1,0)
        kernel /boot/vmlinuz-2.6.15.3  ro root=/dev/hda1 vga=791 splash=silent
        initrd /boot/initrd-2.6.15.3.img
title MagicLinux (Graphics Mode)
        root (hd1,0)
        kernel /boot/vmlinuz-2.6.15.3 init 5 ro root=/dev/hda1 vga=791 splash=silent
        initrd /boot/initrd-2.6.15.3.img
title MagicLinux (Console Mode)
        root (hd1,0)
        kernel /boot/vmlinuz-2.6.15.3 init 3 ro root=/dev/hda1 vga=791 splash=silent
        initrd /boot/initrd-2.6.15.3.img
title MagicLinux (Single Mode)
        root (hd1,0)
        kernel /boot/vmlinuz-2.6.15.3 init 1 ro root=/dev/hda1 vga=791 splash=silent
        initrd /boot/initrd-2.6.15.3.img
**************************************************************************************
title 运行     Max DOS 工具盘 5.5
##
root    (hd0,0)
kernel (hd0,0)/xc_dos/memdisk.gz c=60 h=4 s=36 floppy
###########
###########
initrd (hd0,0)/xc_dos/Max_dos.IMG c=60 h=4 s=36 floppy
#####
password
###
title 运行     矮人 GHOST 8.2 向导工具(矮人版,简单易用)
password
####root    (hd0,0)
kernel (hd0,0)/xc_dos/memdisk.gz
###########
initrd (hd0,0)/xc_dos/ar_ghost.img
####
title 运行     GHOST 8.2 高级功能版(DOS之家版,功能强大)
password
####root    (hd0,0)
kernel (hd0,0)/xc_dos/memdisk.gz
###########
initrd (hd0,0)/xc_dos/g82.IMA
#####
title 调用     从光盘启动系统
scdrom --bootcd
###########
title 返回     WINDOWS启动菜单
rootnoverify (hd0,0)
makeactive
chainloader  +1
########################

自此实现了双系统的正常引导,只是有一点很奇怪,grub均把自己所在硬盘认成是hd0!!GRUB FOR DOS可以引导第二块硬盘上的操作系统,而magic linux装的GRUB却无法引导第二块硬盘上的WINDOWS XP系统,两者的版本相同,同为GRUB  version 0.95

疑惑中,不知到底是不是我写menu.lst造成的错误,烦劳知情者指点!!谢
回复 支持 反对

使用道具 举报

发表于 2006-2-23 18:28:11 | 显示全部楼层
用 map (hd1) (hd0)
交换硬盘的循序即可
回复 支持 反对

使用道具 举报

发表于 2006-2-23 19:57:42 | 显示全部楼层
我也碰到类似问题,不过现象和楼主不一样

两个硬盘,均80G
hd0:有Grub,分区1装了Xp英文版,后面的分区有RHEL4
hd1:无Grub,分区1装了Xp中文版

title Microsoft Windows XP
rootnoverify (hd1,0)
chainloader +1”
用这个方法,可以进入Xp中文版,不过进入前会出现Ntldr is missing, press enter to restart,按enter后就进系统了,奇怪

更改hd1的boot.ini,更改其中rdisk(0)为rdisk(1),竟然进了Xp英文版,就是hd0上的Xp!更奇怪了,我没改过Grub中的设置。。。

现在准备去map试试看
回复 支持 反对

使用道具 举报

发表于 2006-2-23 20:10:43 | 显示全部楼层
map了
no use
一样NTLDR is missing
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-24 07:12:10 | 显示全部楼层
现在问题已经完全解决了

现在修改menu.lst内容如下,引导问题解决
# --> Microsoft Windows XP <--
title Microsoft Windows XP
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1

查到资料,修改原因如下:
If you have installed DOS (or Windows) on a non-first hard disk, you have to use the disk swapping technique, because that OS cannot boot from any disks but the first one. The workaround used in GRUB is the command map (see map), like this:

grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

就是hd0的分区变成了hd1的,而hd1的分区变成了hd0的,用map命令可以虚拟掉换两硬盘的id.
回复 支持 反对

使用道具 举报

发表于 2006-2-27 22:22:26 | 显示全部楼层
弱问:

假如 hd0是 Linux 硬盘
hd1 是 DVD 刻录机
hd2 是 xp
hd3 也是 DVD 刻录机

该如何引渡 /dev/hdc1 上的xp?

title Microsoft Windows XP
root (hd2,0)
savedefault
makeactive
map (hd0) (hd2)
map (hd2) (hd0)
chainloader +1

提示说没有hd2,结果无法引渡,如遇这种情况,该如何map?

请勿见笑,我是 xp 白痴!
回复 支持 反对

使用道具 举报

发表于 2006-2-28 05:56:03 | 显示全部楼层
Check /boot/grub/device.map to see if xp is exactly on hd2 .
回复 支持 反对

使用道具 举报

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

本版积分规则

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