linux引导过程九个步骤

linux引导过程九个步骤

ID:20142271

大小:42.00 KB

页数:5页

时间:2018-10-08

linux引导过程九个步骤_第1页
linux引导过程九个步骤_第2页
linux引导过程九个步骤_第3页
linux引导过程九个步骤_第4页
linux引导过程九个步骤_第5页
资源描述:

《linux引导过程九个步骤》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux引导过程的九个步骤【1】硬件和固件以及读入MBRBIOS或其它固件系统读取硬盘或者其它引导设备(例如,光盘、软盘、网络引导等等)上的主引导记录。计算器在接通电源之后,首先由BIOS进行自检,即进行所谓的POST(PowerOnSelfTest),然依据BIOS内设置的引导顺序从硬盘、软盘或CDROM中读入“引导块”。例如,通常BIOS中设置的引导顺序为第一个IDE硬盘的C分区在最前面,那就是说,计算机开机启动时会把C盘的第0柱面,第0头的第1个扇区读入内存,然跳到那里开始执行。这个扇区有一个大

2、家很熟悉的名字,它就是:MBR(MainBootRecord)。换句话说,MBR里面存放的是一小段程序以及分区表的数据。在使用WIN9X和DOS时,这里面存放的代码就会把分区表里标记为Active的分区的第一个扇区(一般存放着操作系统的引导代码)读入内存并跳转到那里开始执行.【2】引导装载程序运行x86系统上的Linux系统通常使用LILO或者GRUB。某些老式系统可能使用loadlin通过一个中间DOS分区进行引导。在PowerPC®系统上,这可能是BootX或者yaboot。一般来说,引导装

3、载程序是一种简单的程序,它知道到哪里寻找Linux内核,可能在几个版本之间进行选择,甚至可以选择同一计算机上的其它操作系统。在用LILO来引导LINUX时,有两种选择:(a)BIOS->LILO(直接安装在MBR中)->KERNEL  把LILO直接安装在MBR,这时就由BIOS直接把LILO代码调入内存,然跳转执行LILO即可.(b)BIOS->MBR->LILO(安装在活动分区的第一个扇区)->KERNEL  把LILO安装在LINUX分区,必须把LINUX分区设为Active.这时BIOS调入的是

4、WIN9X/DOS  下的MBR代码,然由这段代码来调入LILO的代码(位于活动分区的第一个扇区).在过去,对于能够设置可引导分区的最高柱面,最大硬盘大小,在大硬盘上主分区的位置等等有许多限制。因为在读入及执行MBR时,操作系统还没有起来,所以只能用BIOS提供的INT13来进行磁盘操作,而INT13只能读写硬盘1024柱面之前的数据,由此可知任何操作系统的引导代码都必须在1024柱面之前。对于LINUX的引导装载程序来说,不管你是使用方式(a)还是方式(b)来启动,都要保证KERNEL放在1024柱面

5、之前。但因为LINUX不使用INT13来进行硬盘操作,所以在KERNEL启动以后,就有读写1024柱面以后数据的能力了。不过,现在几乎所有硬件系统的BIOS都得到了改进,能够处理实际上无限大的硬盘,因此现代的引导装载程序(至少是Linux的引导装载程序),对于分区大小或位置已经没什么限制了.【3】内核装载并进入保护模式当启动电源之际,计算机的BIOS就会找寻有无系统开机磁盘,有可能使用软盘、硬盘或者是随身碟开机,BIOS会将bootloader载入RAM中,接者bootLoader会载入LinuxKer

6、nel,而Kernel一旦起动后,第一件事就是切入保护模式(protectedmode),此时,所有的硬件交由Kernel来控制,也意味挣脱BIOS的羁绊。【4】初始化硬件并安装根文件系统当Kernel加载完毕后,便开始初始化系统所有硬设备。而当所有的硬件初始化的动作也告完成之际,系统将尝试挂载rootpartition(根分区).所谓Rootpartition也就是将被挂上后当作"/"的根目录,如果无法正确挂载rootpartition,系统将无法运作。在某些情况下,可能需要先装载一个临时ramdis

7、k映像,以便加载启用真实根文件系统所需的特殊驱动程序或模块,例如SCSI驱动模块,然后再安装真正的根文件系统。安装好根檔系统之后,就可以开始系统初始化了。【5】启动进程init来初始化Linux系统当rootfilesystem成功的挂载后,就会去执行init这个程序。init会检查/etc/inittab文檔,找出该文檔中标明sysinit的这一行,并执行该行指定的script.在RedhatLinux系统上此脚本名为/etc/rc.d/rc.sysinit,它是一个比较复杂和冗长的Shell脚本(有

8、几百行),也就是说rc.sysinit将开始肩负接下来的系统初始化大任;  而在Debian系统上此脚本则名为/etc/init.d/rcS,它其实是只包含一行调用命令的脚本(exec/etc/init.d/rcS);在内核起来之后所生成第一个进程init(/sbin/init),是所有其它Linux进程的父进程(PID为1).它(init)的工作就是根据/etc/inittab配置文文件来执行相应的脚本进行系统初始化,例如设置键盘,字体,

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

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

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