首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >linux开机流程(上)

linux开机流程(上)

原创
作者头像
陈不成i
修改于 2021-05-25 17:49:51
修改于 2021-05-25 17:49:51
5.7K0
举报
文章被收录于专栏:ops技术分享ops技术分享

一.简介

计算机启动分为内核加载前、加载时和加载后3个大阶段,这3个大阶段又可以分为很多小阶段,本文将非常细化分析每一个重要的小阶段。

内核加载前的阶段和操作系统无关,Linux或Windows在这部分的顺序是一样的。由于使用anaconda安装Linux时,默认的图形界面是不支持GPT分区的,即使是目前最新的CentOS 7.3也仍然不支持,所以在本文中主要介绍传统BIOS平台(MBR方式)的启动方式(其实是本人愚笨,看不懂uefi启动方式)。

在内核加载时和加载后阶段,由于CentOS 7采用的是systemd,和CentOS 5或CentOS 6的sysV风格的init大不相同,所以本文也只介绍sysV风格的init。

二.按下电源和bios阶段

按下电源,计算机开始通电,最重要的是要接通cpu的电路,然后通过cpu的针脚让cpu运行起来,只有cpu运行起来才能执行相关代码跳到bios。

bios是按下开机键后第一个运行的程序,它会读取CMOS中的信息,以了解部分硬件的信息,比如硬件自检(post)、硬件上的时间、硬盘大小和型号等。其实,手动进入bios界面看到的信息,都是在这一阶段获取到的,如下图。对本文来说,最重要的还是获取到了启动设备以及它们的启动顺序(顺序从上到下)信息。

当硬件检测和信息获取完毕,开始初始化硬件,最后从排在第一位的启动设备中读取MBR,如果第一个启动设备中没有找到合理的MBR,则继续从第二个启动设备中查找,直到找到正确的MBR。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一.简介
  • 二.按下电源和bios阶段
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档