免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1893 | 回复: 14
打印 上一主题 下一主题

请教GRUB高手。(实在想不明白) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-05 21:56 |只看该作者 |倒序浏览
请教GRUB高手。(实在想不明白)

请问grub的要读的grub.conf的路径存放在哪里,是在mbr里还是在什么地方?

我的电脑上装了两个red hat linux,用grub引导。分别装在hda6和hda7分区上。

在hda6的linux里的命令行里运行grub,在grub提示符下输入root (hd0,5)回车,然后再输入setup (hd0)。然后再回车。这时的mbr里装入了hda6分区里的linux的grub,起动时grub读取/dev/hda6/boot/grub/grub.conf的配置。

此时备份这个mbr。


然后在hda7的linux里运行grub,分别如上输入root (hd0,6)和setup(hd0)两个命令,这时mbr里的grub就会读取/dev/hda7/boot/grub/grub.conf的配置。

如果这时我恢复备份的mbr,这时我觉得它应该读取/dev/hda6/boot/grub/grub.conf。可是实际上不是这样,恢复备份的mbr后读取的仍是/dev/hda7/boot/grub/grub.conf的配置。

请问,grub的要读的grub.conf的路径不是在mbr里么?

论坛徽章:
0
2 [报告]
发表于 2004-11-05 21:58 |只看该作者

请教GRUB高手。(实在想不明白)

不知说明白没有,再把问题罗索一遍。

假如你有两个red hat linux,一个是linux-1,一个在linux-2。

如果用grub引导,

如果你用在安装linux-1时安装的grub(或在linux-1下恢复的grub),它肯定会读linux-1里的/boot/grub/grub.cong文件。

如果你用在安装linux-2时安装的grub(或在linux-2下恢复的grub),它肯定会读linux-2里的/boot/grub/grub.cong文件。

我问的是grub怎么知道去读哪一个linux的配置文件?

我想它肯定有一个路径保存在grub里,而grub就是根据这个路径来决定读哪个linux里的配置文件的。可这个路径保存在哪里呢?


如果你把安装linux-1时的mbr备份下来(它读的是linux-1的配置文件),然后安装linux-2的grub,这时的grub读的是linux-2的配置。然后把linux-1的备份mbr替换了linux-2的mbr,我想这时它应该读linux-1的配置了,可是它实际仍读的是linux-2
的配置。这是不是说要读配置文件的路径不是保存在mbr里,可它又在哪里呢?


我备份、恢复mbr用的是dos下的一个工具叫“三茗硬盘医生”,我先用软盘启动到dos,然后运行此工具就可以备份恢复mbr了。当然也可以用dd命令。

论坛徽章:
0
3 [报告]
发表于 2004-11-06 12:05 |只看该作者

请教GRUB高手。(实在想不明白)

各位赐教!

论坛徽章:
0
4 [报告]
发表于 2004-11-06 12:41 |只看该作者

请教GRUB高手。(实在想不明白)

关注中。。。

论坛徽章:
0
5 [报告]
发表于 2004-11-06 14:51 |只看该作者

请教GRUB高手。(实在想不明白)

这个问题挺有意思,顶一下

论坛徽章:
0
6 [报告]
发表于 2004-11-06 15:44 |只看该作者

请教GRUB高手。(实在想不明白)

grub的boot是这样的:

一般来说它由stage1 stage2 组成

stage1存在mbr中,stage2存在于文件系统之中

如果stage2在文件系统中由很连续的块组成的,那么stage1将通过blocklist直接load  stage2(不通过文件系统),否则通过加载stage1.5(被存贮在mbr后的磁盘扇区中),由stage1.5通过文件系统加载stage2,估计你的stage2是通过stage1.5加载的,这样你两次mbr中的数据都是加载的同一个stage1.5,stage1.5当然当载同一stage2,由此下推,使用的conf当然也是同一个了

论坛徽章:
0
7 [报告]
发表于 2004-11-06 21:43 |只看该作者

请教GRUB高手。(实在想不明白)

可是怎么决定是由stage1直接加载stage2,还是由stage1.5来加载stage2呢。

论坛徽章:
0
8 [报告]
发表于 2004-11-06 21:52 |只看该作者

请教GRUB高手。(实在想不明白)

你的两个linux系统一定是先后安装的,第一个安装的只能引导它自己,而第二个linux在安装时已经知道第一个的存在,所以安装后能提供双启动。所以,
grub读的是第二个系统的的grub.conf,
#grub /dev/hda
这个命令就是把 grub.conf加载到MBR里
我是这么理解的

论坛徽章:
0
9 [报告]
发表于 2004-11-06 21:55 |只看该作者

请教GRUB高手。(实在想不明白)

mbr后紧跟的不是物理c盘的引导记录么?stage1.5不会是保存在c盘的引导记录里吧?
如果要备份stage1.5,怎么备份?

论坛徽章:
0
10 [报告]
发表于 2004-11-06 22:00 |只看该作者

请教GRUB高手。(实在想不明白)

compnik大哥请指教。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP