十二、启动流程

启动流程介绍

现代计算机系统启动是硬件与软件复杂组合。从定义的端点开始,到拥有登录提示符的运行中
系统,需要大量的硬件和软件配合工作。以下列表从较高层面概述了启动系统时所涉及的任务。
x86_64虚拟机列表大致相同。

rehdat 5、6、7启动时区别

启动流程一览
1、计算机接通电源。系统固件(现代UEFI或更旧的BIOS)运行开机自检(POST),并开始
初始化部分硬件。
使用系统BIOS或UEFI配置屏幕(早起按F2可进入设置)
2、系统固件会搜索可启动设备,可能是在UEFI启动固件中配置的,也可能按照BIOS中配置的顺序搜索所有磁盘上的主引导记录(MBR)
使用系统BIOS或UEFI配置屏幕(早起按F2可进入设置)
3、系统固件会从磁盘读取启动加载器,然后将系统控制权交给启动加载器。红帽企业版Linux8中,启动加载器为GRand Unified Bootloader version2(GRUB2)
使用grub2-install命令进行配置,它将安装GRUB2作为磁盘上的启动加载器。
4、GRUB2将从/boot/grub2/grub.cfg文件加载配置并显示一个菜单,从中可以选择要启动的内核。
使用/etc/grub.d/目录、/etc/default/grub文件和grub2-mkconfig命令进行配置,以生成/boot/grub2/grub.cfg文件。
5、选择内核超时到期后,启动加载器从磁盘中加载内核和initramfs,并将他们放入内存中。initramfs是一个存档,其中包含启动时所有必要硬件的内核模块、初始化脚本等等。在redhat8中,initramfs包含自身可用的整个系统。
使用/etc/dracut.conf.d/目录、dracut命令和lsinitrd命令进行配置,以检查initramfs文件。
6、启动加载器将控制权交给内核,从而传递启动加载器的内核命令行中指定的任何选项,以及initramfs在内存中的位置
7、对于内核可在initramfs中找到驱动程序的所有硬件,内核会初始化这些硬件,然后作为PID1从initramfs执行/sbin/init。在redhat8中/sbin/init是一个指向systemd的链接。
8、initramfs中的systemd进程会执行initrd.target目标的所有单元。这包括将磁盘上的root文件系统挂载于/sysroot目录。
使用/etc/fstab进行配置
9、内核将root文件系统从initramfs切换回/sysroot中的root文件系统。随后,systemd会使磁盘中安装的systemd副本来重新执行。
10、systemd会查找从内核命令行传递或系统中配置的默认目标,然后启动或停止单元,以符合该目标的配置,从而自动解决单元之间依赖关系。本质上,systemd进程是一组系统应激活以达到所需状态的单元。这些进程通常启动一个基于文本的登录或图形登录屏幕
可使用/etc/systemd/system/default.target和/etc/systemd/system/进行配置。

重新启动和关闭
关机 重启
1 init 0 init 6
2 poweroff reboot
3 systemctl poweroff systemctl reboot
4 shutdown -h 20:00 shutdown -r 0
poweroff和reboot是systemctl poweroff和systemctl reboot的链接文件

选择systemd目标
systemd进程是系统启动时第一个个加载的进程,他可以帮助我们选择在开机时直接进入哪个界面
graphical.target 多用户图形界面
multi-user.target 多用户,文本界面
rescue.target 救援界面
emergency.target 紧急救援模式 (只读形式挂载于/上)

查看图形启动服务依赖
systemctl list-dependencies graphical.target | grep target

依赖中服务的状态
systemctl list-units –type=target –all

切换文本和图形界面
systemctl isolate multi-user.target

systemctl isolate graphical.target

[root@foundation0 ~]# systemctl cat graphical.target
 /usr/lib/systemd/system/graphical.target
 SPDX-License-Identifier: LGPL-2.1+
 This file is part of systemd.

 systemd is free software; you can redistribute it and/or modify it
 under the terms of the GNU Lesser General Public License as published by
 the Free Software Foundation; either version 2.1 of the License, or  (at your option) any later version.

[Unit]
Description=Graphical Interface
Documentation=man:systemd.special(7)
Requires=multi-user.target
Wants=display-manager.service
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target display-manager.service
AllowIsolate=yes    #我们只能选择此处设置为yes的服务进行切换

选择启动时默认界面
[root@foundation0 ~]# systemctl get-default
graphical.target
[root@foundation0 ~]# systemctl set-default graphical.target 或multi-user.target

启动时选择登入界面
启动时在内核功能设置位置,找到linux按end后空格,systemd.unit=multi-user.target后,ctrl+x执行。
1、reboot
2、上下箭头光标停留在内核选择位置,
3、按e键编辑,找到linux开头那行按end键
4、进行编辑systemd.unit=multi-user.target
5、ctrl+x执行

重置root密码
1、reboot
2、e
3、rd.break console=tty0
4、mount -o remount,rw /sysroot
5、chroot /sysroot
6、echo mima | passwd –stdin root
7、touch /.autorelabel
exit
exit

检查日志
默认情况下系统日志保存在/run/log/journal目录中,重启后会被清除

Original: https://www.cnblogs.com/wang-yongxu/p/16450610.html
Author: Lyon-w
Title: 十二、启动流程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581973/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 对比nushell和powershell

    2021-07-17 第一版 有些对比领域缺失,这篇文章会持续更新。 这是一篇对比powershell和nushell的文章。我是powerhsell专家,又是nushell新手,…

    Linux 2023年6月14日
    0112
  • Tensorflow-逻辑斯蒂回归

    1.交叉熵 逻辑斯蒂回归这个模型采用的是交叉熵,通俗点理解交叉熵 推荐一篇文章讲的很清楚: 因此,交叉熵越低,这个策略就越好,最低的交叉熵也就是使用了真实分布所计算出来的信息熵,因…

    Linux 2023年6月6日
    086
  • ansible批量采集、批量互信、批量复制、分发文件

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    097
  • linux用户身份与文件权限

    tips:可以将安装好的系统设置为一次快照,这样即便系统彻底崩溃了,也可以在5秒的时间内快速还原出一台全新的系统,而不用担心数据丢失 1、用户身份和能力 Linux系统的管理员之所…

    Linux 2023年5月27日
    098
  • 网心云在PVE下三种磁盘IO模式(No cache,Write through,Write back)选择与优化指南

    最近在用网心云跑PCDN业务,由于是架在PVE环境上的,因此如何对磁盘IO进行优化就成了最大的问题… 1,开启虚拟机IO thread,有效降低CPU负载 2,强制CP…

    Linux 2023年5月27日
    0254
  • 《拉钩课程 – 重学操作系统 – Linux 指令入门》

    1、进程是什么?进程是应用的执行副本。应用的可执行文件是放在文件系统里,把可执行文件启动,就会在操作系统里(具体来说是内存中)形成一个应用的副本,这个副本就是进程。 2、Linux…

    Linux 2023年5月27日
    0114
  • 文件夹图标修改软件 FolderIco

    本来文件夹图标是可以自定义的,只要找好图片,在软件中把图片格式转换成ico,再在文件夹属性中设置图标就可以了。 但是我发现转换出来的ico不够清晰,只有256*256,在大图标模式…

    Linux 2023年6月6日
    0117
  • CentOS 压缩解压

    打包:将多个文件合成一个总的文件,这个总的文件通常称为 “归档”。 压缩:将一个大文件通过某些压缩算法变成一个小文件。 1.1、tar 压缩格式: tar …

    Linux 2023年6月8日
    093
  • 基于灰色模型和Bootstrap理论的大规模定制质量控制方法研究

    基于GM的生产质量预测: 原始质量指标数列为: 是的累加序列为: 经过该处理,可以使粗糙的原始离散数列变为光滑的离散数列。 建立基本的预测模型GM(1,1),其白化方程为 式中,a…

    Linux 2023年6月14日
    077
  • 个人超级计算机

    这篇文章是回答一位用户的问题。 问:站长,我是一个在读研究生,正在学习分布式计算、高性能集群计算方面的知识,Laxcus分布式操作系统也是我的学习模板之一,但是我发现,无论是编程开…

    Linux 2023年6月6日
    094
  • 红警快捷键图示

    最近,实验室的同学们 周末偶尔会玩一玩红警,回忆一下童年,挺愉快的。下面记录一下快捷键,方便操作; 看到B站上红警08,还有对应的快捷键教学视频,也可以直接学习一下; https:…

    Linux 2023年6月14日
    0132
  • MySQL数据库用户授权

    相关库:mysql 相关表:user 查看权限表: 5.7之前的版本 select user,host,password from mysql.user; 5.7之后的版本 sel…

    Linux 2023年6月14日
    080
  • STM32CubeIDE学习记录(按键点灯工程)

    博主使用的开发板以及相关外设连接如下: 芯片型号为: STM32F103RCT6, 新建STM32CubeIDE项目 配置完成后会生成相应的文件并进入如下界面: 使用外部晶振时钟 …

    Linux 2023年6月14日
    0138
  • Linux at命令详解

    大家好,我是良许。 在生活中,我们有太多的场景需要使用闹钟,比如早上7点起床,下午4点开会,晚上8点购物,等等。 [En] In life, we have too many sc…

    Linux 2023年5月27日
    0112
  • 关于NLog在.NET CORE下如何进行日志的持久化及通过邮件发送日志

    配置过程 安装NLog 通过Nuget进行集成(NuGet Gallery | NLog.Web.AspNetCore 4.14.0) 通过命令行安装 Install-Packag…

    Linux 2023年6月14日
    092
  • Redis的数据时如何避免丢失的?

    Redis之所以足够快,一部分的原因是它的数据都是基于内存存储的。虽然Redis更多的是作为一个旁路缓存【先在redis中查询,查询不到数据的时候,在查询持久化数据库】来使用。如果…

    Linux 2023年6月7日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球