- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

# Arch Boot Process (简体中文)

From ArchWiki

摘要
一个按照时间顺序对 Arch 启动过程的概览。
概览
为了启动 Arch Linux，一个与 Linux 兼容的启动引导程序，如 GRUB, GRUB2, LILO, 或者 Syslinux 必须被安装到主引导记录(MBR), 或者GUID 分区表(GPT)。启动引导程序的任务是初始化 Arch 启动过程，然后加载内核以及初始化内存盘。
相关页面
fstab (简体中文)
Systemd (简体中文)
Autostarting

翻译状态： 本文是英文页面 Arch_Boot_Process 的翻译，最后翻译时间：2012-11-04，点击这里可以查看翻译后英文页面的改动。

## 启动加载器

系统开机并且执行完加电自检后，BIOS会根据自身设置选择最佳的启动媒介，把控制权传递给该媒介的主引导记录（Master Boot Record）部分。在GNU/Linux系统中，MBR里通常是像GRUB、LILO这样的引导器（bootloader）。引导器通常会给用户一个菜单或者命令行之类的机制，供用户选择和设置。例如双系统的设置。一旦你选择启动Arch时，引导器就会载入`/boot` 目录下的内核镜像（比如`initramfs-linux.img`），并解压缩。

## 内核

内核是一个操作系统的核心。他作用于非常底层的硬件和控制硬件的程序之间的部分（又称之为内核空间）。由于CPU在某个时刻只能执行一个任务，为了更为高效的使用CPU，内核使用调度器，通过一定的优先级算法将 CPU 按照时间动态的分配给各个程序。给我们的感觉就像所有程序都在使用CPU一样。

## initramfs

内核在载入后会解压initramfs(初始化RAM文件系统），生成初始根文件系统。然后内核会执行 `/init`，init 成为第一个进程，早期用户空间就启动了。

initramfs 的作用是将系统启动到可以访问 根文件系统的阶段，所以需要包含没有内置进内核的 IDE、SCSI、SATA（如果从USB设备中启动的话，肯定还有USB/FW模块）等驱动。在initramfs载入了必要的模块后(通过程序和脚本显式加入或通过 udev 自动装入)，引导过程继续。因此，initrd无须包含所有模块，大部分模块将在随后的引导中通过udev载入。

## Init 进程

在早期用户空间的最后，会挂载真正的根分区，并替代初始根文件系统。执行 `/sbin/init` 以接替 `/init` 进程。

Arch 现在使用Systemd作为默认的初始化进制。Arch 过去使用 Initscripts，建议使用它的用户切换到Systemd.

## 扩展资源

- Arch Linux 早期用户空间
- 通过Grub启动到单用户模式
- 通过GRUB引导Linux
- Linux驱动过程探究
- Linux / Unix命令之sysctl.conf详解
- 论坛中的rc.local范例
- 维基百科中的启动过程解析
- Wikipedia:initrd

Retrieved from "https://wiki.archlinux.org/index.php?title=Arch_Boot_Process_(简体中文)&oldid=260108"
Categories:

- Boot process (简体中文)
- About Arch (简体中文)

## Navigation menu