Linux开机过程

相关内容

开机过程

  开机过程指的是从按下电源键开始,到进入系统登陆画面前所经历的过程。linux

MBR与磁盘分区

  在目前x86的系统架构中,系统硬盘位于第0号磁道:0到511KB的区块为MBR(硬盘中的每个磁道容量为512KB),开机管理程序使用这块区域来储存第一阶段开机引导程序(stage1)。接着位于1到62号磁道做为第1.5阶段的开机引导程序(stage1.5),从第63号磁道开始才是操做系统的分区。架构

  主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操做系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操做系统(DOS)在对硬盘进行初始化时产生。spa

  MBR的内容分为三部分:第一部分是0到445KB,是计算机的基础导引程序,也称为第一阶段的导引程序;接着446KB到509KB为磁盘分区表,由四个分区表项构成(每一个16个字节)。负责说明磁盘上的分区状况。内容包括分区标记、分区的起始位置、分区的容量以及分区的类型。最后一部分为结束标志只占2KB,其值为AA55,存储时低位在前,高位在后。操作系统

从百度百科借了张图:.net

 

 

MBR中紧跟在主引导程序后的主分区表这64字节(01BE~01FD)中包含了许多磁盘分区描述信息,尤为是01BE~01CD这16字节,包含了分区引导标志bootid、分区起始源头beghead、分区起始扇区relsect、分区起始柱面begcy一、操做系统类型systid、分区结尾磁头endhead、分区结尾扇区begsect、分区结尾柱面begcy一、分区扇区起始位置relsect、分区扇区总数numsect。blog

其中分区引导标志bootid表示当前分区是否能够引导,若为0x0,则表示该分区为非活动区;若为0x80,则为可开机启动区。如有多个开机启动区,则由用户开机时的选择而定(如GRUB的菜单)。进程

分区扇区起始位置relsect表示分区中第一个扇区相对于磁盘起始点的偏移位置。内存

开机管理程序

linux上的开机管理程序有LiLO和GRUB,前者是早期的产物,在近年来的Linux操做系统都以GRUB做为默认软件包。get

GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操做系统启动程序。GRUB是多启动规范的实现,它容许用户能够在计算机内同时拥有多个操做系统,并在计算机启动时选择但愿运行的操做系统。GRUB可用于选择操做系统分区上的不一样内核,也可用于向这些内核传递启动参数。it

运行层级

运行层级(run level)共有7个,分别为0、一、二、三、四、五、6,其中0表示关机、1表示单人模式、6表示从新启动。中间的二、三、四、5因Linux发行商而异。

过程解析

 从按下电源开始到登陆画面中全部的过程。

 登陆程序依序分为BIOS、GRUB、内核加载、与init程序四个步骤。

BIOS

当按下电源按钮后,系统就会运行BIOS检测,包含检查系统的硬件配置、执行系统诊断程序、找出系统硬盘,把第0号磁道中的开机导引程序加载到内存中,以后就由GRUB接手后续的开机程序。

GRUB

GRUB是一个较大的程序,自己容量超过MBR的限制(512KB),所以GRUB将开机程序分割为stage一、stage2,并在1与2之中加上选用的程序stage1.5,如e2fs_stage1_五、fat_stage1_5等。

由BIOS接手后的GRUB,会由stage1转接到stage2(或stage1.5),并找出和载入位于/boot的内核文件。内核文件位于/boot之下。

接着会将内存映像文件(.img)加载到内存中,并使用cpio命令将内容解压缩到/boot之下。若是硬件的功能都别编入内核中,这个动做是不须要的;但若编译为模块且必须在开机时加载,这个步骤就是必要的。

将内核与必要的映像文件加载后,系统开机的过程就交给内核处理了。

内核载入

 内核接手系统开机的程序以后,会进行初始化,包括检测硬件、设置硬件设备、时钟设定、加载模块等,这动做完成后会释放出曾占用的内存空间。

 接着启动文件系统相关的设定,首先会挂接根目录(“/”),再读取分区表(/etc/fstab)并挂接全部的分区与启动SWAP。最后系统启动/sbin/init程序,并运行硬件与软件相关的系统常驻程序。

 内核在开机的做用到此告一段落。

init程序

Init是系统的第一个进程,所以PID为0,也是全部进程的父进程,init启动后会先执行etc/rc.d/rc.sysinit,并读取配置文件/etc/inittab中的设定

 init的具体内容可参考:

https://blog.csdn.net/u012206617/article/details/93088996

相关文章
相关标签/搜索