Linux系统启动过程剖析

来源:https://www.omgleoo.top/linux系统启动过程剖析/

想要更好的了解Linux系统的运行原理,了解系统启动的流程是非常有必要的。

通常,我们按过开机电源之后,会听到机箱内发出“滴”的一声,接着屏幕上开始打印出一些字符,然后开始显示出图形界面,最后屏幕上会显示需要输入用户名和密码的登陆界面。其实不管是Linux还是Windows,从用户感官的体验来说,启动顺序都是大同小异的。下面我会详细描述一下Linux系统的启动流程。

相关概念

GRUB

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

runlevel

Linux中默认又7个运行级别,从0到6每个运行级别的含义如下:

运行级别0:关机

运行级别1:单用户模式,如系统出现问题,可使用这种模式进入系统进行维护(如忘记root密码)

运行级别2:多用户模式,但是没有网络连接。

运行级别3:完全多用户模式。默认运行级别

运行级别4:保留未使用。

运行级别5:窗口模式,支持多用户,支持网络。

运行级别6:重启。

任何时候Linux只能在一张runlevel下运行。

健康检查

当我们按过开机按钮之后,计算机会加载BIOS,这是计算机上最接近硬件的软件。每家主板制作商都会开发适合自家主板的BIOS,而BIOS的一项很重要的功能就是对自身的硬件做一次健康检查,只有硬件没有问题才会运行软件。

PS: 操作系统也是一种软件

这种通电后开始的自检过程被称做“加电自检(Power On Self Test)”简称POST,如果所有的硬件设施自检通过,一般都会发出一声“滴”的短音提示,说明硬件一切正常。

引导系统

在BIOS的设定中,机器自检通过之后,接着就要运行引导程序了。BIOS默认会从硬盘上的第0柱面,第0磁道,第一个扇区中读取被称为MBR的东西,即主引导记录。

一个扇区的大小是512字节,存放的内容是一段引导程序和分区信息。其中引导程序占用446字节,另外64字节是磁盘分区表DPT,最后两字节是MBR的结束位。

这512字节的空间内容是由专门的分区程序产生的,比如说Windows下的fdisk.exe文件,或者Linux下的fdisk命令,它不依赖任何操作系统,而MBR中的引导程序也是可以修改的,所以可以利用这个特性实现多操作系统的共存。

RedHat和CentOS默认会使用Grub作为其引导操作系统的程序,但是Grub本身又比较大,所以常见的方式是在MBR中写入Grub的地址,这样系统实际会载入Grub作为系统程序的引导程序。

运行Grub

经过上面两步的准备,接下来就是顺利成章的运行Grub了。Grub最重要的功能就是根据它的配置文件加载Kernel镜像,并运行内核加载后的第一个程序/sbin/init,这个程序会根据/etc/inittab 来进行初始化工作。

其实这里最重要的是根据文件中设置的值来确定系统将会运行的runlevel,默认的runlevel定义在“id:3:initdefault:”中,其中数字3说明目前的运行级别定义为3

设置系统变量,配置环境

Linux根据/etc/inittab中定义的系统初始化配置,si::sysinit:/etc/rc.d/rc.sysinit执行/etc/rc/sysinit脚本,该脚本会设置系统变量,网络配置,并启动swap、设定/proc、加载用户自定义模块、加载内核设置等。

根据runlevel的值运行相应的服务

这一步是根据之前读到的runlevel的值来启动对应的服务,如果值为3,就会运行/etc/rc3.d下的所有脚本,如果runlevel=5,就会运行/etc/rc5.d下的所有脚本。

最后

最终将运行/etc/rc.local并生成终端或者X Windows等待用户登陆。至此Linux启动过程运行结束。

扩展阅读

大型web系统架构详解

阿里淘宝双十一秒杀系统设计详解

让面试官颤抖的Tomcat系统架构系列!

【底层原理】Linux进程及其调度策略

linux常用命令全拼

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352