不同版本的Linux系统的启动过程在某些地方是不一样的,现在先来介绍一下red hat 7 的启动过程(EFI)。

(加电→图形登录界面)

  1. 接通电源
  2. 按下电源键
  3. EFI固件启动
  4. 初始化硬件
  5. 从EFI启动配置表
  6. 根据配置表,在硬盘的EFI系统分区上找到GRUB
  7. 启动GRUB
  8. 读取启动分区内的GRUB.cfg
  9. 确认要加载的操作系统
  10. 显示画面,等待用户选择操作系统或等待超时后进入默认的操作系统
  11. 读取启动分区内所选操作系统的内核并加载到内存上
  12. 初始化内存盘到内存
  13. GRUB跳转到内存中的内核的启动地址(启动入口)
  14. 将控制权交于内核
  15. 内核初始化
  16. 内核执行自解压操作,将完整内核释放到内存
  17. 完成后初始化硬件
  18. 挂在内存中的初始化内存盘
  19. 启动初始化内存盘中的初始化管理程序(systemd)
  20. 加载初始化内存盘中存放的内核模块
  21. 初始化内存盘中的UDEV硬件管理程序
  22. 根据内核命令行所指定的信息,由UDEV确定启动设备,搜索根目录
  23. 只读挂载根目录
  24. 读取目标根目录的fstab,生成systemd设备的配置文件,并通知UDEV确定具体设备
  25. UDEV等待内核通知设备上线
  26. systemd等待UDEV设备上线
  27. systemd根据配置决定是否检查设备上的文件系统
  28. 挂载设备到fstab指定位置
  29. 1号进程systemd chroot exec到新根下的目标init(systemd)
  30. 目标系统systemd启动系统基本服务(single.target)
  31. 启动多用户模式和网络服务
  32. 其中启动用户登录管理服务,此服务负责加载用户登录所需要的必须服务,例如:本地控制台登录、图形登录服务程序
  33. 图形登录界面加载成功,用户可以登录系统

red hat 7 启动过程(EFI)的更多相关文章

  1. 分享red hat linux 6上安装oracle11g时遇到的gcc: error trying to exec 'cc1': execvp: No such file or directory的问题处理过程

    安装环境:Red Hat Linux 6.5_x64.oracle11g 64bit 报错详情: 安装到68%时弹窗报错: 调用makefile '/test/app/Administrators/p ...

  2. MBR和EFI启动过程

    MBR启动过程 BIOS-->MBR(主引导记录)-->DPT(硬盘分区表)-->DBR(分区引导扇区)-->BootMgr-->BCD-->Winload.exe ...

  3. 解决问题:Red Hat Enterprise Linux 7 64 位 虚拟机安装后无法启动图形化

    原因: 1.系统在创建时,没有安装图形化 2.系统在安装后,有降低内存的操作,内存过低无法启动桌面,以及其他 就原因一进行图形化安装: 1.VMware挂载Red Hat Enterprise Lin ...

  4. Linux Red Hat 8.0虚拟机安装过程

    Linux Red Hat 8.0虚拟机安装过程 一.安装虚拟机所需要的工具: 1.VMware Workstation Pro 2.Red Hat 8.0 虚拟机镜像 3.还有一个就是VMware的 ...

  5. Red Hat Enterprise Linux 7.x新特性

    Red Hat Enterprise Linux 7.x新特性 RHEL7新特性简介 1.      RHEL7目前支持架构 64-bit AMD.64-bit Intel.IBM POWER.IBM ...

  6. 为Azure-云准备一个基于Red Hat 8.x 的虚拟机镜像

    由于公司最近要求部分项目上线到Azure云上,要求操作系统使用的Redhat 8.x,而且必须加固 而在Azure官网提供的镜像中,又没有Redhat,于是只有自己自定义Redhat镜像,最后加固,作 ...

  7. Red Hat Enterprise Server 6.0 安装Sendmail相关包

    由于需要在Linux服务器(Red Hat Enterprise Linux Server release 6.0)上配置邮件服务,需要安装Sendmail包,一般Sendmail的安装有两种方式:R ...

  8. 使用 KGDB 调试 Kernel On Red Hat Linux

    1. KGDB 简介         KGDB  提供了一种使用 GDB 调试 Linux 内核的机制.使用 KGDB 可以象调试普通的应用程序那样,在内核中进行设置断点.检查变量值.单步跟踪程序运行 ...

  9. 如何安装win10+Red Hat Enterprise Linux双系统?

    1,如何安装win10+Red Hat Enterprise Linux双系统???? 有很多人(没做过调查,可能就我自己想装吧)想要安装Red Hat Enterprise Linux系统,但是又不 ...

随机推荐

  1. February 23 2017 Week 8 Thursday

    In order to be irreplaceable, one must always be different. 想要无可取代,必须与众不同. In recent days, a news ab ...

  2. linux下安装jdk和配置环境变量

    参考博文:http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 系统环境:linux centos 6.4_x64 软件版本:jdk ...

  3. 在文本框输入数据后,因为有历史记录,鼠标点或者敲回车这个历史记录时,请问会触发什么JS事件

    非ie触发 oninput事件,ie触发>onpropertychange事件 jquery写法 $("#input").bind("input propertyc ...

  4. PHP面试题分享与答案

    由于之前的每一个问题都是一个比较大的知识点,作者希望可以尽量一一详细解答,如果有不足的地方欢迎大家补充和修改,同时借鉴牛人写的Mysql中算法的实现以及内存原理,Btree结构等. 1:MySQL数据 ...

  5. ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(五) 补充:历史记录 和 消息提醒

    有开发者提问怎么做历史记录功能和即使不打开聊天窗口有消息提醒功能.简单抽时间写了点代码.不过只是基本思路,具体细节没有实现. 正如前几篇博客中提到的,读取历史记录什么时候读取呢?按照常理,应该是打开聊 ...

  6. js 中获取 日期

    运行结果

  7. JSON、JSONP、XML的区别

    这两天看jquery手册的时候看到了jsonp.发现手册把jsonp与json放在一起讲解了,所以想写篇文章 梳理一下这三者的关系. jsonp: jsonp是json的一种“使用模式”,可以让网页从 ...

  8. 【洛谷P1196】[NOI2002]银河英雄传说

    银河英雄传说 题目链接 并查集时记录下以i为首的队列的长度(如果存在这个队列)num[i],便于合并, 和点i到队首的距离front[i],便于查询(在find时维护) #include<ios ...

  9. HDU 2005 第几天?(闰年判断)

    传送门: acm.hdu.edu.cn/showproblem.php?pid=2005 第几天? Time Limit: 2000/1000 MS (Java/Others)    Memory L ...

  10. ffmpeg一些filter用法、以及一些功能命令

    来源:http://blog.csdn.net/dancing_night/article/details/46776903 1.加字幕 命令:ffmpeg -i <input> -fil ...