免费注册 查看新帖 |

Chinaunix

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

使用GRUB的困惑:STAGE1能不能直接引导放在文件系统中的STAGE2? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-21 00:11 |只看该作者 |倒序浏览
GRUB有几个重要的文件,STAGE1、STAGE1.5、STAGE2
STAGE1:它只有512字节,通常放在MBR中,它的作用很简单,就是在系统启动时用于装载STAGE2并将控制权交给它。
STAGE2:GRUB的核心,所有的功能都是由它实现。
STAGE1.5:介于STAGE1和STAGE2之间,是它们的桥梁,因为STAGE2较大,通常都是放在一个文件系统当中的,但是STAGE1并不能识别文件系统格式,所以才需要STAGE1.5来引导位于某个文件系统当中的STAGE2。根据文件系统格式的不同,STAGE1.5也需要相应的文件,如:e2fs_stage1_5,fat_stage1_5,分别用于识别ext和fat的文件系统格式。引导顺序如下:STAGE1->;STAGE1.5->;STAGE2,由于STAGE1不能识别文件系统格式,所以STAGE1只能通过如:(HD0,0)1+22的格式来读取STAGE1.5。
例:在GRUB中执行:root (hd0,0);setup (hd0)。其实setup就是调用了install命令来安装GRUB到硬盘上的。详细命令如:embed /boot/grub/e2fs_stage1_5 (hd0)
install /boot/grub/stage1 (hd0) (hd0)1+22 p (hd0,0)/boot/grub/stage2 /boot/grub/grub.conf
由上面的命令看出,stage1写进了(hd0)的MBR中,stage1.5写进了(hd0)MBR以后的22个扇区中(将stage1.5写进MBR以后的扇区中,会不会影响正常的文件系统?不会,因为stage1.5较小,只占22个扇区,硬盘上第一个文件系统的开始扇区最小也只能从0柱面,1磁头,1扇区开始。就是说MBR所在磁头就只用到了1个扇区而已,按照现在硬盘的规格来说,一般一个磁头都有60+个扇区,所以这些扇区可以用来放STAGE1.5,但是放STAGE2就不够了,所以只能将STAGE2放进文件系统中了),为了证明这一点,执行dd if=/boot/grub/stage1 of=/dev/hda bs=512 count=1 seek=1,将stage1写进原本是stage1.5的位置上。结果系统引导时屏幕上不停的出现GRUB,一直这样这样循环,看来这是对的。
硬盘搞清楚了后,就来弄软盘,以前见过有人说制作引导软盘的格式如下:dd if=/boot/grub/stage1 of=/dev/fd0
dd if=/boot/grub/stage2 of=/dev/fd0 seek=1
自己试了一下,不能进行引导,猜一下可能是直接将STAGE1写进/dev/fd0的开始扇区不行,需要配置,于是我又加了一步,就是在GRUB环境中执行:install /boot/grub/stage1 (fd0) (fd0)1+255,这一步会重写fd0并进行正确的配置,指示STAGE1读(fd0)1+255以后的扇区进行引导,255是写入STAGE2需要的扇区数。用这张软盘启动,成功。在这里没有用到STAGE1.5,因为STAGE2直接写进扇区,没有放在文件系统中。这样的引导软盘有个缺点,就是不能将它格式成任何文件系统,从而导致不能将kernel放进软盘中。
后来将软盘格式化成ext2格式,安装后发现不能正确从软盘引导,放在软盘上的STAGE2文件根本不能被识别。难道GRUB不支持软盘为ext2格式?请高手赐教。
然后又将软盘格式化成vfat格式,将stage2拷贝到根目录下,在GRUB环境中执行:install /boot/grub/stage1 (fd0) (fd0)/stage2,这样可以进行引导,这里将STAGE2放在了文件系统中,但是并没有用到STAGE1.5,为什么也可以引导STAGE2呢?难道STAGE1支持vfat的文件格式?
现在又回到硬盘上吧,刚才我将stage1写进(hd,0)1+1中,也就是本应该放stage1.5的地方,启动时不停的循环出现GRUB,不能正常引导,后来用软盘引导进入后,在GRUB环境中执行:install (hd0,0)/boot/grub/stage1 (hd0) (hd0,0)/boot/grub/stage2,这里没有用到STAGE1.5,重新用硬盘引导,成功。why?为什么STAGE1可以读取ext2文件系统中的文件?
以上是我本人在使用GRUB时遇到的一些问题,希望高手给予解答。也希望大家都来更深入的了解GRUB。

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

使用GRUB的困惑:STAGE1能不能直接引导放在文件系统中的STAGE2?

怎么没有人顶呀,自己顶下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP