有一个关于系统加载的问题没弄明白,请教.
时间:2003-05-03
来源:互联网
但是文件系统作为模块,在刚开始的时候并未加载,而在grub或者lilo的配置文件中,内核文件vmlinuz是用目录的方式指定的:/boot/vmlinuz-2.4.20-8
内核文件在系统引导的过程中是如何被找到并加载的呢?
作者: errormg 发布时间: 2003-05-03
作者: jimmyfoster 发布时间: 2003-05-07
我也看了有关GRUB的一些文档,大多是教你如何配置,但他的功能如此强大,我想在MBR那样一个狭小的地方应该是容不下他的吧?那它放在什么地方呢,难道也是在硬盘中某个固定位置,不受文件系统的控制?
作者: ice9973 发布时间: 2003-05-08
lilo根据lilo.conf记录下kernel的位置
grub记录下pre os的位置,所以每次启动都是同一个pre os
再有pre os去load kernel
作者: jimmyfoster 发布时间: 2003-05-08
最初由 ice9973 发表 谢谢你的回答,我明白了为什么在配置了新的内核后为什么要运行lilo了。 我也看了有关GRUB的一些文档,大多是教你如何配置,但他的功能如此强大,我想在MBR那样一个狭小的地方应该是容不下他的吧?那它放在什么地方呢,难道也是在硬盘中某个固定位置,不受文件系统的控制? |
作者: keenor 发布时间: 2003-06-10
作者: dan 发布时间: 2003-06-27
当时还是dos+win31,我刚开始用电脑,那时个人电脑玩家还没有系统装载器的概念,一个用大型机的人向我这个井底蛙吹牛时,提到了大型机的启动是需要另一个程序来装载。
现在硬件强了,所以个人电脑就可以应用各种以前大型机才有的功能,其中包括grub。grub是按照装载器概念制作的,它自己有硬件驱动,可以读取文件系统,可以按照指定的参数把内核装载到内存里去,它甚至还有一个命令行处理器,它的设计目标只有一个,灵活。
mbr太小了,所以grub分成stage1,stage2,stage1就在mbr里,然后读取stage2,stage2安装在一个文件系统里,但stage1必须知道stage2的物理位置,然后stage2读取文件系统信息,这样才能取得内核的逻辑位置。lilo说白了就是一个grub的stage1,相当于grub使用chain loader的启动方式。
作者: kakuyou 发布时间: 2003-06-27
作者: seablue 发布时间: 2003-06-28
如果grub安装在mbr中,或者安装在FFS、ReiserFS等有所谓“boot loader”区域的文件系统的引导扇区中,则stage1.5就会存放在mbr后面的N个扇区(即0面0磁道的剩余扇区)中,或者存放在文件系统的boot loader区域中,而stage1中会记录stage1.5的物理位置,并加载stage1.5,由stage1.5根据stage2的逻辑位置(比如/boot/grub2/stage2)找到其物理位置,并加载stage2。
否则,如果grub安装在某个其他类型分区的引导扇区中,则stage1.5不会安装,stage1会记录stage2的物理位置,并直接加载stage2。
另外,更细节地说,其实stage1只是加载stage1.5或者stage2的第一个扇区,其余内容由该扇区的代码自行加载。
作者: zhuangsihua 发布时间: 2003-07-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28