to Linux引导过程基本指南

每次您打开Linux计算机时,它都会经过一系列步骤,直到最终显示要求您输入用户名或密码的登录屏幕。

每个Linux发行版在其典型的引导过程中经历了4个不同的阶段。

to Linux引导过程基本指南

在本指南中,我们将重点介绍Linux从开机到登录所采取的各种步骤。

请注意,本指南仅考虑了GRUB2引导加载程序和systemd init,因为当前大多数现代Linux发行版都在使用它们。

下载过程包括以下4个步骤,我们将对其进行详细讨论:

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

1. BIOS完整性检查(POST)

通常,当用户按下电源按钮(如果计算机已经关闭)或使用图形界面或命令行重新引导系统时,就会启动引导过程。

Linux开机后,BIOS(基本输入/输出系统)开机并执行开机自检- 开机自检 (POST)。

它是执行各种诊断检查的完整性检查。

POST检查硬件组件(例如硬盘或固态驱动器,键盘,RAM,USB端口和任何其他硬件)的运行状况。

如果未找到任何硬件设备,或者任何设备发生故障(例如硬盘驱动器或固态驱动器损坏),则屏幕上会显示一条错误消息,提示您进行干预。

在某些情况下,会发出哔声,尤其是在没有RAM模块的情况下。

但是,如果存在预期的硬件并按预期运行,则引导过程将继续进行下一步。

2.引导加载程序(GRUB2)

POST完成后,系统将检查MBR(主引导记录)中的引导加载程序和磁盘分区信息。

MBR是位于硬盘驱动器第一扇区中的512字节代码,通常取决于您的硬盘驱动器体系结构/ dev / sda或/ dev / hda。

但是请注意,有时MBR可能位于Live USB或Linux DVD上。

Linux中有三种主要类型的引导加载程序:LILO,GRUB和GRUB2。

GRUB2引导加载程序是现代Linux发行版中最新的主引导加载程序。

GRUB2代表GRand Unified Bootloader版本2。

BIOS一旦检测到grub2引导程序,就会启动并将其加载到主内存(RAM)中。

使用grub2菜单,您可以做几件事。

它允许您选择要使用的Linux内核版本。

如果您已多次更新系统,则可能会看到列出的不同内核版本。

另外,它使您能够通过按键盘快捷键来编辑某些内核参数。

to Linux引导过程基本指南

另外,在双引导系统上,当您安装了多个操作系统时,可以使用grub菜单选择要引导到的操作系统。 grub2配置文件是一个文件 /boot/grub2/grub2.cfg。

GRUB的主要目的是将Linux内核加载到主内存中。

3.内核初始化

内核是任何Linux系统的核心。

它将PC硬件连接到基本过程。

内核控制Linux系统上的所有进程。

引导加载程序加载选定的Linux内核后,它必须先从压缩版本中自解压缩,然后再执行任何任务。

自解压后,选择的内核将挂载根文件系统并初始化/ sbin / init程序,通常称为init。

to Linux引导过程基本指南

初始化始终由第一个程序执行,并分配有进程ID或PID 1。

这是一个初始化过程,将产生各种守护程序并挂载/ etc / fstab中指定的所有分区。

然后,内核会挂载一个初始RAM磁盘(initrd),该磁盘是一个临时的根文件系统,直到安装了真正的根文件系统为止。

所有内核以及初始RAM磁盘映像都位于/ boot目录中。

4.启动Systemd

最后,内核加载Systemd,以替换旧的SysV init。

Systemd是所有Linux进程的源头,除其他功能外,它还管理文件系统的挂载,启动和停止服务等。

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

  • 对于台式机工作站(具有图形用户界面),默认目标为5,它等效于旧SystemV init的运行级别5。
  • 对于服务器,默认值为multi-user.target,它对应于SysV init中的运行级别3。

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

$ systemctl get-default

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

$ init runlevel-value

例如,初始化3将系统置于非图形状态。

初始化6重新启动系统,初始化0关闭系统。

要切换到这两个级别时,请确保使用sudo命令。

当systemd装入所有守护程序并设置目标或运行级别值时,引导过程结束。

此时,系统将提示您输入用户名和密码,之后您便可以访问Linux系统。

Sidebar