Redian新闻
>
linux 系统是怎么启动的?

linux 系统是怎么启动的?

公众号新闻

每次打开 Linux PC 时,它都会经历一系列阶段,然后最终显示提示输入用户名或密码的登录屏幕。每个 Linux 发行版在典型的启动过程中都会经历 4 个不同的阶段。

每次打开 Linux PC 时,它都会经历一系列阶段,然后最终显示提示输入用户名或密码的登录屏幕。每个 Linux 发行版在典型的启动过程中都会经历 4 个不同的阶段。

用户登录提示

在本指南中,我们将重点介绍 Linux 操作系统从开机到登录的各个步骤。请注意,本指南仅考虑了当前使用的GRUB2引导加载程序和systemdinit 绝大多数现代 Linux 发行版 引导过程需要以下 4 个步骤,我们将更详细地讨论这些步骤:

  • BIOS完整性检查 (POST)
  • 加载引导加载程序 (GRUB2)
  • 内核初始化
  • 启动systemd,所有进程的父进程

1. BIOS 完整性检查 (POST)

引导过程通常在用户按下开机按钮(如果 PC 已经关闭)或使用 GUI 或命令行重新启动系统时初始化。

当 Linux 系统启动时,BIOS基本输入输出系统)启动并执行开机自检(POST)。这是执行大量诊断检查的完整性检查。

POST探测部件,如硬件操作性HDDSSD键盘RAMUSB端口,和任何其他的硬件。如果未检测到某些硬件设备,或者任何设备出现故障,例如损坏的 HDD 或 SSD,屏幕上会出现一条错误消息,提示您进行干预。

在某些情况下,特别是在缺少 RAM 模块的情况下,会发出哔哔声。但是,如果预期的硬件存在并且按预期运行,则引导过程将进入下一阶段。

2. 引导加载程序 (GRUB2)

一旦POST完成并且停止运行,BIOS 就会探测MBR主引导记录)以获取引导加载程序和磁盘分区信息。

MBR是位于硬盘驱动器通常是第一个扇区 512 字节的代码/dev/sda/dev/hda根据您的硬盘驱动器架构。但是请注意,有时MBR可以位于Linux的Live USBDVD安装中。

Linux 中有 3 种主要类型的引导加载程序:LILOGRUBGRUB2。该GRUB2引导装载程序是现代的 Linux 发行版的最新和主引导程序,另外两个已经过时。

GRUB2代表GRand Unified Bootloader版本 2。一旦BIOS找到 grub2 引导加载程序,它就会执行并将其加载到主内存 (RAM) 上。

GRUB2菜单允许你做两件事情。它允许您选择要使用的 Linux 内核版本。如果您已经升级了几次系统,您可能会看到列出的不同内核版本。此外,它还使您能够通过按键盘组合键来编辑某些内核参数。

选择内核版本

此外,在有多个操作系统安装如何使用 FTP 网络源安装多个 CentOS/RHEL 服务器")的双引导设置中,grub 菜单允许您选择要引导到的操作系统。grub2 配置文件是/boot/grub2/grub2.cfg文件。GRUB 的主要目标是将 Linux 内核加载到主内存中。

3. 内核初始化

内核是任何 Linux 系统的核心。它将 PC 的硬件与底层进程连接起来。内核控制 Linux 系统上的所有进程。一旦引导加载程序加载了选定的 Linux 内核,它必须在执行任何任务之前从其压缩版本中自行解压缩。在自解压缩,所选择的内核安装根文件系统,并初始化/ sbin 目录 / 初始化通常被称为程序初始化

内核初始化过程

Init始终是第一个要执行的程序,并被分配进程 ID 或 PID 为 1。它是 init 进程,它产生各种守护进程并挂载/etc/fstab文件中指定的所有分区。

内核然后挂载初始 RAM 磁盘 (initrd),它是一个临时的根文件系统,直到真正的根文件系统被挂载。所有内核都/boot与初始 RAM 磁盘映像一起位于该目录中。

4. 启动 Systemd

内核最终加载了Systemd,它是旧SysVinit的替代品。Systemd是所有 Linux 进程的母体,并管理文件系统的挂载、启动和停止服务等等。

Systemd 使用/etc/systemd/system/default.target文件来确定 Linux 系统应该引导到的状态或目标。

  • 对于桌面工作站(带有 GUI),默认目标值为 5,相当于旧 SystemV init 的运行级别 5。
  • 对于服务器,默认目标是multi-user.target,它对应于 SysV init 中的运行级别 3。

以下是 systemd 目标的细分:

  • poweroff.target (runlevel 0):关闭或关闭系统。
  • rescue.target (runlevel 1):启动救援shell会话。
  • multi-user.target (runlevel 2,3,4):将系统配置为非图形(控制台)多用户系统。
  • graphics.target (runlevel 5):将系统设置为使用具有网络服务的图形多用户界面。
  • reboot.target (runlevel 6):重新启动系统。

要检查系统上的当前目标,请运行以下命令:

> systemctl get-default

检查运行级别

您可以通过在终端上运行以下命令从一个目标切换到另一个目标:

> init runlevel-value

例如,init 3 将系统配置为非图形状态。

init 6命令重新启动您的系统和init 0关闭系统电源。当您要切换到这两个目标时,请务必调用sudo 命令

一旦systemd加载所有守护进程并设置目标或运行级别值,引导过程就会结束。此时,系统会提示您输入用户名和密码,然后您就可以进入 Linux 系统。


链接:https://rumenz.com/rumenbiji/linux-bootstrap.html

(版权归原作者所有,侵删)


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
如何通过 chroot 恢复 Arch Linux 安装 | Linux 中国通过 SSH 在远程 Linux 系统上执行命令 | Linux 中国Linux Mint 的更新管理器现在支持 Flatpak | Linux 中国在 Linux 中创建 LVM 分区的分步指南 | Linux 中国如何在 Ubuntu Linux 上更新谷歌 Chrome | Linux 中国使用这个多功能的 Linux 命令转换音频文件 | Linux 中国Fedora Linux 37 发布 | Linux 中国Rosalía 登意大利版《VOGUE》封面!伊在何方?(棉花街往事 1)如何在 Ubuntu 和其他相关 Linux 中安装 Python 3.10 | Linux 中国使用 PSCP 将文件和文件夹从 Windows 传输到 Linux | Linux 中国LURE 初窥!将 AUR 带入所有 Linux 发行版 | Linux 中国如何在 Linux 系统中访问 UEFI 设置 | Linux 中国Rhino Linux:滚动发布但也很稳定的 Ubuntu | Linux 中国最佳 Linux 远程桌面客户端 | Linux 中国如何在 Ubuntu 和其他 Linux 中检查 CPU 和硬盘温度 | Linux 中国如何在 Arch Linux 中启用 Snap 支持 | Linux 中国美国入境档案--孔祥熙费起鹤1901年旧金山5 个 htop 替代:增强你的 Linux 系统监控体验 | Linux 中国一场说走就走的旅行~金色的布拉格解决 Linux 中的 “Bash: Command Not Found” 报错 | Linux 中国Go 眼中的文件系统是什么? io.FS如何提高 Ubuntu 和其他 Linux 系统中的扬声器音量 | Linux 中国Arch Linux 中用于包管理的图形化应用 | Linux 中国打造万圣节 Linux 桌面 | Linux 中国在你的 Linux 终端中玩经典的贪吃蛇游戏 | Linux 中国“僵尸行走”:万圣节的预演开源朗读者:使用 Linux 的优势和劣势 | Linux 中国彭斯家中也发现机密文件,美国机密保护系统是否出了问题?如何在 Linux 中确定运行的是那种初始化系统 | Linux 中国重温普希金的渔夫与金鱼。13 个从头开始构建的独立 Linux 发行版 | Linux 中国12 个对新手最重要的 Linux 命令 | Linux 中国如何在 Ubuntu 等 Linux 中安装 Python 3.11 | Linux 中国在 Linux 中如何从命令行查找默认网关的 IP 地址 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。