安装指南
本文档是使用从官方安装镜像制作的安装介质启动 Live 系统并安装 Arch Linux 的指南。安装介质提供了无障碍功能,具体说明请参见 使用无障碍选项安装 Arch Linux 页面。有关其他安装方式,请参阅 分类:安装过程。
在安装之前,建议先查看 常见问题 (FAQ)。有关本文档中使用的约定,请参阅 帮助:阅读。特别是代码示例中可能包含必须手动替换的占位符(以 斜体 格式显示)。
本指南力求简洁,建议您按章节顺序执行操作。如需更详细的说明,请参阅本指南中链接的相应 ArchWiki 文章或各个程序的 手册页 (man pages)。如需互动式帮助,还可以使用 IRC 频道 和 论坛。
Arch Linux 应该能在任何兼容 x86_64 的机器上运行,且至少需要 512 MiB RAM,但启动 Live 系统进行安装时需要更多内存。[1] 基本安装应占用少于 2 GiB 的磁盘空间。由于安装过程需要从远程仓库获取软件包,本指南假设已具备可用的互联网连接。
安装前准备
获取安装镜像
访问 下载 页面,根据您的启动方式获取 ISO 文件或网络启动(netboot)镜像,以及相应的 PGP 签名。
验证签名
建议在使用前验证镜像签名,特别是从 HTTP 镜像站下载时,因为下载过程容易被拦截并导致 提供恶意镜像。
从 https://archlinux.org.cn/download/#checksums 下载 ISO PGP 签名 到 ISO 所在目录,并按照那里的说明进行验证。
或者,在现有的 Arch Linux 安装中运行
$ pacman-key -v archlinux-version-x86_64.iso.sig
- 如果签名是从镜像站而非 archlinux.org 下载的,其本身也可能被操纵。在这种情况下,请确保用于解码签名的公钥由另一个可信密钥签名。
gpg命令将输出公钥的指纹。 - 另一种验证签名真实性的方法是确保公钥指纹与签署 ISO 文件的 Arch Linux 开发者 的密钥指纹一致。有关验证密钥的公钥过程的更多信息,请参阅 维基百科:公开密钥加密。
准备安装介质
可以通过 USB 闪存盘、光盘 或带有 PXE 的网络将 ISO 提供给目标机器:请按照相应的文章准备安装介质。
对于网络启动镜像,请按照 Netboot#从 USB 闪存盘启动 准备用于 UEFI 启动的 USB 闪存盘。
启动 Live 环境
- 将当前的启动设备指向包含 Arch Linux 安装介质的设备。通常是在 POST 阶段按某个键实现的,如启动画面所示。详见主板手册。
- 当安装介质的引导加载程序菜单出现时:
- 如果您使用 ISO,选择 Arch Linux install medium 并按
Enter进入安装环境。 - 如果您使用网络启动(Netboot)镜像,从 Mirror 菜单中选择一个地理位置较近的镜像源,然后选择 Boot Arch Linux 并按
Enter。提示- ISO 在 UEFI 模式下使用 systemd-boot,在 BIOS 模式下使用 syslinux。分别使用
e或Tab键来输入 内核参数。网络启动镜像使用 iPXE,可以在 Boot options 菜单中指定引导参数。有关列表请参阅 /usr/share/doc/mkinitcpio-archiso/README.bootparams。 - 手动定义内核参数的一个常见例子是字体大小。为了在 HiDPI 屏幕上获得更好的可读性(当系统未能自动识别时),使用
fbcon=font:TER16x32会很有帮助。详细解释请参阅 HiDPI#Linux 控制台 (tty)。
- ISO 在 UEFI 模式下使用 systemd-boot,在 BIOS 模式下使用 syslinux。分别使用
- 如果您使用 ISO,选择 Arch Linux install medium 并按
- 您将以 root 用户身份登录到第一个 虚拟控制台,并看到 Zsh 的 shell 提示符。
若要切换到不同的控制台——例如,一边安装一边使用 Lynx 查看此指南——请使用 Alt+方向键 快捷键。若要编辑配置文件,可以使用 mcedit(1)、nano 和 vim。安装介质中包含的软件包列表请参阅 pkglist.x86_64.txt。
设置控制台键盘布局和字体
默认的控制台键位映射为 US(美标)。可以使用以下命令列出所有可用布局:
# 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。虽然支持此模式,但它会将引导加载程序限制在支持混合模式启动的范围内。
如果系统未以您期望的模式(UEFI 与 BIOS)启动,请参阅主板手册。
连接到互联网
要在 Live 环境中设置网络连接,请执行以下步骤:
- 确保您的网络接口已列出并启用,例如使用 ip-link(8):
# ip link
- 对于无线网络和 WWAN,请确保网卡未被 rfkill 锁定。
- 连接到网络:
- 配置您的网络连接:
- DHCP:对于以太网、WLAN 和 WWAN 网络接口,动态 IP 地址和 DNS 服务器分配(由 systemd-networkd 和 systemd-resolved 提供)应该是开箱即用的。
- 静态 IP 地址:按照 网络配置#静态 IP 地址 进行操作。
- 可以使用 ping 验证连接:
# ping ping.archlinux.org
更新系统时间
Live 系统需要准确的时间,以防止软件包签名验证失败和 TLS 证书错误。在 Live 环境中,systemd-timesyncd 服务默认启用,一旦建立互联网连接,时间将自动同步。
使用 timedatectl(1) 确保系统时钟已同步:
# timedatectl
磁盘分区
当被 Live 系统识别时,磁盘会被分配给一个块设备,如 /dev/sda、/dev/nvme0n1 或 /dev/mmcblk0。要识别这些设备,请使用 lsblk 或 fdisk。
# fdisk -l
可以忽略以 rom、loop 或 airootfs 结尾的结果。以 rpmb、boot0 和 boot1 结尾的 mmcblk* 设备也可以忽略。
对于所选设备,以下分区是必需的:
# fdisk /dev/the_disk_to_be_partitioned
分区方案示例
| 已安装系统上的挂载点 | 分区 | 分区类型 | 建议大小 |
|---|---|---|---|
/boot1 |
/dev/efi_system_partition
|
EFI 系统分区 | 1 GiB |
[SWAP]
|
/dev/swap_partition
|
Linux swap | 至少 4 GiB |
/
|
/dev/root_partition
|
Linux x86-64 root (/) | 设备剩余部分。至少 23–32 GiB。 |
- 也可以使用其他挂载点(如
/efi),前提是所用的引导加载程序能够从根卷加载内核和 initramfs 镜像。请参阅 Arch 启动过程#引导加载程序 中的警告。
| 已安装系统上的挂载点 | 分区 | 分区类型 | 建议大小 |
|---|---|---|---|
[SWAP]
|
/dev/swap_partition
|
Linux swap | 至少 4 GiB |
/
|
/dev/root_partition
|
Linux | 设备剩余部分。至少 23–32 GiB。 |
另请参阅 分区#示例方案。
格式化分区
分区创建完成后,必须使用适当的文件系统对每个新创建的分区进行格式化。详见 文件系统#创建文件系统。
例如,要在 /dev/root_partition 上创建 Ext4 文件系统,请运行:
# mkfs.ext4 /dev/root_partition
如果您为 交换(swap) 创建了分区,请使用 mkswap(8) 将其初始化:
# mkswap /dev/swap_partition
/dev/*_partition 替换为相应的块设备路径。如果您创建了 EFI 系统分区,请使用 mkfs.fat(8) 将其格式化为 FAT32。
# mkfs.fat -F 32 /dev/efi_system_partition
挂载文件系统
挂载根卷到 /mnt。例如,如果根卷是 /dev/root_partition:
# mount /dev/root_partition /mnt
在 /mnt 下创建任何剩余的挂载点(例如 /mnt/boot 用于 /boot),并按相应的层次顺序挂载卷。
对于 UEFI 系统,挂载 EFI 系统分区。例如:
# mount --mkdir /dev/efi_system_partition /mnt/boot
如果您创建了 交换(swap) 卷,请使用 swapon(8) 启用它:
# swapon /dev/swap_partition
genfstab(8) 稍后将检测挂载的文件系统和交换空间。
安装
选择镜像源
要安装的软件包必须从镜像服务器下载,这些服务器定义在 /etc/pacman.d/mirrorlist 中。镜像在列表中的位置越靠前,下载软件包时的优先级就越高。
在 Live 系统中,所有 HTTPS 镜像都已启用(即未被注释)。最上方的全球镜像对大多数人来说应该足够快,但您可能仍想检查该文件以确认是否满意。如果不满意,请相应地编辑该文件,并将地理位置最近的镜像移动到列表顶部,但也应考虑其他标准。或者,您可以使用 reflector 根据各种标准创建镜像列表文件。
此文件稍后将被 pacstrap 复制到新系统中,因此值得仔细设置。
安装必需的软件包
除了 /etc/pacman.d/mirrorlist,没有任何配置会从 Live 环境转移到安装后的系统中。唯一必须安装的软件包是 base,它不包含 Live 安装环境中的所有工具,因此通常需要安装更多软件包。
特别要检查以下软件并根据需要安装:
- CPU 微码(microcode)更新——amd-ucode 或 intel-ucode——用于硬件缺陷修复和安全补丁,
- 系统将要使用的文件系统的用户空间工具——例如用于文件系统创建和 fsck,
- 用于访问和管理 RAID 或 LVM 的工具(如果在系统中使用了它们),
- 未包含在 linux-firmware 中的特定设备固件(例如用于板载音频的 sof-firmware、用于 Marvell 无线的 linux-firmware-marvell 以及用于 Broadcom 无线的多个固件包之一),
- 联网必需的软件(例如网络管理器或独立的 DHCP 客户端、Wi-Fi 的认证软件、移动宽带连接的 ModemManager),
- 控制台文本编辑器(如 nano),以便在控制台中编辑配置文件,
- 用于访问 man 和 info 页面文档的软件包:man-db、man-pages 和 texinfo。
作为对比,Live 系统中可用的软件包可以在 pkglist.x86_64.txt 中找到。
要安装更多软件包或软件包组,请将名称附加到下面的 pacstrap(8) 命令后(以空格分隔),或者在 chroot 进入新系统后使用 pacman 安装 它们。
例如,包含 Linux 内核和常见硬件固件的基础安装:
# pacstrap -K /mnt base linux linux-firmware
配置系统
Fstab
为了在启动时挂载所需的文件系统(例如用于启动目录 /boot 的文件系统),生成一个 fstab 文件。使用 -U 或 -L 分别按 UUID 或标签进行定义:
# genfstab -U /mnt >> /mnt/etc/fstab
检查生成的 /mnt/etc/fstab 文件,如有错误请进行编辑。
Chroot
为了直接与新系统的环境、工具和配置进行交互(如同已启动进入该系统一样)以执行后续步骤,请 change root (chroot) 进入新系统:
# arch-chroot /mnt
时间
为了方便人类阅读(例如显示正确的本地时间或处理夏令时),请设置时区:
# ln -sf /usr/share/zoneinfo/Area/Location /etc/localtime
运行 hwclock(8) 以生成 /etc/adjtime:
# hwclock --systohc
此命令假设硬件时钟已设置为 UTC。详见 系统时间#时间标准。
为了防止时钟漂移并确保时间准确,请使用网络时间协议 (NTP) 客户端(如 systemd-timesyncd)设置时间同步。
本地化
要使用正确的地区和语言特定格式(如日期、货币、小数点分隔符),请编辑 /etc/locale.gen 并取消注释您将使用的 UTF-8 语言环境 (locales)。运行以下命令生成语言环境:
# locale-gen
创建 locale.conf(5) 文件,并相应地设置 LANG 变量:
/etc/locale.conf
LANG=en_US.UTF-8
如果您之前设置了控制台键盘布局,请在 vconsole.conf(5) 中使更改永久生效:
/etc/vconsole.conf
KEYMAP=de-latin1
网络配置
为了给您的系统分配一个一致的、可识别的名称(在网络环境中特别有用),请创建 hostname(主机名)文件:
/etc/hostname
yourhostname
a 到 z、数字 0 到 9 和 -,且不能以 - 开头。为新安装的环境完成网络配置。这可能包括安装合适的网络管理软件,必要时进行配置,并启用其 systemd 单元以便在启动时运行。
Initramfs
通常不需要手动创建新的 initramfs,因为在使用 pacstrap 安装 内核 软件包时已经运行了 mkinitcpio。
对于 LVM、系统加密 或 RAID,请修改 mkinitcpio.conf(5) 并重新创建 initramfs 镜像。如果您更改了默认的控制台键盘映射,则只需重新创建 initramfs:
# mkinitcpio -P
Root 密码
# passwd
引导加载程序
选择一个适用于您的分区方案的引导加载程序(Boot Loader)并安装它。请参阅 Arch 启动过程#引导加载程序 中的说明和对比表进行选择,然后按照其专门页面上的安装说明进行操作。
重启
输入 exit 或按 Ctrl+d 退出 chroot 环境。
(可选)使用 umount -R /mnt 手动卸载所有分区:这可以发现任何“忙碌”的分区,并使用 fuser(1) 查找原因。
最后,输入 reboot 重启机器:任何仍挂载的分区都将由 systemd 自动卸载。记得移除安装介质,然后使用 root 账户登录新系统。
安装后的后续步骤
请参阅 一般建议 获取系统管理方向和安装后教程(如创建非特权用户帐户、设置图形用户界面、声音或触摸板)。
有关可能感兴趣的应用程序列表,请参阅 应用程序列表。