安装指南

2025-10-31 23:23:01

本文档是关于使用从官方安装映像制作的 Live 系统安装 Arch Linux 的指南。安装介质提供了辅助功能,这些功能在 使用辅助功能选项安装 Arch Linux 页面中进行了描述。有关其他安装方式,请参阅 Category:安装过程。

在安装之前,建议查看 FAQ。有关本文档中使用的约定,请参阅 Help:阅读。特别是,代码示例可能包含必须手动替换的占位符(以 斜体 格式显示)。

本指南保持简洁,建议您按照每个章节中呈现的顺序遵循说明。 有关更详细的说明,请参阅相应的 ArchWiki 文章或各种程序的 man pages,两者都已从本指南链接。 如需互动帮助,还可以使用 IRC 频道 和 论坛。

Arch Linux 应在任何 x86_64 兼容的机器上运行,最低配置为 512 MiB 内存,但启动 Live 系统进行安装需要更多内存。[1] 基本安装应占用少于 2 GiB 的磁盘空间。由于安装过程需要从远程存储库检索软件包,因此本指南假定工作互联网连接可用。

预安装

获取安装映像

访问 下载 页面,并根据您想要启动的方式,获取 ISO 文件或 netboot 映像以及相应的 PGP 签名。

验证签名

建议在使用前验证映像签名,尤其是在从 HTTP 镜像 下载时,因为通常下载容易被拦截以 提供恶意映像。

在安装了 GnuPG 的系统上,通过下载 ISO PGP 签名(在下载页面的校验和下)到 ISO 目录,并使用以下命令 验证 它:

$ gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig

或者,从现有的 Arch Linux 安装运行

$ pacman-key -v archlinux-version-x86_64.iso.sig

注意

如果签名是从镜像站点而不是从上面的 archlinux.org 下载的,则签名本身可能会被篡改。 在这种情况下,请确保用于解码签名的公钥已由另一个可信密钥签名。 gpg 命令将输出公钥的指纹。

验证签名真实性的另一种方法是确保公钥的指纹与签署 ISO 文件的 Arch Linux 开发人员 的密钥指纹相同。 有关使用公钥过程验证密钥的更多信息,请参阅 Wikipedia:公钥密码学。

准备安装介质

ISO 可以通过 USB 闪存驱动器、光盘 或具有 PXE 的网络提供给目标机器:按照相应的文章从 ISO 文件准备安装介质。

对于 netboot 映像,请按照 Netboot#从 USB 闪存驱动器启动 准备用于 UEFI 启动的 USB 闪存驱动器。

启动 Live 环境

注意: Arch Linux 安装映像不支持安全启动。 您将需要 禁用安全启动 才能启动安装介质。 如果需要,可以在完成安装后设置 安全启动。

将当前启动设备指向具有 Arch Linux 安装介质的设备。 通常,这是通过在 POST 阶段按下键来实现的,如启动画面上所示。 有关详细信息,请参阅主板手册。

当安装介质的引导加载程序菜单出现时,如果您使用 ISO,请选择 Arch Linux install medium 并按 Enter 进入安装环境。

如果您使用 Netboot 映像,请从 Mirror 菜单中选择地理位置较近的镜像,然后选择 Boot Arch Linux 并按 Enter。提示

ISO 使用 systemd-boot 用于 UEFI 启动,syslinux 用于 BIOS 启动。 分别使用 e 或 Tab 进入 启动参数。 Netboot 映像使用 iPXE,启动参数可以在 Boot options 菜单中指定。 有关列表,请参阅 README.bootparams。

手动定义的启动参数的一个常见示例是字体大小。 为了在 HiDPI 屏幕上获得更好的可读性(当它们尚未被识别为 HiDPI 屏幕时),使用 fbcon=font:TER16x32 可以有所帮助。 有关详细说明,请参阅 HiDPI#Linux 控制台 (tty)。

您将以 root 用户身份登录到第一个 虚拟控制台,并看到 Zsh shell 提示符。

要切换到不同的控制台(例如,使用 Lynx 与安装一起查看本指南),请使用 Alt+箭头 快捷键。 要 编辑 配置文件,可以使用 mcedit(1)、nano 和 vim。 有关安装介质中包含的软件包列表,请参阅 pkglist.x86_64.txt。

设置控制台键盘布局和字体

默认的 控制台键盘映射 是 美国。 可用布局可以使用以下命令列出:

# localectl list-keymaps

要设置键盘布局,请将其名称传递给 loadkeys(1)。 例如,要设置 德语 键盘布局:

# loadkeys de-latin1

控制台字体 位于 /usr/share/kbd/consolefonts/ 中,同样可以使用 setfont(8) 设置,省略路径和文件扩展名。 例如,要使用最适合 HiDPI 屏幕 的最大字体之一,请运行:

# setfont ter-132b

验证启动模式

要验证启动模式,请检查 UEFI 位数

# cat /sys/firmware/efi/fw_platform_size

如果命令返回 64,则系统以 UEFI 模式启动,并且具有 64 位 x64 UEFI。

如果命令返回 32,则系统以 UEFI 模式启动,并且具有 32 位 IA32 UEFI。 虽然这受支持,但它会将引导加载程序选择限制为支持混合模式启动的引导加载程序。

如果返回 No such file or directory,则系统可能以 BIOS(或 CSM)模式启动。

如果系统未以您期望的模式(UEFI 与 BIOS)启动,请参阅主板手册。

连接到互联网

要在 Live 环境中设置网络连接,请执行以下步骤:

确保您的 网络接口 已列出并已启用,例如使用 ip-link(8)# ip link

对于无线和 WWAN,请确保网卡未被 rfkill 阻止。

连接到网络以太网 - 插入网线。

Wi-Fi - 使用 iwctl 验证无线网络身份。

移动宽带调制解调器 - 使用 mmcli 实用程序连接到移动网络。

配置您的网络连接DHCP:动态 IP 地址和 DNS 服务器分配(由 systemd-networkd 和 systemd-resolved 提供)应该适用于以太网、WLAN 和 WWAN 网络接口。

静态 IP 地址:请按照 网络配置#静态 IP 地址 进行操作。

可以使用 ping 验证连接# ping archlinux.org

注意: 在安装映像中,systemd-networkd、systemd-resolved、iwd 和 ModemManager 默认情况下已预配置并启用。 安装后的系统并非如此。

更新系统时钟

在 Live 环境中,systemd-timesyncd 默认情况下已启用,并且一旦建立互联网连接,时间将自动同步。

使用 timedatectl(1) 以确保系统时钟已同步

# timedatectl

磁盘分区

当被 Live 系统识别时,磁盘将被分配给 块设备,例如 /dev/sda、/dev/nvme0n1 或 /dev/mmcblk0。 要识别这些设备,请使用 lsblk 或 fdisk。

# fdisk -l

以 rom、loop 或 airootfs 结尾的结果可以忽略。 以 rpbm、boot0 和 boot1 结尾的 mmcblk* 设备可以忽略。

注意: 如果磁盘未显示,请确保磁盘控制器未处于 RAID 模式。

提示: 在分区之前,检查您的 NVMe 驱动器和高级格式硬盘驱动器是否正在使用 最佳逻辑扇区大小。

以下 分区 是所选设备必需的:

一个用于 根目录 / 的分区。

对于在 UEFI 模式下启动:一个 EFI 系统分区。

使用 分区工具(如 fdisk)来修改分区表。 例如:

# fdisk /dev/the_disk_to_be_partitioned

注意

花时间规划长期的分区方案,以避免将来进行有风险且复杂转换或重新分区程序。

如果您想为 LVM、系统加密 或 RAID 创建任何堆叠块设备,请立即执行。

如果想要从中启动的磁盘 已经有一个 EFI 系统分区,请不要创建另一个,而是使用现有的分区。

交换 空间可以在支持它的文件系统的 交换文件 上设置。 或者,可以通过在安装系统后设置 zram 上的交换 来完全避免基于磁盘的交换。

示例布局

UEFI 与 GPT

已安装系统上的挂载点

分区

分区类型

建议大小

/boot1

/dev/efi_system_partition

EFI 系统分区

1 GiB

[SWAP]

/dev/swap_partition

Linux 交换分区

至少 4 GiB

/

/

/dev/root_partition

Linux x86-64 根目录 (/)

设备剩余空间。 至少 23–32 GiB。

其他挂载点(例如 /efi)也是可能的,前提是使用的引导加载程序能够从根卷加载内核和 initramfs 映像。 请参阅 Arch 启动过程#引导加载程序 中的警告。

已安装系统上的挂载点

分区

分区类型

建议大小

[SWAP]

/dev/swap_partition

Linux 交换分区

至少 4 GiB

/

/

BIOS 与 MBR

Linux x86-64 根目录 (/)

Linux

另请参阅 分区#示例布局。

格式化分区

创建分区后,必须使用适当的 文件系统 格式化每个新创建的分区。 有关详细信息,请参阅 文件系统#创建文件系统。

# mkfs.ext4 /dev/root_partition

例如,要在 /dev/root_partition 上创建 Ext4 文件系统,请运行:

# mkswap /dev/swap_partition

如果您为 交换分区 创建了分区,请使用 mkswap(8) 初始化它

注意: 对于堆叠块设备,请将 /dev/*_partition 替换为相应的块设备路径。

如果您创建了 EFI 系统分区,请使用 mkfs.fat(8) 将其 格式化 为 FAT32。

# mkfs.fat -F 32 /dev/efi_system_partition

警告: 仅当您在分区步骤中创建了 EFI 系统分区时才格式化它。 如果磁盘上事先已经存在 EFI 系统分区,则重新格式化它可能会破坏其他已安装操作系统的引导加载程序。

挂载文件系统

# mount /dev/root_partition /mnt

挂载 根卷到 /mnt。 例如,如果根卷是 /dev/root_partition:

在 /mnt 下创建任何剩余的挂载点(例如 /boot 的 /mnt/boot),并按其相应的层次顺序挂载卷。

提示: 运行带有 --mkdir 选项的 mount(8) 以创建指定的挂载点。 或者,事先使用 mkdir(1) 创建它。

# mount --mkdir /dev/efi_system_partition /mnt/boot

对于 UEFI 系统,挂载 EFI 系统分区:

# swapon /dev/swap_partition

如果您创建了 交换 卷,请使用 swapon(8) 启用它

genfstab(8) 稍后将检测已挂载的文件系统和交换空间。

安装

选择镜像

要安装的软件包必须从 镜像服务器 下载,这些服务器在 /etc/pacman.d/mirrorlist 中定义。 在 Live 系统上,连接到互联网后,reflector 通过选择 20 个最近同步的 HTTPS 镜像并按下载速率对其进行排序来更新镜像列表。

镜像在列表中位置越高,下载软件包时给予它的优先级就越高。 您可能需要检查文件以查看它是否令人满意。 如果不满意,请 编辑 该文件,并将地理位置最近的镜像移动到列表顶部,尽管应考虑其他标准。

此文件稍后将由 pacstrap 复制到新系统,因此值得正确设置。

安装基本软件包

注意: 没有软件或配置(/etc/pacman.d/mirrorlist 除外)从 Live 环境转移到已安装的系统。

# pacstrap -K /mnt base linux linux-firmware

提示

使用 pacstrap(8) 脚本安装 base 软件包、Linux 内核 和通用硬件的固件

您可以将 linux 替换为您选择的 内核 软件包,或者在 容器 中安装时可以完全省略它。

在虚拟机或容器中安装时,您可以省略固件软件包的安装。

base 软件包不包含 Live 安装中的所有工具,因此安装更多软件包可能对于功能齐全的基本系统是必要的。 要安装其他软件包或软件包组,请将名称附加到上面的 pacstrap 命令(空格分隔),或在使用 chroot 进入新系统 时使用 pacman 安装 它们。 特别是,考虑安装:

CPU 微代码 更新 — amd-ucode 或 intel-ucode — 用于硬件错误和安全修复,

系统上将使用的 文件系统的用户空间实用程序 — 用于例如文件系统创建和 fsck,

用于访问和管理 RAID 或 LVM 的实用程序(如果它们将在系统上使用),

未包含在 linux-firmware 中的其他设备的特定固件(例如 sof-firmware 用于 板载音频,linux-firmware-marvell 用于 Marvell 无线,以及用于 Broadcom 无线 的多个固件软件包中的任何一个),

网络 所需的软件(例如 网络管理器或独立的 DHCP 客户端、用于 Wi-Fi 的 身份验证软件、用于移动宽带连接的 ModemManager),

控制台文本编辑器(例如 nano),以允许从控制台编辑配置文件,

用于访问 man 和 info 页面中的文档的软件包:man-db、man-pages 和 texinfo。

为了进行比较,Live 系统中可用的软件包可以在 pkglist.x86_64.txt 中找到。

配置系统

Fstab

# genfstab -U /mnt >> /mnt/etc/fstab

生成 fstab 文件(分别使用 -U 或 -L 按 UUID 或标签定义)

检查生成的 /mnt/etc/fstab 文件,并在出现错误时 编辑 它。

Chroot

# arch-chroot /mnt

切换根目录 到新系统

时间

# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime

设置 时区

# hwclock --systohc

运行 hwclock(8) 以生成 /etc/adjtime

此命令假定硬件时钟设置为 UTC。 有关详细信息,请参阅 系统时间#时间标准。

为了防止时钟漂移并确保准确的时间,请使用 网络时间协议 (NTP) 客户端(例如 systemd-timesyncd)设置 时间同步。

本地化

# locale-gen

编辑 /etc/locale.gen 并取消注释 en_US.UTF-8 UTF-8 和其他需要的 UTF-8 区域设置。 通过运行以下命令生成区域设置:

/etc/locale.conf

LANG=en_US.UTF-8

创建 locale.conf(5) 文件,并相应地 设置 LANG 变量

/etc/vconsole.conf

KEYMAP=de-latin1

如果您 设置了控制台键盘布局,请在 vconsole.conf(5) 中使更改持久化

网络配置

/etc/hostname

yourhostname

创建 主机名 文件

完成新安装环境的 网络配置。 这可能包括安装合适的 网络管理 软件,在必要时对其进行配置,并启用其 systemd 单元,以便它在启动时启动。

Initramfs

通常不需要创建新的 initramfs,因为在安装 内核 软件包时,mkinitcpio 已使用 pacstrap 运行。

# mkinitcpio -P

对于 LVM、系统加密 或 RAID,请修改 mkinitcpio.conf(5) 并重新创建 initramfs 映像

Root 密码

# passwd

设置 root 密码

引导加载程序

选择并安装一个支持 Linux 的 引导加载程序。

重启

键入 exit 或按 Ctrl+d 退出 chroot 环境。

可选地手动卸载所有分区,使用 umount -R /mnt:这允许注意到任何“繁忙”的分区,并使用 fuser(1) 查找原因。

最后,键入 reboot 重新启动机器:任何仍然挂载的分区都将由 systemd 自动卸载。 记住移除安装介质,然后使用 root 帐户登录到新系统。

安装后

有关系统管理方向和安装后教程(如创建非特权用户帐户、设置图形用户界面、声音或触摸板),请参阅 通用建议。