安装指南

出自 ArchWiki
(重定向自 Beginners' guide)

本文档是关于使用从官方安装镜像制作的安装介质启动的 Live 系统来安装 Arch Linux 的指南。安装介质提供辅助功能,这些功能在 Install Arch Linux with accessibility options 页面中进行了描述。有关其他安装方式,请参阅 Category:Installation process

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

本指南力求简洁,建议您按章节顺序遵循说明。 有关更详细的说明,请参阅各自的 ArchWiki 文章或各种程序的 man pages,这两者都链接自本指南。 如需互动帮助,还可以使用 IRC channel论坛

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

预安装

获取安装镜像

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

验证签名

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

在安装了 GnuPG 的系统上,通过下载 ISO PGP 签名 (下载页面的 Checksums 下) 到 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:Public-key cryptography

准备安装介质

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

对于 netboot 镜像,请按照 Netboot#Boot from a USB flash drive 准备用于 UEFI 启动的 USB 闪存驱动器。

启动 Live 环境

注意: Arch Linux 安装镜像不支持安全启动 (Secure Boot)。 您需要 禁用安全启动 (Secure Boot) 才能启动安装介质。 如果需要,可以在完成安装后设置 安全启动 (Secure Boot)
  1. 将当前启动设备指向具有 Arch Linux 安装介质的设备。 通常,这是通过在启动画面上指示的 POST 阶段按下一个键来实现的。 有关详细信息,请参阅您的主板手册。
  2. 当安装介质的引导加载器菜单出现时,
    • 如果您使用了 ISO,请选择 Arch Linux install medium 并按 Enter 进入安装环境。
    • 如果您使用了 Netboot 镜像,请从 Mirror 菜单中选择地理位置较近的镜像,然后选择 Boot Arch Linux 并按 Enter
      提示
      • ISO 对 UEFI 启动使用 systemd-boot,对 BIOS 启动使用 syslinux。 分别使用 eTab 进入 启动参数。 Netboot 镜像使用 iPXE,启动参数可以在 Boot options 菜单中指定。 有关列表,请参阅 README.bootparams
      • 手动定义的启动参数的一个常见示例是字体大小。 为了在 HiDPI 屏幕上获得更好的可读性(当它们尚未被识别为 HiDPI 屏幕时),使用 fbcon=font:TER16x32 可能会有所帮助。 有关详细说明,请参阅 HiDPI#Linux console (tty)
  3. 您将以 root 用户身份登录到第一个 虚拟控制台,并看到 Zsh shell 提示符。

要切换到不同的控制台(例如,在安装过程中使用 Lynx 查看本指南),请使用 Alt+arrow 快捷键。 要 编辑 配置文件,可以使用 mcedit(1)nanovim。 有关安装介质中包含的软件包列表,请参阅 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。 虽然支持此模式,但它会将引导加载器选择限制为那些支持混合模式启动的引导加载器。
  • 如果返回 No such file or directory,则系统可能以 BIOS (或 CSM) 模式启动。

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

连接到互联网

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

  1. 确保您的 网络接口 已列出并启用,例如使用 ip-link(8)
    # ip link
  2. 对于无线和 WWAN,请确保网卡未被 rfkill 阻止。
  3. 连接到网络
    • 以太网 (Ethernet) — 插入网线。
    • Wi-Fi — 使用 iwctl 验证无线网络。
    • 移动宽带调制解调器 — 使用 mmcli 实用程序连接到移动网络。
  4. 配置您的网络连接
  5. 可以使用 ping 验证连接。
    # ping archlinux.org
注意: 在安装镜像中,systemd-networkdsystemd-resolvediwdModemManager 已预配置并默认启用。 对于已安装的系统,情况并非如此。

更新系统时钟

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

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

# timedatectl

磁盘分区

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

# fdisk -l

可以忽略以 romloopairootfs 结尾的结果。 可以忽略以 rpbmboot0boot1 结尾的 mmcblk* 设备。

注意: 如果磁盘未显示,请确保磁盘控制器未处于 RAID 模式
提示: 在分区之前,请检查您的 NVMe 驱动器和 Advanced Format 硬盘驱动器是否正在使用 最佳逻辑扇区大小

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

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

# fdisk /dev/the_disk_to_be_partitioned
注意
  • 花时间规划长期的分区方案,以避免将来出现有风险且复杂转换或重新分区程序。
  • 如果您想为 LVM系统加密RAID 创建任何堆叠块设备,请立即执行。
  • 如果您要从中启动的磁盘 已经有 EFI 系统分区,请不要创建另一个,而是使用现有的分区。
  • Swap 空间可以在支持它的文件系统的 交换文件 上设置。 或者,可以通过在安装系统后设置 zram 上的交换 来完全避免基于磁盘的交换。

分区布局示例

使用 GPT 的 UEFI
已安装系统上的挂载点 分区 分区类型 建议大小
/boot1 /dev/efi_system_partition EFI 系统分区 1 GiB
[SWAP] /dev/swap_partition Linux 交换分区 至少 4 GiB
/ /dev/root_partition Linux x86-64 根分区 (/) 设备剩余空间。 至少 23–32 GiB。
  1. 其他挂载点(例如 /efi)是可能的,前提是所使用的引导加载器能够从根卷加载内核和 initramfs 镜像。 请参阅 Arch boot process#Boot loader 中的警告。
使用 MBR 的 BIOS
已安装系统上的挂载点 分区 分区类型 建议大小
[SWAP] /dev/swap_partition Linux 交换分区 至少 4 GiB
/ /dev/root_partition Linux 设备剩余空间。 至少 23–32 GiB。

另请参阅 Partitioning#Example layouts

格式化分区

创建分区后,每个新创建的分区都必须使用适当的 文件系统 进行格式化。 有关详细信息,请参阅 File systems#Create a file system

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

# mkfs.ext4 /dev/root_partition

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

# mkswap /dev/swap_partition
注意: 对于堆叠块设备,请将 /dev/*_partition 替换为适当的块设备路径。

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

警告: 仅当您在分区步骤中创建了 EFI 系统分区时才格式化它。 如果磁盘上之前已经存在 EFI 系统分区,则重新格式化它可能会破坏其他已安装操作系统的引导加载程序。
# mkfs.fat -F 32 /dev/efi_system_partition

挂载文件系统

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

# mount /dev/root_partition /mnt

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

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

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

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

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

# swapon /dev/swap_partition

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

安装

选择镜像

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

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

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

安装基本软件包

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

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

# pacstrap -K /mnt base linux linux-firmware
提示
  • 您可以将 linux 替换为您选择的 内核 软件包,或者在 容器 中安装时可以完全省略它。
  • 在虚拟机或容器中安装时,您可以省略固件软件包的安装。

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

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

配置系统

Fstab

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

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

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

Chroot

Chroot 进入新系统。

# arch-chroot /mnt

时间

设置 时区

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

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

# hwclock --systohc

此命令假定硬件时钟设置为 UTC。 有关详细信息,请参阅 System time#Time standard

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

本地化

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

# locale-gen

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

/etc/locale.conf
LANG=en_US.UTF-8

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

/etc/vconsole.conf
KEYMAP=de-latin1

网络配置

创建 主机名 文件

/etc/hostname
yourhostname

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

Initramfs

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

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

# mkinitcpio -P

Root 密码

设置 root 密码

# passwd

引导加载器

选择并安装 Linux 兼容的 引导加载器

重启

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

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

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

安装后

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

有关可能感兴趣的应用程序列表,请参阅 List of applications