Linux 基础 | 青训营笔记

150 阅读3分钟

前端训练营 Day 2

欢迎大家使用 Arch Linux(传教ing)

Linux 的启动

Legacy BIOS

  在很久很久以前(也就十年前吧),我们使用传统 BIOS(Basic Input Output System,基本输入输出系统) 启动操作系统,BIOS是固化到主板上的一段程序,在主板通电后自动执行,完成各个硬件的自检。最后根据 BIOS 设置中的启动顺序依次在各个存储设备的开头寻找可启动标记与启动代码,找到后便开始运行 Bootloader(如 Linux 发行版常用的 GRUB、Windows 的 Windows Boot Manager)的启动代码,由活动分区中的 Bootloader 加载操作系统。

  在这段时间内,由于传统 BIOS 只支持 MBR 方式分区的磁盘,对硬盘的使用有很多限制,如不支持启动分区在硬盘前2TB之外、主分区数量不能超过4个等。为了解决第一个问题,许多操作系统使用一个小的 引导分区存放系统内核和其他重要文件,将除内核外的其他系统文件放到另一个分区里;为了解决第二个问题,人们发明了“扩展分区”,即把一个大分区“抽象”为一块硬盘,在这个“硬盘”里创建逻辑分区。

UEFI BIOS

  现在,一般使用 UEFI(Unified Extensible Firmware Interface, 统一可扩展固件接口) BIOS,UEFI 使得在系统启动前可以支持启动更多种类的硬件设备,如 TPM 芯片等。此时我们只需要一个 UEFI BIOS 支持的分区(通常为 FAT32 文件系统),即 EFI 分区。UEFI通过执行该分区中的 EFI 文件加载 Bootloader。

  此时硬盘普遍使用 GPT(GUID Partition Table,GUID 分区表),没有了最大 2TB 硬盘和最多4个主分区的限制。

Initramfs

  即使是 UEFI,也有一些不支持的特殊服务需要在操作系统之前启动,如 LVM(Logical Volume Manager,可弹性管理分区大小)、等。因此 Linux 发行版通常会构建一个 Initramfs(初始化内存盘文件系统),可看成一个小型操作需要,用于加载 LVM 的驱动程序。Bootloader 会首先启动 Initramfs,由 Initramfs 来加载操作系统的其他部分。

内核与发行版

  其实“Linux”一词指的是 Linus Towards 等人开发的 Linux 内核(Kernel),而 Arch Linux 、Debian、 RHEL 等被称作 Linux 发行版(Distribution)。Linux发行版主要有 Arch 系(Arch Linux、Arco Linux、Manjaro、Steam OS 等)、Debian 系(Debian、Deepin、kali、Ubuntui 等)、Red Hat 系(Centos、Fedora、RHEL等)和其他的发行版。多数 Linux 发行版为用户提供了一个调教好的内核、一系列通用驱动、一个或多个包管理器、一套或多套桌面环境(DE)等。

  发行版开发团队为自己的发行版完成软件适配工作,将适配过的软件打成安装包,用户使用包管理器下载安装或卸载这些软件包。同时包管理器可帮助用户处理软件包之间的依赖关系自。当然,少数发行版没有包管理器,如 LFS、LFS 或 LFS 等。

本文若有不足之处,欢迎纠正(≧^.^≦)喵~

我的其他笔记,可在掘金或 Github( github.com/DoudiNCer/I… )阅读