安装指南
本文档是关于使用从官方安装映像制作的 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 安装介质的设备。 通常,这是通过在 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)。
- ISO 使用 systemd-boot 用于 UEFI 启动,syslinux 用于 BIOS 启动。 分别使用
- 如果您使用 ISO,请选择 Arch Linux install medium 并按
- 您将以 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。 虽然这受支持,但它会将引导加载程序选择限制为支持混合模式启动的引导加载程序。
如果系统未以您期望的模式(UEFI 与 BIOS)启动,请参阅主板手册。
连接到互联网
要在 Live 环境中设置网络连接,请执行以下步骤:
- 确保您的 网络接口 已列出并已启用,例如使用 ip-link(8)
# ip link
- 对于无线和 WWAN,请确保网卡未被 rfkill 阻止。
- 连接到网络
- 配置您的网络连接
- DHCP:动态 IP 地址和 DNS 服务器分配(由 systemd-networkd 和 systemd-resolved 提供)应该适用于以太网、WLAN 和 WWAN 网络接口。
- 静态 IP 地址:请按照 网络配置#静态 IP 地址 进行操作。
- 可以使用 ping 验证连接
# ping archlinux.org
更新系统时钟
在 Live 环境中,systemd-timesyncd 默认情况下已启用,并且一旦建立互联网连接,时间将自动同步。
使用 timedatectl(1) 以确保系统时钟已同步
# timedatectl
磁盘分区
当被 Live 系统识别时,磁盘将被分配给 块设备,例如 /dev/sda
、/dev/nvme0n1
或 /dev/mmcblk0
。 要识别这些设备,请使用 lsblk 或 fdisk。
# fdisk -l
以 rom
、loop
或 airootfs
结尾的结果可以忽略。 以 rpbm
、boot0
和 boot1
结尾的 mmcblk*
设备可以忽略。
以下 分区 是所选设备必需的:
# fdisk /dev/the_disk_to_be_partitioned
示例布局
已安装系统上的挂载点 | 分区 | 分区类型 | 建议大小 |
---|---|---|---|
/boot 1 |
/dev/efi_system_partition
|
EFI 系统分区 | 1 GiB |
[SWAP]
|
/dev/swap_partition
|
Linux 交换分区 | 至少 4 GiB |
/
|
/
|
/dev/root_partition | Linux x86-64 根目录 (/) |
- 设备剩余空间。 至少 23–32 GiB。
已安装系统上的挂载点 | 分区 | 分区类型 | 建议大小 |
---|---|---|---|
[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
注意: 对于堆叠块设备,请将 /dev/*_partition
替换为相应的块设备路径。
# 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
genfstab(8) 稍后将检测已挂载的文件系统和交换空间。
安装
选择镜像
要安装的软件包必须从 镜像服务器 下载,这些服务器在 /etc/pacman.d/mirrorlist
中定义。 在 Live 系统上,连接到互联网后,reflector 通过选择 20 个最近同步的 HTTPS 镜像并按下载速率对其进行排序来更新镜像列表。
镜像在列表中位置越高,下载软件包时给予它的优先级就越高。 您可能需要检查文件以查看它是否令人满意。 如果不满意,请 编辑 该文件,并将地理位置最近的镜像移动到列表顶部,尽管应考虑其他标准。
此文件稍后将由 pacstrap 复制到新系统,因此值得正确设置。
注意: 没有软件或配置(/etc/pacman.d/mirrorlist
除外)从 Live 环境转移到已安装的系统。
# pacstrap -K /mnt base linux linux-firmware
在虚拟机或容器中安装时,您可以省略固件软件包的安装。
- 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 帐户登录到新系统。
安装后
有关系统管理方向和安装后教程(如创建非特权用户帐户、设置图形用户界面、声音或触摸板),请参阅 通用建议。