简明 Arch Linux 安装配置教程

· · 科技·工程

上标说明:本文在提及安装软件时,会在软件名称后添加上标,以指示该软件包所在的仓库或需要的操作。具体含义如下:

1. Arch 适合我吗?

Arch Linux 是一个面向有经验的 Linux 用户的滚动发行版。它的特点包括:

Arch 可能适合你,如果:

Arch 可能不适合你,如果:

如果你决定尝试,请准备好投入一些时间阅读 Wiki 并动手实践。

2. 制作安装介质

  1. 下载 ISO 访问 Arch Linux 下载页,选择离你最近的镜像,下载最新的 ISO 文件和相应的签名文件(用于验证,可选)。

  2. 验证 ISO(可选) 导入维护者 PGP 密钥并验证 ISO 的完整性。具体步骤见 Wiki。

  3. 写入 U 盘

    • Linux/macOS:使用 dd 命令
      sudo dd if=/path/to/archlinux-xxxx.xx.xx-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=sync

      其中 /dev/sdX 是你的 U 盘设备(注意不是分区,例如 /dev/sdb)。

    • Windows:推荐使用 Rufus(选择 DD 模式写入)或 balenaEtcher。

3. 引导到 USB

将 U 盘插入电脑,重启并从 U 盘启动。不同设备的启动方法:

PC(传统 BIOS 或 UEFI)

Mac(OpenCore)

如果你使用 OpenCore 引导多系统:

Mac(rEFInd)

rEFInd 会自动检测可启动介质:

虚拟机(VM)

4. 安装前的准备(禁用服务与连接网络)

进入安装环境后,第一件事是禁用可能干扰后续配置的服务,并确保网络连接。

4.1 禁用 reflector 服务

ArchISO 中的 reflector 服务会自动更新镜像列表,但可能删除有用的源。建议先禁用它:

systemctl stop reflector.service
# 可选:查看服务状态确认已禁用
# systemctl status reflector.service

4.2 确认 UEFI 模式

ls /sys/firmware/efi/efivars

如果输出了一堆文件名,说明已以 UEFI 模式启动。否则,请检查 BIOS 设置。

4.3 连接网络

4.4 测试网络连通性

ping www.bilibili.com

Ctrl+C 停止。

4.5 更新系统时钟

timedatectl set-ntp true
timedatectl status   # 检查状态

4.6 更换国内镜像源

编辑 /etc/pacman.d/mirrorlist,将中国境内的镜像源(如中科大、清华、华为云)放在文件最前面。

vim /etc/pacman.d/mirrorlist

推荐的镜像源:

Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch

5. 分区

假设你的硬盘是 /dev/sda(NVMe 设备可能是 /dev/nvme0n1),我们采用 UEFI + GPT 分区方案。如果你双系统,注意保留原有 EFI 分区。

使用对新手友好的 cfdisk 进行分区:

cfdisk /dev/sda   # 或 /dev/nvme0n1

如果提示选择分区表类型,选择 gpt

你会看到一个交互界面。使用方向键移动,Enter 确认。按以下顺序创建分区:

  1. 创建 EFI 系统分区(如果已有则跳过):
    • 选择 Free space[ New ],输入大小(建议 512 MiB ~ 1 GiB),例如 +1G
    • 选择 [ Type ],找到 EFI System 并选中。
  2. 创建交换分区
    • 选择 Free space[ New ],输入大小(通常与内存相当或根据需要,例如 +4G)。
    • 选择 [ Type ],找到 Linux swap 并选中。
  3. 创建 Btrfs 根分区
    • 选择剩余空闲空间 → [ New ],使用默认大小(直接回车,占用所有剩余空间)。
    • 类型保持 Linux filesystem(默认)。

最终分区布局类似:

/dev/sda1   1G   EFI System
/dev/sda2   4G   Linux swap
/dev/sda3   xxxG Linux filesystem

选择 [ Write ] 写入分区表,输入 yes 确认,然后 [ Quit ] 退出。

6. 格式化与挂载(Btrfs + 交换分区)

6.1 格式化分区

# 格式化 EFI 分区
mkfs.fat -F32 /dev/sda1

# 格式化交换分区并启用
mkswap /dev/sda2
swapon /dev/sda2

# 格式化 Btrfs 分区
mkfs.btrfs -f /dev/sda3

6.2 创建 Btrfs 子卷

挂载 Btrfs 分区,创建子卷(名称保持 @@home 以便与快照工具兼容):

mount /dev/sda3 /mnt
cd /mnt
btrfs subvolume create @
btrfs subvolume create @home
# 可选:创建用于快照的子卷
# btrfs subvolume create @snapshots
cd /
umount /mnt

6.3 挂载子卷

# 挂载根子卷
mount -o compress=zstd,subvol=@ /dev/sda3 /mnt

# 创建必要目录
mkdir -p /mnt/{boot,home}

# 挂载 EFI 分区
mount /dev/sda1 /mnt/boot

# 挂载 home 子卷
mount -o compress=zstd,subvol=@home /dev/sda3 /mnt/home

compress=zstd 启用透明压缩,可节省空间并提升某些场景下的读写速度。

7. 安装基础系统

使用 pacstrap 安装基础包、内核、固件和开发工具:

pacstrap /mnt base base-devel linux linux-firmware

8. 配置基础系统

8.1 生成 fstab

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

8.2 Chroot 到新系统

arch-chroot /mnt

8.3 安装基础工具

你可以根据自己的喜好选择文本编辑器。本教程以 vim 为例。

pacman -S vim nano sudo networkmanager man-db man-pages bash-completion

8.4 设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

8.5 本地化

编辑 /etc/locale.gen,取消 en_US.UTF-8 UTF-8 和其他所需本地化选项(如 zh_CN.UTF-8 UTF-8)的注释。

vim /etc/locale.gen
locale-gen

创建 /etc/locale.conf 文件:

echo "LANG=en_US.UTF-8" > /etc/locale.conf

8.6 配置主机名

创建 /etc/hostname 文件,写入你的主机名(例如 myarch):

echo "myarch" > /etc/hostname

同时编辑 /etc/hosts

vim /etc/hosts

添加以下内容:

127.0.0.1   localhost
::1         localhost
127.0.1.1   myarch.localdomain myarch

8.7 设置 root 密码

passwd

8.8 创建普通用户并配置 sudo

创建用户(例如 yourusername)并加入 wheel 组:

useradd -m -G wheel -s /bin/bash yourusername
passwd yourusername

配置 sudo。使用 visudo 命令安全地编辑 sudoers 文件:

EDITOR=vim visudo

找到并取消注释以下行,以允许 wheel 组用户执行任何命令:

%wheel ALL=(ALL:ALL) ALL

安全加强:为防止用户通过 sudo 滥用 passwd 命令修改 root 或其他用户的密码,可以在该行后面添加排除规则:

%wheel ALL=(ALL:ALL) ALL, !/usr/bin/passwd, !/usr/bin/passwd *

这样 wheel 组成员将无法通过 sudo 执行 passwd 命令(但仍可使用普通 passwd 修改自己的密码)。

9. 安装引导程序

9.1 安装 GRUB

pacman -S grub efibootmgr   # $^{\texttt{EXTRA}}$, $^{\texttt{CORE}}$
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

生成 GRUB 配置文件:

grub-mkconfig -o /boot/grub/grub.cfg

9.2 安装微码(可选但推荐)

根据你的 CPU 厂商安装:

10. 进入新系统

退出 chroot 环境,卸载所有分区,然后重启:

exit                    # 退出 chroot
umount -R /mnt          # 递归卸载
reboot                  # $^{\texttt{REBOOT}}$

重启时记得拔掉 U 盘,进入新系统后使用你创建的普通用户登录。

11. 安装桌面环境(KDE Plasma on Wayland)

登录后,首先启动网络服务并连接网络:

sudo systemctl enable --now NetworkManager

连接 Wi-Fi 可使用 nmtui 或系统托盘的网络图标。

11.1 安装 Plasma 和 Wayland 会话

sudo pacman -S plasma plasma-wayland-session   # $^{\texttt{EXTRA}}$, $^{\texttt{EXTRA}}$

11.2 安装显示管理器(SDDM)

SDDM 是 Plasma 推荐的登录管理器:

sudo pacman -S sddm   # $^{\texttt{EXTRA}}$
sudo systemctl enable sddm

11.3 安装必要的 Wayland 组件

为了更好的 Wayland 兼容性(特别是屏幕共享、截图等),安装 xdg-desktop-portal-kde

sudo pacman -S xdg-desktop-portal-kde   # $^{\texttt{EXTRA}}$

11.4 配置环境变量(针对 Wayland)

创建 /etc/environment 文件(如果不存在),添加以下内容以支持输入法等:

sudo vim /etc/environment

添加:

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx

对于 Wayland,~/.xprofile 不会被读取,因此需要将环境变量放在 /etc/environment~/.config/environment.d/*.conf 中。这里使用全局配置以确保所有程序都能继承。

11.5 重启进入桌面

reboot   # $^{\texttt{REBOOT}}$

重启后 SDDM 会启动。在登录界面的会话选择器中,选择 "Plasma (Wayland)",然后输入密码即可进入 Wayland 会话。

12. 安装常用软件和编程环境

进入桌面后,打开终端(Konsole),开始安装日常软件、编辑器和编程语言支持,并配置更多软件源。

12.1 基础功能包

# 声音固件
sudo pacman -S sof-firmware alsa-firmware alsa-ucm-conf   # $^{\texttt{EXTRA}}$

# NTFS 支持
sudo pacman -S ntfs-3g   # $^{\texttt{EXTRA}}$

# 常用网络和多媒体软件
sudo pacman -S firefox dolphin konsole gwenview ark   # $^{\texttt{EXTRA}}$

12.2 编辑器和编程语言支持

编辑器

编程语言支持

12.3 配置软件源与 AUR 助手

开启 32 位支持库(multilib)

编辑 /etc/pacman.conf,找到 [multilib] 部分,去掉其前后两行的注释。

sudo vim /etc/pacman.conf

添加 Arch Linux CN 仓库

/etc/pacman.conf 文件末尾添加以下内容(选择一个镜像):

[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
# Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

安装密钥环和 AUR 助手

更新系统并安装必要软件包:

sudo pacman -Syyu   # 刷新数据库并更新
sudo pacman -S archlinuxcn-keyring yay   # $^{\texttt{CN}}$, $^{\texttt{CN}}$

如果安装 archlinuxcn-keyring 时报密钥信任错误,执行以下命令后重试:

sudo pacman-key --lsign-key "[email protected]"

检查家目录

确保用户家目录下的常见目录(如 DownloadsDocuments 等)已创建,若没有则运行:

xdg-user-dirs-update

13. 配置中文字体与输入法(fcitx5)

本节提供两种输入方案,你可以根据自己的喜好选择:

13.1 安装中文字体(通用)

无论选择哪种输入法,都需要先安装中文字体:

sudo pacman -S noto-fonts-cjk wqy-microhei wqy-zenhei   # $^{\texttt{EXTRA}}$

13.2 安装输入法框架

两种方案都基于 fcitx5,首先安装核心框架:

sudo pacman -S fcitx5-im fcitx5-configtool   # $^{\texttt{EXTRA}}$

13.3 配置输入法环境变量

由于我们使用 Wayland,需要确保环境变量正确设置。我们在前面第 11.4 节已经将配置写入了 /etc/environment,此处可以验证一下:

cat /etc/environment

应该包含以下内容:

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx

13.4 选择并配置输入法

方案一:使用 fcitx5 自带拼音

如果你希望快速上手,可以直接使用 fcitx5 自带的拼音输入法。

  1. 安装拼音引擎

    sudo pacman -S fcitx5-chinese-addons   # $^{\texttt{EXTRA}}$
  2. 图形化配置

    • 打开“系统设置” > “区域设置” > “输入法”。
    • 如果提示“没有输入法正在运行”,点击“运行 Fcitx”。
    • 点击“添加输入法”,找到“简体中文”下的“Pinyin”并添加。
    • 注销并重新登录^{\texttt{LOGOUT}})后,即可使用 Ctrl+Space 切换输入。

方案二:使用 Rime + 雾凇拼音词库(推荐进阶用户)

Rime(中州韵)是一款强大的输入法引擎,配合雾凇拼音词库可以获得更丰富的词库和更好的输入体验。

  1. 安装 Rime 输入法引擎

    sudo pacman -S fcitx5-rime   # $^{\texttt{EXTRA}}$
  2. 安装雾凇拼音词库

    yay -S rime-ice   # $^{\texttt{AUR}}$

    雾凇拼音是目前非常活跃的 Rime 词库项目,拥有庞大的词库和良好的维护。

  3. 创建 Rime 用户配置目录

    mkdir -p ~/.local/share/fcitx5/rime
  4. 配置雾凇拼音为默认方案: 创建并编辑 ~/.local/share/fcitx5/rime/default.custom.yaml

    vim ~/.local/share/fcitx5/rime/default.custom.yaml

    输入以下内容:

    patch:
      # 仅使用「雾凇拼音」的默认配置,配置此行即可
      __include: rime_ice_suggestion:/
      # 以下根据自己所需自行定义
      __patch:
        menu/page_size: 5   # 每页候选词个数,可自定义

    保存并退出。

  5. (可选)增加萌娘百科词库: 如果你需要二次元相关词汇,可以安装萌娘百科词库并集成到雾凇拼音中。

    yay -S rime-pinyin-moegirl   # $^{\texttt{AUR}}$

    将词库配置复制到用户目录:

    cp /usr/share/rime-data/rime_ice.dict.yaml ~/.local/share/fcitx5/rime/rime_ice.dict.yaml

    编辑该文件,在 import_tables: 中添加 - moegirl

    vim ~/.local/share/fcitx5/rime/rime_ice.dict.yaml
    import_tables:
      ...
      ...
      - moegirl   # 添加此行
  6. 添加 Rime 输入法到系统

    • 打开“系统设置” > “区域设置” > “输入法”。
    • 点击“运行 Fcitx”(如果尚未运行)。
    • 点击“添加输入法”,找到“汉语”下的“中州韵 (Rime)”并添加。
    • 如果你不需要其他输入法,可以移除之前的 Pinyin。
  7. 重新部署 Rime: 配置完成后,需要重新部署 Rime 才能生效。

    • 方法一:右键点击系统托盘中的输入法图标,选择“重新部署”。
    • 方法二:在终端中执行:
      fcitx5-remote -r
  8. 切换输入法

    • 注销并重新登录^{\texttt{LOGOUT}})后,使用 Ctrl+Space 切换到 Rime 输入法。
    • 在输入法托盘菜单的“🌏 方案列表”中,应该可以看到并选择“雾凇拼音”。

提示:Rime 的配置非常灵活,你可以通过修改 ~/.local/share/fcitx5/rime/ 下的各种 .yaml 文件来自定义输入行为。更多配置请参考 Rime 官方文档。

Wayland 下的输入法提示:在某些基于 Chromium 的应用程序(如 VS Code、Electron 应用)中,可能需要添加启动参数 --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime 来启用输入法支持。

14. 显卡驱动

注意:虚拟机通常不需要安装显卡驱动。进行此部分操作前,强烈建议先创建系统快照(如使用 Timeshift),以便在出现问题时回滚。

14.1 集成显卡

Intel 核芯显卡

sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel   # $^{\texttt{EXTRA}}$, $^{\texttt{MULTILIB}}$, $^{\texttt{EXTRA}}$, $^{\texttt{MULTILIB}}$

不建议安装 xf86-video-intel,使用 Xorg 内置的 modesetting 驱动即可。对于 Wayland,mesa 和 vulkan 驱动已足够。

AMD 集成显卡

需要先确定你的显卡架构(GCN 版本),再选择驱动。

14.2 独立显卡

NVIDIA 独立显卡

安装 NVIDIA 闭源驱动后,需编辑 /etc/mkinitcpio.conf,在 HOOKS 行中删除 kms,然后重新生成镜像:

sudo vim /etc/mkinitcpio.conf   # 删除 kms
sudo mkinitcpio -P

AMD 独立显卡

参考上文“AMD 集成显卡”部分,根据架构选择 AMDGPUATI 驱动。

14.3 双显卡(集显 + 独显)

NVIDIA Optimus 技术(NVIDIA 独显 + Intel/AMD 集显)

推荐使用 optimus-manager 进行切换。

  1. 安装驱动:同时安装集显驱动(见 14.1)和对应的 NVIDIA 驱动(见 14.2,建议使用 nvidianvidia-open)。
  2. 安装 optimus-manager 及其图形前端:
    yay -S optimus-manager optimus-manager-qt   # $^{\texttt{CN}}$, $^{\texttt{CN}}$
  3. 启用服务并重启:
    sudo systemctl enable optimus-manager.service
    reboot   # $^{\texttt{REBOOT}}$
  4. 重启后,在系统托盘的 optimus-manager-qt 图标中可以选择“仅集显”、“仅独显”或“动态切换”模式。

动态切换模式使用说明: 在“动态切换”模式下,默认使用集显。若需为特定程序启用独显,有两种方法:

AMD 双显卡(AMD 独显 + AMD 集显)

使用 PRIME 技术的 DRI_PRIME 环境变量进行切换。

15. 终端配置与美化(可选)

15.1 安装 Zsh 和 Oh My Zsh

sudo pacman -S zsh   # $^{\texttt{EXTRA}}$
chsh -s /usr/bin/zsh   # 更改默认 shell,需注销重登录生效 $^{\texttt{LOGOUT}}$
# 安装 Oh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

15.2 安装 Starship 提示符(可选)

sudo pacman -S starship   # $^{\texttt{EXTRA}}$

~/.zshrc 末尾添加:

eval "$(starship init zsh)"

15.3 设置终端字体

安装 Nerd Fonts 以显示特殊图标:

sudo pacman -S ttf-nerd-fonts-symbols   # $^{\texttt{EXTRA}}$

然后在终端模拟器(如 Konsole)的设置中选择一款 Nerd 字体(如 Hack Nerd Font)。

16. 版权声明与致谢

16.1 版权声明

本作品(《Arch Linux 安装与配置教程》)采用 知识共享署名-相同方式共享 4.0 国际许可协议(CC BY-SA 4.0) 进行许可。

您可以自由地:

惟须遵守下列条件:

完整的许可协议文本请见:https://creativecommons.org/licenses/by-sa/4.0/legalcode.zh-Hans

16.2 致谢

本教程在编写过程中,参考并整合了大量来自 《archlinux 简明指南》 的内容。该指南由 icekylin 等贡献者维护,是一份优秀的中文 Arch Linux 安装指南,对本教程的完善起到了重要的参考作用。特此感谢原作团队的卓越工作!

原作采用 CC BY-SA 4.0 许可,本教程遵循相同的许可协议进行派生。

Happy Arching!