linux开机引导流程:

1.BIOS开机自检

BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST。
如果硬件出现问题,主板会发出不同含义的蜂鸣,启动中止。如果没有问题,屏幕就会显示出CPU、内存、硬盘等信息。

2.MBR(主引导记录):512字节:

主引导程序(Bootloader):446字节;
硬盘分区表DPT:64字节;
分区结束标记:2字节。
(MBR不属于任何一个文件系统)
PS:
如何查看MBR的第一个扇区(最前面的512个字节)
(这512个字节的最后两个字节是0x55和0xAA)

# dd if=/dev/sda of=sda.mbr bs=512 count=1
#hexdump -C sda.mbr

–》会发现是以55 aa结尾的

3.GRUB引导程序

grub是linux里的一个引导系统启动的程序。
分3个部分(阶段):

  • stage 1
  • stage 1.5 --》文件系统的驱动程序
  • stage 2 --》文件系统的驱动程序
#cd /boot/grub/
#ls    --》
device.map     ffs_stage1_5      jfs_stage1_5    reiserfs_stage1_5  stage2           xfs_stage1_5
e2fs_stage1_5  grub.conf         menu.lst        splash.xpm.gz      ufs2_stage1_5
fat_stage1_5   iso9660_stage1_5  minix_stage1_5  stage1             vstafs_stage1_5

4.加载内核kernel

vmlinuz-2.6.32-279.e16.i68
内核文件:被夹在到内存里执行,可以开始管理内存、cpu、磁盘等设备,
解压image映像文件,查看里面的内容。
①/boot/kernel and kernel parameter
②/boot/initrd

5. Sys V init 初始化阶段

  • /sbin/init
  • /sbin/mingetty
  • /etc/X11/prefdm


一个文件系统下面有哪些目录:*


最后贴一个自己画的linux开机启动流程思维导图:


(注:放大即可看清)

power on–》开机
bios:系统自检、读启动顺序,启动顺序定位到MBR–》
MBR(主引导程序bootloader、DPT硬盘分区表、55aa分区结束标记):
bootloader读取DPT,知道哪一个是活动分区–》
bootloader(stage1)找到/boot分区(ext4),但是stage1识别不了ext4,于是启动stage2–》
stage里面有大量的驱动,加载驱动,例如ext4的驱动,就能读取分区(/boot/grub/grub.conf)了–》
grub.conf会加载kernel和initramfs.img文件到内存里面。–》
initramfs-版本号.img文件加载到内存里之后,会启动init进程–》
init进程起来后,会读取/etc/fstab文件、/etc/rc.sysinit、/etc/inittab–》
通过/etc/inittab文件例如知道运行级别是3了,就会加载/etc/rc.d/rc3.d/目录下的所有文件–》
例如会启动所有以f开头的服务–》
再启动/sbin/mingetty文件,提供接口来登录–》
输入用户名、密码–》
通过/ertc/passwd和/etc/shadow等文件来验证用户名和密码是否正确–》
然后再加载4个配置文件:/etc/profile、/etc/bashrc、/root/.bashrc、/root/.bash_profile–》
之后就可以使用了。

手动分割线

最后的最后,贴一个当时班里很牛的一个大神画的超级好看的思维导图。

Linux开机引导流程相关推荐

  1. 兄弟连Linux在线课堂:第5讲Linux系统引导流程

    兄弟连Linux在线课堂:第5讲 Linux系统引导流程 大家好,我是李明,Linux爱好者,我计划推出一套Linux学习的在线课及视频教程,课程内容主要针对Linux初学者,大概每周一讲,差不多在春 ...

  2. Linux开机详细流程

    计算机启动分为内核加载前.加载时和加载后3个大阶段,这3个大阶段又可以分为很多小阶段,本文将非常细化分析每一个重要的小阶段. 内核加载前的阶段和操作系统无关,Linux或Windows在这部分的顺序是 ...

  3. Linux 开机引导和启动过程详解

    你是否曾经对操作系统为何能够执行应用程序而感到疑惑?那么本文将为你揭开操作系统引导与启动的面纱. 理解操作系统开机引导和启动过程对于配置操作系统和解决相关启动问题是至关重要的.该文章陈述了 GRUB2 ...

  4. rhel系统启动过程_技术|Linux 开机引导和启动过程详解

    你是否曾经对操作系统为何能够执行应用程序而感到疑惑?那么本文将为你揭开操作系统引导与启动的面纱. 理解操作系统开机引导和启动过程对于配置操作系统和解决相关启动问题是至关重要的.该文章陈述了 GRUB2 ...

  5. Linux - 开机启动流程

    目录 一.掌握开机启动流程的意义: 1.1  为什么需要了解开机启动流程? 1.2  在日常的运维过程中,是否会遇到机器出现问题启动不了? 1.3  开机启动流程的意义 二.开机启动流程 2.1  开 ...

  6. Linux开机启动流程分析

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

  7. Linux——开机启动流程

    开机启动流程     为什么需要了解开机启动流程?         掌握让某个软件开机自启         排查服务器启动了的故障,了解原因         防止黑客植入木马,去查询黑客会把木马方到哪 ...

  8. linux 开机启动文件夹,Linux开机启动流程

    linux开机启动详细流程图: 一.BIOS 加电自检 当你按电源开关开机时,电脑会首先去启动BIOS(基本输入输出系统),BIOS一般是集成在主板上的. BIOS 的工作 1.检测连接硬件,比如显卡 ...

  9. linux开机引导文件说明(/etc/default/grub)

    使用ubuntu和win10双系统时每次开机都默认启动ubuntu,但又用Windows多一点,每次手动切换很麻烦.于是搜了一下开机引导文件的说明,进行了相关修改. 一.文件位置 /etc/defau ...

最新文章

  1. python类的继承--------类的基础(四)
  2. python对文件的读操作方法有哪些-python--文件的读写操作
  3. Spring 实践:AOP
  4. vim查找忽略大小写
  5. 数据库性能优化—全局优化思路
  6. jvm内存收集器总结(图片)
  7. Linux CentOS7.0 (01)在Vmvare Workstation上 安装配置
  8. 抓取经过无线路由器的数据_无线网关是什么 无线网关的作用
  9. webservice系列1---基于web工程上写一个基本数据类型的webservice
  10. 30.Linux/Unix 系统编程手册(上) -- 线程:线程同步
  11. 2.5. 标准路由器:Zend_Controller_Router_Rewrite
  12. SUFFER软件测试工程师,Ubuntu9.0.4下FreeSurfer的安装(转)
  13. python爬取快手视频_【原创开源】快手爬虫,根据id批量爬取用户的所有图集和视频...
  14. FFmpeg下载网络视频流
  15. labview—电子表格文件读写
  16. 从Idea到付诸实践,你必须要知道的
  17. 网页代码扒ppt_用“扒片”的方法制作ppt
  18. 汽车驱动力及发动机转矩曲线在python中拟合
  19. DJI大疆 windows SDK开发入门(1) integrate SDK into Application
  20. 【远程桌面管理小工具】

热门文章

  1. win7 添加 快速启动方法
  2. 小白学六大排序算法(C语言版)
  3. 一步实现阿里云OSS二进制流图片上传
  4. logisim计组实验五 CRC校验电路
  5. 代码-JS之小星星评论效果
  6. 打印机扫描 | 通过网线将文档/图片扫描到计算机
  7. Qt序列化和反序列化
  8. 新零售到底新在哪里了
  9. android饿了么商城,ToyRoom - 饿了么开源的 Android 业务流框架
  10. NUXT3项目中使用element-plus的el-dialog组件无法正常显隐