Booting Process in Linux RHEL 7 | Linux RHEL 7启动过程

In this post, I will guide you booting process in linux RHEL 7, it is very important to know the linux booting process to troubleshoot and fix boot issues. Redhat 7 replaced the init process (/sbin/init) with systemd (/usr/lib/systemd/systemd), systemd provides considerably more control compared to the init process does, although still supporting existing init scripts.
在本文中,我将引导你了解Linux RHEL 7的启动过程。了解Linux的启动过程对排除故障和修复启动问题来说非常重要。RedHat 7使用systemd(/usr/lib/systemd/systemd)替换init进程(/sbin/init)。与传统的init进程相比,systemd提供了更多的启动控制,虽然它仍支持现有的init脚本。

Linux boot process step by step:
Linux的启动过程

1. BIOS (Perform POST) | BIOS (执行上电自检Power On Self Test)
2. MBR (loads GRUB2) | 加载GRUB2
3. GRUB2

  • Loads the vmlinuz kernel image 加载vmlinuz内核映像
  • Extract the contents of initramfs image 提取initramfs映像中的内容

4. KERNEL

  • Loads necessary driver modules from initrd image 从initrd映像中加载必要的驱动模块
  • Systemd starts systems first process systemd启动系统中第一个进程

5. SYSTEMD

  • Reads conf files from /etc/systemd 从/etc/systemd中读取配置文件
  • Reads file linked by /etc/systemd/system/default.target 读取/etc/systemd/system/default.target指向的文件
  • Brings the system to the state defined by the system target 将系统引导到由system target定义的状态

RHEL 7 booting process:
RHEL 7启动过程

BIOS:
BIOS Full Form is Basic Input/Output System, It is a software which helps in booting process when the power is on, it executes the power on self test (POST) to identify, test and initialize system hardware components and its loads the MBR.
BIOS代表的是基本的输入输出系统,它是一个帮助开机的软件,当上电后,它执行开机自检(POST)来识别、测试和初始化系统硬件部件,加载主引导记录(MBR)。

Master boot record (MBR)
It is the information in the first sector (512 bytes) of any Linux booting disk drive that identifies where and how an operating system is situated. Out of 512 bytes Boot-loader contains in 446 bytes, next 64 bytes contains the partition table for the disk. Last 2 bytes is called Magic number, which is used for error detection. MBR detects the bootable device and loads the GRUB2 boot loader into memory and transfers control over to it.
MBR是任何Linux引导磁盘驱动器的第一个扇区(512字节)中的信息,用于标识操作系统位于何处和如何定位。在这512个字节中,引导装载器占了446个字节,接下来的64个字节为磁盘分区表,最后2个字节被称为魔幻数,用于错误检测。MBR检测可启动的设备,并把GRUB2引导程序加载到内存中,然后把控制权交给GRUB2。

GRUB2 Bootloader:
GRUB stands for GRand Unified Boot-loader. In Redhat 7, GRUB 2 is the default boot loader program, GRUB boot loader was used in previous RHEL versions. Configuration file for GRUB2 is located at /boot/grub2/grub.cfg. GRUB2 do a search for vmlinuz kernel image file in the /boot and loads the vmlinuz kernel image file into memory and extract the items in the initramfs image file into tmpfs (temporary file system).
GRUB代表GRand Unified Boot-loader. 在RedHat 7中,GRUB 2是默认的引导装载程序,而GRUB用在以前的RHEL版本中。GRUB2配置文件位于/boot/grub2/grub.cfg。GRUB2在/boot查找vmlinuz内核镜像文件,一旦找到,加载vmlinuz内核映像文件到内存中,并提取initramfs映像文件中的条目然后存储到tmpfs(临时文件系统)中。

initramfs: It will pre-load the block devices modules, for example: SCSI, IDE, so that the root file system, on which those modules normally reside, can then be accessed and mounted.
initramfs: 预先加载块设备模块,例如SCSI, IDE, 因此通常存放在这些模块中的根文件系统就可以被访问和加载。

KERNEL:
The initramfs is bound to the kernel and the kernel mounts this initramfs as part of a two-stage boot process. Kernel starts the systemd process with a process ID of 1 (PID 1).
initramfs被绑定到内核,内核挂载这个initramfs作为两阶段启动过程中的一部分。内核启动进程systemd(PID为1)。

SYSTEMD:
systemd is an init system used in boot process in linux RHEL 7 to bootstrap the user space and manage all processes subsequently. systemd brings the machine to the state based on the system target, performing system initialization tasks such as:
systemd是一个init系统,用来在Linux RHEL 7开机过程中引导自举用户空间和管理接下来的所有进程。systemd基于system目标将机器引导到特定的状态,执行系统初始化等任务:

  • Initializing the Network 初始化网络
  • Setting the Host-name 设置主机名
  • Initializing SE-Linux 初始化SE-Linux
  • Initializing the system hardware based on kernel boot arguments 基于内核引导参数初始化系统硬件
  • Mounting the file systems, including virtual file systems such as the /proc file system 加载文件系统,包括虚拟文件系统,例如/proc文件系统
  • Starting swapping 启动交换分区

I hope this article provides you the information about, Booting Process in Linux RHEL 7. Thank you for studying!!. Be Social and share it in social media,if you really feel worth sharing it.
希望这篇文章可以提供Linux RHEL 7启动过程的相关信息。谢谢你的学习!。如果您真的觉得本文值得分享,请在社交媒体上分享它。

扩展阅读

后记 : Linux RHEL 7启动过程小结 (图片来源戳这里

[中英对照]Booting Process in Linux RHEL 7 | Linux RHEL 7启动过程的更多相关文章

  1. [中英对照]Introduction to DPDK: Architecture and Principles | DPDK概论: 体系结构与实现原理

    [中英对照]Introduction to DPDK: Architecture and Principles | DPDK概论: 体系结构与实现原理   Introduction to DPDK: ...

  2. 【论文翻译】NIN层论文中英对照翻译--(Network In Network)

    [论文翻译]NIN层论文中英对照翻译--(Network In Network) [开始时间]2018.09.27 [完成时间]2018.10.03 [论文翻译]NIN层论文中英对照翻译--(Netw ...

  3. eclipse菜单解释及中英对照《二》

    上篇文章主要介绍了eclipse中每个大的标题下的中英文及其用法. 感谢http://blog.csdn.net/li_jinjian2005/article/details/2831641这个博主. ...

  4. eclipse菜单解释及中英对照

    在使用Eclipse作为开发工具的时候,建议使用英文版本的(直接百度从官网下就行,这里不详细描述,如果有问题,咱们私聊).虽然中文版本的对于和我一样对英文是小白的看起来特别爽,但是公司大多是英文版本的 ...

  5. [转]从普通DLL中导出C++类 – dllexport和dllimport的使用方法(中英对照、附注解)

      这几天写几个小程序练手,在准备将一个类导出时,发现还真不知道如果不用MFC的扩展DLL,是怎么导出的.但我知道dllexport可以导出函数和变量,而且MFC扩展DLL就算是使用了MFC的功能,但 ...

  6. webstorm快捷键 webstorm keymap内置快捷键英文翻译、中英对照说明

    20160114参考网络上的快捷键,整理自己常用的: 查找/代替shift+shift 快速搜索所有文件,简便ctrl+shift+N 通过文件名快速查找工程内的文件(必记)ctrl+shift+al ...

  7. 知识:CSS 词汇表(中英对照)_CSS Vocabulary

    注释(Comment) 语句(Statement) 规则集(Rule-set) At 规则(At-rule) 媒体查询(Media query) 媒体查询列表(Media query list) 媒体 ...

  8. HALCON中的算子大全(中英对照)

    HALCON中的算子大全(中英对照) Chapter 1 :Classification1.1 Gaussian-Mixture-Models1.add_sample_class_gmm功能:把一个训 ...

  9. PCMM(人力资源能力成熟度模型)V2.0中英对照版发布

    PCMM中英版终于发布 时光荏苒,从当初的回眸到如今的回头,这才发现:坚守一份承诺是多么的不易! 一年多了,这份承载殷切期待的作品--<PCMM(人力资源能力成熟度模型)V2.0 (中英文对照版 ...

随机推荐

  1. 强制TFS用户与计算机(域)用户同步

    默认情况下,添加到域AD组中的账户不会立刻同步到TFS中. TFS每小时与域控制器同步一次,将计算机安全组中的账户添加到TFS中. 但是可以通过下面几种方式强制TFS立刻同步域中的账户: 1. 在TF ...

  2. Hadoop 集群配置记录小结

    Hadoop集群配置往往按照网上教程就可以"配置成功",但是你自己在操作的时候会有很多奇奇怪怪的问题出现, 我在这里整理了一下常见的问题与处理方法: 1.配置/etc/hosts ...

  3. jquery控制元素的隐藏和显示的几种方法。

    组织略显凌乱,请耐心看! 使用jquery控制div的显示与隐藏,一句话就能搞定,例如: 1.$("#id").show()表示为display:block, $("#i ...

  4. C#获取手机验证码+榛子云平台

    今天给大家推荐一个简单的获取手机验证码注册+获取随机4位数 测试框架:.net4.7以上 1.榛子云注册:http://smsow.zhenzikj.com/,送一条测试短信,最低充10元即刻使用 2 ...

  5. docker为什么适合devops?

    欢迎访问网易云社区,了解更多网易技术产品运营经验 进阶版结论:Kubernetes + Docker 是 Dev 和 Ops 融合的一个桥梁.   DevOps 强调的是高效组织团队之间如何通过自动化 ...

  6. Oracle数据库01

    常用函数 COUNT(*):统计所有的数据量,没有过滤功能 COUNT(字段):统计出指定字段不为null的数据量,有过滤功能 COUNT(DISTINCT 字段):统计指定字段不为空并且去掉重复数据 ...

  7. .Net开发工程师笔试试题

    第一部分[数据库技能] 附上自己做的答案,提出不足之处 现在有一个SQL Server 2000版本的数据库,里面包含有三个表Info.InfoReply.User,分别表示信息.信息评论和用户表,包 ...

  8. pymongo 学习

    查看一条记录,返回一条 dict 记录 db.Account.find_one({"UserName":"keyword"}) 查看某一列的一条记录(此时的1, ...

  9. Spring中 使用注解+c3p0+事物 《模拟银行转账》

    使用注解的方式  模拟转账 要么都成功 要么都失败 !保持一致性! 准备工作: jar包:  需要的类:       UserDao: package com.hxzy.spring.c3p0.Dao ...

  10. [bzoj3995] [SDOI2015]道路修建 线段树

    Description 某国有2N个城市,这2N个城市构成了一个2行N列的方格网.现在该国政府有一个旅游发展计划,这个计划需要选定L.R两列(L<=R),修建若干条专用道路,使得这两列之间(包括 ...