文档章节

linux开机启动五部曲

mufengs
 mufengs
发布于 2016/10/08 20:55
字数 636
阅读 0
收藏 0

按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。

1、 BIOS加电自检:

加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引导的设备。可以是光驱、软盘、USB等。

2、 加载主引导加载程序(MBR):

主引导程序是一个512字节的映像。包含一点机器码还有一个小的分区。

主引导程序的任务就是查找并且加载处在硬盘分区上的次引导程序。通过分区表查找活动分区,并将处在活动分区的次引导加载程序读取到内存里面运行

3、 加载次引导记载程序(GRUB)

次引导加载程序只要就是加载linux内核。

上一阶段结束之后次引导加载程序就会在内存里面跑起来。就会出现GRUB图形界面,让用户选择加载什么样的内核。

4、 linux内核映像:

用户选择要加载的内核之后,次引导加载程序(GRUB)就会根据/boot/grub.conf配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到内存中并把控制权交给Linux内核。

linux内核获得控制权之后开始干自己的事

  •  检测硬件
  •  解压缩自己并安装必要驱动
  •  初始化与文件系统相关的虚拟设备,LVM或RAID
  •  装载根文件系统,挂在根目录下面
  •  完成之后,linux在进程空间里面加载init程序,下面轮到init干活
  •  init进程

init是所有进程的发起者和控制者,所有的进程都由此衍生。

init进程获得控制权之后,它会执行/etc/rc.d/rc.sysinit脚本,根据里面的代码设置环境变量、网络、启动swap、检查并挂载文件系统、执行其他初始化工作。

 

至此,linux启动完成。

我们稍微总结一下:

首先是BIOS加电自检,之后加载主引导加载程序、次引导加载程序,最后就是linux内核映像,完了把控制权交给init进程,完成初始化工作。

swap分区是什么?

类似windows系统中的虚拟内存,当物理内存不够用的时候,使用swap中的内存。

 

原文链接:http://www.cnblogs.com/lamian/p/3971195.html

本文转载自:http://www.cnblogs.com/sunofwe/p/4766885.html

共有 人打赏支持
mufengs
粉丝 0
博文 36
码字总数 7056
作品 0
南京
程序员
私信 提问
CentOS7环境部署kubenetes1.12版本五部曲之五:安装kubectl

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/83717786 本文是《CentOS7环境部署kubenetes1.12版本五部曲》系列的终篇,前面章节我们已搭...

博陵精骑
2018/11/04
0
0
CentOS7环境部署kubenetes1.12版本五部曲之三:node节点加入

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/83714209 本文是《CentOS7环境部署kubenetes1.12版本五部曲》系列的第三篇,上篇文章创建了...

博陵精骑
2018/11/04
0
0
CentOS7环境部署kubenetes1.12版本五部曲之二:创建master节点

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/83692606 本文是《CentOS7环境部署kubenetes1.12版本五部曲》系列的第二篇,上篇文章我们实...

博陵精骑
2018/11/04
0
0
【tomcat环境搭建】一台服务器上部署多个tomcat

一台服务器上面如何部署多个tomcat?其实linux和windows步骤都差不多,都是: 第一步:解压tomcat安装包后,复制一份并且重命名;多个tomcat就多复制一份 第二步:将复制的tomcat进行端口修改...

豆姐姐
2018/07/19
0
0
CentOS7环境部署kubenetes1.12版本五部曲之四:安装dashboard

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/83715479 本文是《CentOS7环境部署kubenetes1.12版本五部曲》系列的第四篇,前面的实站已经...

博陵精骑
2018/11/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nextjs+React非页面组件SSR渲染

@随风溜达的向日葵 Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js入门)...

随风溜达的向日葵
54分钟前
0
0
如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
3
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
6
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
4
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部