Linux系统的引导过程

Linux系统的引导过程

ID:37711884

大小:118.00 KB

页数:6页

时间:2019-05-29

Linux系统的引导过程_第1页
Linux系统的引导过程_第2页
Linux系统的引导过程_第3页
Linux系统的引导过程_第4页
Linux系统的引导过程_第5页
资源描述:

《Linux系统的引导过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.2Linux系统的引导过程Linux系统的引导和初始化过程可以分为两个阶段,如图6.3所示图6.3Linux内核启动过程示意图第1阶段:完成硬件检测、初始化和内核的引导。第2阶段:主要是init初始化进程的执行。1.BIOS自检计算机通电后,首先由BIOS进行自检,即所谓的POST(PowerOnSelfTest),对硬件进行检测,然后BIOS必须确定要使用哪个设备来引导系统,此时会根据CMOS中设置的引导顺序,搜索处于活动状态并可引导的设备(硬盘、CDROM、USB设备或软盘),当找到一个引导设备之后,从中读出引导块或MBR(MBR,Mast

2、erBootRecord)。主引导记录MBR中包含主引导加载程序。MBR是一个512B大小的扇区,位于磁盘的第一个扇区中(0道0面1扇区)。当MBR被加载到RAM中之后,BIOS会把控制权交给MBR。注意,要看MBR的内容,可以执行如下命令:#ddif=/dev/hdaof=mbr.binbs=512count=1//从/dev/hda上读取前512B的内容,将其写入mbr.bin文件中#od-xambr.bin//以十六进制和ASCII码格式打印这个二进制文件的内容MBR中的主引导加载程序是一个512B大小的映像,其中包含程序代码和一个分区表。前

3、446B是主引导加载程序,其中包含可执行代码和错误消息文本。接下来的64B是分区表,其中包含4个分区的记录(每个记录的大小是16个字节)。MBR以两个特殊数字的字节(0xAA55)结束。这个数字会用来进行MBR的有效性检查。2.启动GRUBGRUB是引导加载程序,会引导操作系统。当机器引导它的操作系统时,BIOS会读取引导介质上最前面的512字节(MBR,MasterBootRecord)主引导加载程序(第一阶段的引导加载程序)的主要作用是查找并加载次引导加载程序,它是通过在分区表中查找一个活动分区来实现这种功能的。当找到一个活动分区时,会扫描分区

4、表中的其它分区,以确保它们都不是活动的。当这个过程验证完成之后,就将活动分区的引导记录(第二阶段的引导加载程序)从这个设备中读到RAM中,并执行它。第二阶段的引导加载程序(次引导加载程序)可以更形象地称为内核加载程序。主要作用是将默认的内核映像和initrd映像加载到内存中。在PC环境中,第一阶段和第二阶段的引导加载程序一起称为GRandUnifiedBootloader(GRUB)。在GRUB命令行环境中(启动电脑后,在GRUB界面中按C键进入),可以使用initrd映像引导一个特定的内核,方法如下:grub>kernel(hd0,2)/Poss

5、iblefilesare:lost+foundsysprocvartmpdevetcrootselinuxusrbinboothomelibmediamntoptsbinsrvmisctftpboot.autofscknetcache_dbgrub>kernel(hd0,2)/boot/vmlinuz-2.6.18-128.el5[Linux-bzImage,setup=0x1e00,size=0x1bbeb4]grub>initrd(hd0,2)/boot/initrd-2.6.18-128.el5.img[Linux-initrd@0x2fd7

6、9000,0x266c72bytes]grub>当内核映像被加载到内存后,内核阶段就加开始了。3.加载内核当内核映像被加载到内存中,并且阶段2的引导加载程序释放控制权之后,内核阶段就开始了。内核映像并不是一个可执行的内核,而是一个压缩过的内核映像。通常它是一个zImage(压缩映像,小于512KB)或一个bzImage(较大的压缩映像,大于512KB)。在这个内核映像前面是一个例程,它实现少量硬件设置,并对内核映像中包含的内核进行解压,然后将其放入高端内存中,如果有初始RAM磁盘映像,就会将它移动到内存中,并标明以后使用。然后该例程会调用内核,并开

7、始启动内核引导的过程。在内核引导过程中,初始RAM磁盘(initrd)是由次引导加载程序加载到内存中的,它会被复制到RAM中并挂载到系统上。这个initrd会作为RAM中的临时根文件系统使用,并允许内核在没有挂载任何物理磁盘的情况下完整地实现引导。由于与外围设备进行交互所需要的模块可能是initrd的一部分,因此内核可以非常小,但是仍然需要支持大量可能的硬件配置。在内核引导之后,就可以正式挂载根文件系统了,此时会将initrd根文件系统卸载掉,挂载真正的根文件系统。注意:在一个没有硬盘的嵌入式环境中,initrd可以是最终的根文件系统,或者通过网络

8、文件系统(NFS)挂载最终的根文件系统。4.执行init进程内核被载入内存,开始运行并初始化所有的设备驱动程序和数据结构等

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。