Linux开机过程按理说蛮简单的,却难住了一大片朋友,也成了面试必问 的考题之一,今天你准备好了吗

综述:开启电源

启动COMS/BIOS (basic input output system)(自举代码)加电自检(检测CPU,显卡,主板,io,内存等信息)
读取硬盘引导扇区 (第一扇区MBR,512字节,分为三部分,一个446字节启动加载器,一个2字节flag,最后一个64字节DPT(disk partition talbe)
加载LILO或者grub (从启动加载器加载)/boot/grub/grub.conf  里面定义了需要哪个启动菜单,需要加载哪个内核,以及内核映像
按grub 加载内核 /boot/vmlinuz
只读方式挂装根文件系统 /boot/initramfs(系统启动的第一个进程)
启动init进程(一切进程的“祖父”) 
读取/etc/inittab文件 
读取/etc/rc.d/rc.sysinit文件 
读取/etc/fstab文件 
运行/etc/rc.d/rcX.d下的文件 
读取/etc/rc.d/rc.local 文件

BIOS初始化时

检测外围设备 
检测启动设备(硬盘、光盘、网络) 等待用户输入DEL,设置BIOS
如果是硬盘启动则读取与执行启动设备的第一个扇区

系统引导内核文件(vmlinuz)

是可引导的、压缩的内核。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。 vmlinuz是可执行的Linux内核,它的解压程序也在内核当中 。 vmlinuz的建立有两种方式 编译内核时通过make zImage创建,zImage适用于小内核的情况,它的存在是为了向后的兼容性。 内核编译时通过命令make bzImage创建 (单独编译内核映像,不编译驱动模块,生成内核映像bzImage) 内核文件存放 在/boot目录中。 初始化内存镜像盘( initramfs) 核心初始化

检测硬件设备 
设备驱动初始化 
将根分区以只读方式挂载 
载入初始进程(一般是init)

系统初始化文件(inittab)

init定义了0~6这7个运行级别。

0   关机

1   单用户模式(文本模式)

2   多用户模式但不支持NFS(文本模式)

3   多用户(文本模式)

4   暂无定义

5   多用户图形界面模式

6   重启计算机

运行级别可以被指定于:

1.系统启动时作为核心加载参数被指定

2.未被指定的情况下,系统启动时从/etc/inittab中读取 3

.在系统运行中,root用户键入init [0-6]来切换模式。

系统初始化脚本

/etc/rc.d/rc.sysinit是系统启动用的脚本

从/etc/sysctl.conf中读取核心参数

设置系统时钟

载入keymap

激活swap分区

设置主机名

检查根文件系统并挂载

加载Raid设备

激活磁盘限额

检查并挂载其他文件系统

清除失效锁及PID文件

运行级别服务目录

每一个运行级别都对应一个目录 /etc/rc.d/rcX.d 目录内存放的,即当前运行级别需要开启的服务脚本 对应/etc/rc.d/init.d/目录下的链接 链接文件开头是S,表示启动;开头是K,则表示关闭。

切换运行级别,即运行这个目录里所有的脚本 用户可以通过ntsysv调整当前运行级别的开关服务,或用chkconfig,调整某一运行级别下的开关服务。

用户自定义启动脚本文件

/etc/rc.d/rc.local文件是在系统启动最后一个被读取的用户自定义启动脚本文件。 一般系统用户将针对此台计算机的开机定制设置写入其中,而非/etc/rc.d/rc.sysinit。

看到这里有没有晕了,如果你已经晕了,请扶墙。

我是辛舒展,专注大数据及Linux架构领域,欢迎关注我们的微信公众号:xinsz08   有什么疑问及时 与我们联系。

Linux开机过程概述相关推荐

  1. Linux开机过程(转)

    总结一下,linux的开机整个流程.       1: 启动电源后,主机 第一步先做的就是查询BIOS(全称:basic input/output system 基本输入输出系统)信息.了解整个系统的 ...

  2. linux进程故障如何修复,33.Linux开机过程及启动故障修复

    一.Linux系统启动 Linux系统启动过程如下: initramfs镜像用来启动系统,解压后是一个临时的根目录. 用file查看initramfs-2.6.32-696.el6.i686.img的 ...

  3. 操作系统学习:进程、线程与Linux0.12初始化过程概述

    本文参考书籍 1.操作系统真相还原 2.Linux内核完全剖析:基于0.12内核 3.x86汇编语言 从实模式到保护模式 ps:基于x86硬件的pc系统 进程 进程是一种控制流集合,集合中至少包含一条 ...

  4. Centos运行级别和开机过程

    一.Linux运行级别 1)0:关机 2)1:单用户 3)2:多用户状态没有网络服务 4)3:多用户状态有网络服务 5)4:系统未使用保留给用户 6)5:图形界面 7)6:系统重启 注:常用运行级别是 ...

  5. Linux开机启动的步骤

    开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程.分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机 ...

  6. Linux开机流程Systemdgrub

    Linux开机流程&Systemd&grub fromNet,感谢网络 带来有趣/专业 总结: 1.Boot :  'pull oneself up by one's bootstra ...

  7. Linux开机启动流程分析

    Linux开机启动十步骤 收藏分享2012-2-6 11:15| 发布者: 红黑魂| 查看数: 1366| 评论数: 0|来自: 比特网 摘要: 开机过程指的是从打开计算机电源直到LINUX显示用户登 ...

  8. linux 开机速度 固态,Windows/Linux系统开机OCZ胜出

    SSD评测报告 以下是相关测试项目结果: Windows系统开机效率 作业系统的开机过程,对於硬盘.SSD来说,是相当重要的测试,因为复杂的开机文件读入,是很好的综合性读入评量,也反应最终用户操作计算 ...

  9. Linux的开机过程详述与系统服务命令等

    开机过程.系统服务 一.Linux开机引导过程 1.1总览 概述 二.系统初始化进程 2.1 init进程 2.2 systemd 2.2.1 systemd特点 2.2.2 systemd 单元类型 ...

最新文章

  1. Cocos2d-x 3.0游戏开发之虚拟机IOS环境:匹配才是好,莫要随便升级软件
  2. Linux 安装Opencv3.2
  3. 如何提高Google Adsense单价:点击率篇
  4. 用户需求、己、竞争对手的关系
  5. WIN7 远程桌面发生身份验证错误,要求的函数不受支持
  6. 极速体验:Oracle 18c 下载和Scalable Sequence新特性
  7. 什么是Github?
  8. NUC1019 数素数【素数筛选法】
  9. oracle迁移至ASM磁盘
  10. Catalent康泰伦特上海外高桥临床供应中心扩建温控产能;富士胶片发布2021财年第三季度财报 | 医药健闻...
  11. java还原三阶魔方_魔方小站四阶魔方教程2 一看就懂的魔方教程(魔方玩法视频教程+还原公式一步一步图解+3D动画)...
  12. Ajax实现图片上传并预览
  13. 【论文翻译】异构信息网络中的深层集合分类
  14. APP自动化学习之appium认识
  15. 到底是JavaEye这边的爽啊
  16. 人际交往的技巧包括哪些因素
  17. Epicor中的时间格式转换 - How to convert time from string to time format
  18. 2021-4-8 考研复旦大学 计算机 复试通过 经验回顾
  19. 9种免费图像优化工具
  20. 2022年“研究生科研素养提升”系列公益讲座测试

热门文章

  1. corona 正版入门
  2. yolo 海思嵌入式_一、基于海思芯片:从算法到移植 darknet框架下训练yolov3
  3. HE同态加密(Microsoft SEAL) 实例小试
  4. SwiftUI:仿iWatch运动
  5. 计算机应用数值和文本区别,《计算机应用基础》考情分析(20页)-原创力文档...
  6. Intent 回传数据
  7. jenkins如何配置QQ邮箱,做预警
  8. java性别_java中的性别字段
  9. psql double类型精确度问题
  10. 英文自我介绍荟萃精品11条