QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1046|回复: 8

系统引导问题,二个硬盘,grub不能引导windows

[复制链接]
发表于 2003-10-8 19:08:52 | 显示全部楼层 |阅读模式
我有两个硬盘,在安装linux的时候把grub装在第二个硬盘的mbr

但是我的linux还是装在第一个硬盘,

就是在安装的时候调整硬盘顺序

现在如果用第二个硬盘启动的话,选择dos项不能进入window

改了grub.conf还是一样,我怀疑是安装时调整硬盘顺序的原因

如果把第二个硬盘的mbr读出,放到windows下,用windows boot启动

启动linux时显示    grub  然后一个光标闪烁,就不能动了,也不能输入

请问怎么解决,,随便用哪一个盘启动都可以,只要win和linux都能启动就好

谢了!!!
发表于 2003-10-8 19:42:56 | 显示全部楼层
我很混乱,拜托大哥组织一下!具体些。
回复

使用道具 举报

发表于 2003-10-8 19:48:11 | 显示全部楼层
有点意思!
按说从第二个硬盘启动应该可以的。
回复

使用道具 举报

发表于 2003-10-8 19:51:53 | 显示全部楼层
grub.conf里加
map (hd0) (hd1)
map (hd1) (hd0)
回复

使用道具 举报

发表于 2003-10-9 00:40:42 | 显示全部楼层
注意这种情况如果是在ide和scsi混用的时候才什经常发生。因为这可能和你的cmos有关。
如果是一种类型的情况,可能这种情况很容易解决。
回复

使用道具 举报

 楼主| 发表于 2003-10-9 08:43:37 | 显示全部楼层
我两个硬盘都是IDE的,安装的时候因为不想覆盖windows的引导记录,所以才把grub放到第二个硬盘的,我本来以为这样如果从第二个硬盘启动,也可以进入win ,可是没想到不行,

我先试试hew兄的方法吧,对了,hew兄,你这个map具体的用法是怎么样啊,好象我看了一些有关grub文章都没介绍过,可否告知一二,谢了~!!
回复

使用道具 举报

发表于 2003-10-9 08:55:58 | 显示全部楼层
命令map:当你有两块硬盘,一个无法从第二块硬盘启动的操作系统,例如Windowsxp,就可以使用map命令.你能够将hd0映射为hd1,将hd1映射为hd0。换句话说,你可以虚拟的交换两个硬盘而启动所需要的操作系统 。命令形式如下:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
回复

使用道具 举报

发表于 2003-10-10 15:28:04 | 显示全部楼层
hew兄解释得不错:)
说实在的,喜欢用grub作引导的,作张启动盘是很应该的。
除了帮你解决启动的问题,还可以
帮你学习下grub shell的知识,多试下就知道就怎么样用了。
回复

使用道具 举报

发表于 2003-10-12 18:38:44 | 显示全部楼层
随便转一篇文章:
http://lh.00615.net/news_11.php?id=4006
[code:1]
硬盘改变位置之后重新安装GRUB以及修改相应文件的方法

Author:Seraphim(张乐奕)
Mail:[email protected]
Date:2003-08

问题描述:
原来系统是装在计算机第二个IDE口上(hdc),mount了另外一块hda到/u01下面。
现在想把这两块硬盘的位置对调一下,hda->hdc,原来的hdc->hda,请问我该如何修改GRUB的配置?

当前硬盘配置和GRUB配置如下所示:

linux:/home/zhangleyi # fdisk -l

Disk /dev/hdc: 10.2 GB, 10262568960 bytes
16 heads, 63 sectors/track, 19885 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 * 1 25 12568+ 83 Linux
/dev/hdc2 26 2522 1258488 82 Linux swap
/dev/hdc3 2523 19885 8750952 83 Linux

Disk /dev/hda: 20.5 GB, 20576747520 bytes
255 heads, 63 sectors/track, 2501 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 2501 20089251 83 Linux

linux:/home/zhangleyi # more /etc/grub.conf
root (hd0,0)
install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,0)/grub/menu.lst
quit

linux:/home/zhangleyi # more /boot/grub/menu.lst
# Modified by YaST2. Last modification on Sat Aug 2 09:56:00 2003


gfxmenu (hd1,0)/message
color white/blue black/light-gray
default 0
timeout 8

title linux
kernel (hd1,0)/vmlinuz root=/dev/hdc3 vga=791 splash=silent
initrd (hd1,0)/initrd

title floppy
root (fd0)
chainloader +1

title failsafe
kernel (hd1,0)/vmlinuz.shipped root=/dev/hdc3 ide=nodma apm=off acpi=off vga=normal nosmp maxcpus=0 disableapic 3
initrd (hd1,0)/initrd.shipped

linux:/home/zhangleyi #

首先感谢www.linuxsir.com的beyond_2000斑竹的耐心解释,才有了这篇东西的诞生。
其次,对于GRUB的详细解释,可以用info grub得到。

目的:
本来系统安装在hdc上(也就是第二个IDE接口的primary位置上),GRUB装在另一块硬盘hda上,现在想把这两块硬盘位置对调一下。

方法:
首先more /etc/fstab,确认当前有几个独立的文件系统,我的机器情况如下:
/dev/hdc3是/,/dev/hdc1是/boot,/dev/hdc2是swap。

1. 关机,把硬盘的连线从hdc改成hda

2. 用SuSE安装盘的CD1启动计算机

3. 在启动菜单中选择rescue

4. 输入root,不需要密码,进入rescue命令行

5. pwd,可以看到当前目录为/root,退回到/

5. 键入grub,进入grub命令状态

6. find /boot/grub/stage1,该命令用于确认包含boot所需文件的目录,显示hd0,0

7. root (hd0,0)

8. setup (hd0) 显示成功安装GRUB

9. quit,退出grub命令行状态

10. mount /dev/hda1 /tmp (备注:没有该硬盘连线之前是hdc,现在是hda了,该命令将mount原先的/boot分区)

11. mount /dev/hda3 /usr (备注:该命令将mount原先的/分区)

12. vi /tmp/grub/menu.lst,将所有的hd1改为hd0,hdc改成hda,存盘退出

13. vi /usr/etc/fstab, 将所有的hdc改成hda,hda改成hdc,存盘退出

14. 重启计算机,OK

[/code:1]
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-18 21:32 , Processed in 0.110996 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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