LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: phyma

Grub 源代码分析

[复制链接]
发表于 2005-3-11 14:15:34 | 显示全部楼层

最后得出结论,stage1.S被放在0面0道的第1扇区,start.S被放在0面0道的第2扇区,而与boot分区相关的文件系统的xxfs_stage1_5被放在0面0道第3扇区开始的扇区里,其占据的扇区数目与该stage1_5文件的大小有关。


  1. [b]
  2. +------------+
  3. |  stage1    | <-- 0面0道第1扇区  
  4. +------------+
  5. |  start     | <-- 0面0道第2扇区
  6. +------------+
  7. |  stage1_5  | <-- 0面0道第3扇区
  8. |   ...      |
  9. +------------+
复制代码



而其余的stage1_5以及stage2都作为文件被存放在boot分区里。
回复 支持 反对

使用道具 举报

发表于 2005-3-12 01:20:36 | 显示全部楼层
好了。补充完了stage1以及stage1_5的执行流程以及位置关系后,就轮到stage2这个大约110KB左右的mini OS了,前面phyma斑竹为此开了个头,我觉得phyma斑竹写得很好,他对于stage2的内幕有着很深刻的理解。还请继续,中途打扰了,不好意思,请原谅。
回复 支持 反对

使用道具 举报

发表于 2005-3-12 15:07:13 | 显示全部楼层
grub项目已经停止了,取而代之的是grub 2,一个完全重写的项目
回复 支持 反对

使用道具 举报

发表于 2005-3-12 16:06:24 | 显示全部楼层
Post by utstar
grub项目已经停止了,取而代之的是grub 2,一个完全重写的项目

虽然GRUB2在开发中,并在未来替代GRUB,但我个人认为,在RMS所提倡的FreeBIOS出现之前,一个Boot Loader的底层原理是差不多的(最显著的一点就是严重依赖BIOS例程),而且GRUB2的所谓重写,估计也只是Boot模型的重构优化而已,是代码层面的清理。如果x86等硬件平台的接口标准不变的话,GRUB2也并非凌驾于GRUB之上的空中楼阁。

我们这里的源码分析,主要是揭开GRUB的内幕,阐明Boot Loader的原理,例如,划分为stage1和stage2的出发点、filesystem-aware的实现方法等。个人认为,这些思想在GRUB2里应该也会存在的。

当然,很盼望兄弟能为我们讲解一下GRUB2的新亮点。呵呵。
回复 支持 反对

使用道具 举报

发表于 2005-3-17 15:54:58 | 显示全部楼层
我有个问题:
grub中的stage1。5处在硬盘的第二和第三扇区,这样的话,
会不会覆盖掉原本的一些放在此处的有用信息;

如果有,那么,grub是用什么方法来处理这个问题?
回复 支持 反对

使用道具 举报

发表于 2005-3-17 21:28:09 | 显示全部楼层
Post by lyy9505
我有个问题:
grub中的stage1。5处在硬盘的第二和第三扇区,这样的话,
会不会覆盖掉原本的一些放在此处的有用信息;

如果有,那么,grub是用什么方法来处理这个问题?

0面0道的所有扇区都是保留的,BIOS不会放置任何数据在此。
注意,第一个主分区也是从1面0道的第1扇区开始的。
回复 支持 反对

使用道具 举报

发表于 2005-3-18 14:03:13 | 显示全部楼层
明白,谢谢
回复 支持 反对

使用道具 举报

发表于 2005-3-28 19:33:02 | 显示全部楼层
菜鸟来看一下 ,为什么不继续了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-7 14:54:35 | 显示全部楼层
Post by k8k
菜鸟来看一下 ,为什么不继续了?

最近工作太忙,不好意思各位,估计这个主题要难产了(!!!我要休假!!!!)

但是我会尽量抽时间来和大家探讨一些grub的问题,见谅
回复 支持 反对

使用道具 举报

发表于 2005-6-7 15:09:15 | 显示全部楼层
楼主加油~
回复 支持 反对

使用道具 举报

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

本版积分规则

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