LinuxSir.cn,穿越时空的Linuxsir!

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

grub迷惑的地方

[复制链接]
发表于 2006-2-16 16:47:52 | 显示全部楼层 |阅读模式
资料上说grub被安装到分区的主引导纪录上,而每个分区都有主引导纪录.假如grub安装到硬盘的MBR上,应该就会把MBR原来的512个字节全部覆盖掉了(grub中的stage1就是512个字节吧 !),原来这个磁盘上的分区表就丢失了,那摸grub如何知道有关分区的内容呢?.MBR中的那些有关分区纪录不是已经丢了吗?...
还有如果GRUB被安装到逻辑分区的主引导纪录上,那开机的时候会怎么执行grub,而不是原来的MBR呢?(这个时候MBR还在呀!)我的依据是系统自检后不就自动执行MBR上的代码吗?..既然GRUB没有覆盖mbr,怎么就不执行MBR上的了呢?..
发表于 2006-2-16 17:43:04 | 显示全部楼层
分区表 在 mbr 后面 ,覆盖mbr不会破坏分区表.

可能是mbr自动跳转到了逻辑分区的主引导纪录.
回复 支持 反对

使用道具 举报

发表于 2006-2-16 19:53:50 | 显示全部楼层
我重来没出现楼主说的情况。
grub装在MBR上,启动就是grub;grub安装在分区的主引导记录上,则启动时是不出现grub菜单的,要用其它的引导程序引导grub。
回复 支持 反对

使用道具 举报

发表于 2006-2-16 20:15:05 | 显示全部楼层
用启动盘启动。

〔装linux时,有选择grub安装方案,跟着有个制作启动盘环节,我想启动盘是用在把grub安装在分区的情况上,大概想法...〕
回复 支持 反对

使用道具 举报

发表于 2006-2-16 20:34:12 | 显示全部楼层
MBR共512B,前446是BOOT LOAD ,后64B分成4个分区表
所以GRUB安装在MBR,是占用前446,不会影响分区表
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-16 23:07:04 | 显示全部楼层

dd

从grub的原代码中可以看到..其中的stage1就是521个字节,而且最后两个自己还是55AA呢?..说明它是覆盖了整个MBR,不只是前面446个字节呀!.....

还有把GRUB安装在逻辑分区的引导扇区后..开机后好象还是出现GRUB呀!.....
回复 支持 反对

使用道具 举报

发表于 2006-2-17 09:47:38 | 显示全部楼层
我觉得其实这就象二次启动一样,装在mbr的446字节的代码,只是为了启动grub。这点就好象os loader一样,mbr的446只是为了启动os loader。
mbr(446)->grub or os loader()->os
回复 支持 反对

使用道具 举报

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

本版积分规则

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