快速业务通道

Linux 开机启动过程详解

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-04

我们要成为某一方面的专家,就深知它的原理,知道它最基层的构架,这样我们才可以以不变应万变,Linux 也是一样,我们要想玩弄Linux股掌之中,就先知道它的基础,它是如何让启动的.

下面就大致说一下启动的顺序:BIOS通电自检--主引导加载程序--内核初始化--系统初始化

具体如下:
主板通电--启动BIOS--加载BIOS硬件信息并自检--获取第一个设备启动号(MBR)--启动硬盘的主引导记录MBR--启动内核加载程序grub--加载内核并尝试驱动所有硬件设备(由initrd实现)--内核初始化完成,运行第一个程序init,init通过inittab的信息进行工作--运行/etc/rc.d/rc.sysinit进行系统初始化--启动内核模块(/etc/modprobe.comf)--init执行对应启动级别下的脚本(/erc/rc.d/rc*.d)--init执行/etc/rc.d/rc.local文件--执行/bin/login程序等待用户登录

上面的是不是看着有点不明白,没关系,先看一下下面的这些介绍,然后会有更详细的开机启动介绍.

大家要搞清楚系统启动的过程,就知道每一步用到的文件和程序是用来做什么的,定义了什么.

BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统".其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序. 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制.

MBR:

每一个硬盘的第一个记录称为MBR.MBR 是英文Master Boot Record的缩写,中文意为主引导记录.硬盘的0磁道的第一个扇区就叫做MBR,它的大小是512字节,而这个区域可以分为两个部分.第一部分为pre- boot区(预启动区),占446字节,用于加载启动第二部分,第二部分是Partition table区(分区表),占64个字节(每16个字节标配一个分区,我们的硬盘只能有四个主分区,就在这里定义),该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码

为什么要使用在MBR中安装引导加载程序:操作核心要认识磁盘文件系统,才能读取里面的内容,但此时系统才刚开始启动,系统要如何认识文件系统呢?这时候就要有引导加载程序,才能加载内核.当前主流的grup引导加载程序可以支持Linux 和 Windows 的核心系统.

initrd:

我们要知道,系在加载内核的过程中,系统只会以只读方式载入根目录,为了系统启动的顺序进行,我们引入initrd概念.Linux 初始 RAM 磁盘(由initrd建立)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程.initrd 文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM 磁盘卸载,并释放内存.

关于rc*:init根据inittab文件定义的开机启动默认级别进入的相应系统级别,然后调用/etc/rc.d/rc根据级别参数执行相应级别目录/etc/rc.d/rc*.d/下的脚本

内核初始化过程的配置文件机器作用:/var/log/dmesg

1 硬件设备的探测

2 initrd文件,从中加载额外的设备驱动

3 以只读的方式挂载根文件系统

4 装载init进程 /sbin/init

系统的第一个进程init的配置文件及作用:/etc/inittab

1 设定默认运行级别

2 启动系统初始化脚本

3 执行指定运行级别下的每一个启动脚本

4 设定CTRL ALT DEL组合键功能

5 设定该电源故障时执行的脚本

6 设定要启动的虚拟控制台/dev/tty[1-6]

7 设定当启动运行级别为5时做GUI初始化的脚本

我们看一下inittab文件里面的具体内容:

1: id:5:initdefault: 系统默认启动级别

2: si::sysinit:/etc/rc.d/rc.sysinit 执行系统初始化脚本

3:l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号