Arch Linux 极简桌面搭建:从 UEFI 分区到 Niri Wayland 合成器完整指南
2026/9/4 22:42:05 网站建设 项目流程

1. 先搞清楚我们到底要装什么,以及为什么选这套组合

如果你在找“最干净”的 Linux 桌面体验,或者想从零开始完全掌控自己的系统,那 Arch Linux 加上 Niri 和 DMS 这套组合,很可能就是你折腾的终点。这不是给只想点“下一步”装完就用的新手准备的,而是给那些愿意花时间理解每个组件、享受“系统完全按自己想法运行”这个过程的人。

Arch Linux 本身只是一个极简的基础系统,它只给你一个命令行界面。Niri 是一个新兴的、追求极致性能和简洁的 Wayland 合成器,你可以把它理解为一个非常轻量、现代的“窗口管理器+桌面环境核心”。而 DMS 则是一个显示管理器,负责系统启动后那个图形化的登录界面。这套组合的核心价值在于:从内核到登录界面,再到桌面环境的每一个像素,你都能清楚地知道它是什么、为什么在那里、以及如何修改它。

很多人卡在安装 Arch 这一步,不是因为命令多难,而是因为对整体流程没有概念,不知道每一步在干什么,以及为什么必须按这个顺序来。这篇文章会带你走一遍我从一个 Arch 小白(5个月经验)视角梳理的完整流程,重点不是罗列命令,而是解释每个环节的意图和避坑点。我们最终的目标是得到一个稳定、可复现、且完全由你定义的桌面系统。

2. 安装前的核心准备:理解流程与制作启动盘

在动手敲任何命令之前,先花十分钟理解整个安装的“地图”。Arch 的安装流程可以抽象为几个大阶段:准备启动环境 -> 分区与挂载 -> 安装基础系统 -> 配置系统 -> 安装引导程序 -> 安装图形界面。心里有这张图,遇到报错才知道自己卡在哪一环。

硬件与镜像准备:首先,确保你的电脑支持 UEFI 启动(2012年后的电脑基本都支持)。准备一个至少 8GB 的 U 盘。去 Arch Linux 官网下载最新的 ISO 镜像。不要去任何第三方镜像站,官网的校验和才是最可靠的。下载后,务必用sha256sum命令验证一下镜像文件的完整性,这一步能避免 99% 的因镜像损坏导致的安装失败。

制作启动盘,在 Windows 下可以用 Rufus,在 macOS 或 Linux 下用dd命令。这里以 Linux/macOS 终端为例:

# 首先,用 `lsblk` 命令确认你的 U 盘设备名,比如是 /dev/sdb # 注意:千万不能选错设备,否则会清空你的硬盘数据! sudo dd bs=4M if=/path/to/archlinux-xxxx.xx.xx-x86_64.iso of=/dev/sdX status=progress oflag=sync

dd命令没有进度条,status=progressoflag=sync参数能让你看到进度并确保数据完全写入。制作完成后,重启电脑,进入 BIOS/UEFI 设置,将 U 盘设为第一启动项。

启动到 Live 环境:从 U 盘启动后,你会进入一个完整的 Arch Linux 临时系统(运行在内存里)。首先检查网络连接。如果是有线网络,通常已经自动连接。如果是 WiFi,使用iwctl工具连接:

iwctl # 进入交互式命令行 [iwd]# device list # 列出无线设备,如 wlan0 [iwd]# station wlan0 scan [iwd]# station wlan0 get-networks [iwd]# station wlan0 connect “你的WiFi名称” # 输入密码后连接,按 Ctrl+D 退出

连接成功后,用ping archlinux.org测试网络。接下来,更新系统时钟:timedatectl set-ntp true。这些准备工作看似琐碎,但稳定的网络和正确的时间是后续下载包、配置系统的基础。

3. 分区、格式化与挂载:为系统搭建“地基”

这是最容易让人困惑的一步。我们不是在“我的电脑”里新建文件夹,而是在给硬盘划分区域(分区),并决定每个区域用什么格式来存数据(格式化),最后告诉安装程序这些区域对应到系统里的哪个目录(挂载)。

分区方案(UEFI + GPT):对于现代电脑,推荐使用 GPT 分区表。一个最简方案需要两个分区:

  1. EFI 系统分区:大约 512MB 到 1GB,格式化为 FAT32。它用来存放引导程序。
  2. 根分区:剩余的所有空间,格式化为 Btrfs 或 Ext4。它用来安装系统和你的所有文件。

如果你内存小于 16GB,强烈建议再分一个交换分区(Swap),大小约为内存的 1-2 倍。如果内存足够大(比如 32GB+),可以用交换文件代替,更灵活。

实操步骤:

  1. 查看磁盘lsblk确认你的目标硬盘,比如/dev/nvme0n1
  2. 分区:使用cfdiskfdisk工具。cfdisk有图形界面更友好。
    cfdisk /dev/nvme0n1
    cfdisk里,选择gpt标签。然后新建分区:先建 EFI 分区(类型选EFI System),再建根分区(类型保持Linux filesystem)。如果有交换分区,也新建一个(类型选Linux swap)。最后务必选择 “Write” 并输入 yes 来写入磁盘
  3. 格式化
    # 格式化 EFI 分区为 FAT32 mkfs.fat -F 32 /dev/nvme0n1p1 # 格式化根分区为 Ext4 (更稳定) 或 Btrfs (支持快照等高级功能) mkfs.ext4 /dev/nvme0n1p2 # 如果有交换分区,初始化它 mkswap /dev/nvme0n1p3 swapon /dev/nvme0n1p3
  4. 挂载:把分区“映射”到 Live 环境下的目录。
    # 先挂载根分区 mount /dev/nvme0n1p2 /mnt # 为 EFI 分区创建挂载点目录并挂载 mkdir -p /mnt/boot/efi mount /dev/nvme0n1p1 /mnt/boot/efi
    现在,你对/mnt的操作,就相当于在未来系统的根目录/下操作。

注意:分区是破坏性操作,请再次确认设备名。如果你是在虚拟机里练习,可以放心操作。如果是实体机且有重要数据,请务必提前备份。

4. 安装基础系统与核心配置

地基打好,开始砌墙。我们将最基本的 Arch 系统安装到刚刚挂载好的根分区里。

安装基础包:使用pacstrap命令,它是 Arch 的安装脚本,会从镜像源下载包并安装到/mnt

pacstrap -K /mnt base base-devel linux linux-firmware
  • base:最核心的系统组件。
  • base-devel:包含编译软件所需的工具(如gcc,make),后续安装 AUR 包必备。
  • linux:内核包。如果你需要特定内核(如linux-lts长期支持版,或linux-zen性能优化版),可以替换或额外添加。
  • linux-firmware:各种硬件所需的固件。

这个命令会运行一段时间,取决于你的网速。如果遇到下载慢或报错,可能是镜像源问题,可以编辑/etc/pacman.d/mirrorlist文件,将地理位置离你近的源取消注释(移到前面)。

生成 fstab 文件:这个文件定义了系统启动时自动挂载哪些分区。

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

cat /mnt/etc/fstab检查一下,确保你的根分区和 EFI 分区都在里面,且挂载点正确。

进入新系统环境:现在,我们要“跳进”新安装的系统里进行配置。

arch-chroot /mnt

命令提示符会变成[root@archiso /]#,表示你现在操作的是新系统的根环境。

进行核心配置:

  1. 时区与本地时间
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc
  2. 本地化:编辑/etc/locale.gen,找到en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8,去掉行首的#注释。然后生成 locale:
    locale-gen
    创建/etc/locale.conf文件,写入LANG=en_US.UTF-8。这里建议先用英文,避免后续某些终端显示乱码。
  3. 网络配置:为你的主机起个名,编辑/etc/hostname,写入你喜欢的主机名,如myarch。 编辑/etc/hosts,添加以下内容:
    127.0.0.1 localhost ::1 localhost 127.0.1.1 myarch.localdomain myarch
  4. Root 密码:执行passwd,为 root 用户设置一个强密码。
  5. 安装微码:根据你的 CPU 品牌安装对应的微码更新,以提高稳定性和安全性。
    • Intel CPU:pacman -S intel-ucode
    • AMD CPU:pacman -S amd-ucode
  6. 安装引导程序:这里使用 systemd-boot,它简单且与 UEFI 配合良好。
    bootctl install
    这会将 systemd-boot 安装到 EFI 分区。 接下来创建引导条目。在/boot/loader/entries/目录下创建一个文件,例如arch.conf,内容如下:
    title Arch Linux linux /vmlinuz-linux initrd /intel-ucode.img # 如果是 AMD,改为 /amd-ucode.img initrd /initramfs-linux.img options root=PARTUUID=你的根分区PARTUUID rw
    如何获取PARTUUID?在 chroot 环境外执行blkid -s PARTUUID -o value /dev/nvme0n1p2,将输出的字符串替换上面的你的根分区PARTUUID。 最后,编辑/boot/loader/loader.conf,设置默认等待时间和条目:
    default arch.conf timeout 3 console-mode keep

5. 安装图形界面:Niri 与 DMS 的部署与调校

基础系统配置完毕,重启进入新系统后,你将面对一个纯命令行界面。现在开始构建我们的图形桌面。

安装显卡驱动与基础图形环境:首先安装显卡驱动和必要的 Wayland 组件。

  • Intel 集成显卡:pacman -S mesa vulkan-intel
  • AMD 显卡:pacman -S mesa vulkan-radeon
  • NVIDIA 显卡(情况复杂,建议先查阅 Arch Wiki):pacman -S nvidia nvidia-utils然后安装 Wayland 和基础工具:
pacman -S wayland wayland-protocols xorg-xwayland

xorg-xwayland是为了兼容那些尚未支持 Wayland 的 X11 应用。

安装并配置 Niri:Niri 是一个平铺式 Wayland 合成器,非常轻量。它目前不在官方仓库,需要通过 AUR(Arch 用户仓库)安装。这就需要用到 AUR 助手,我们选择yay

  1. 安装 yay:首先安装依赖gitbase-devel(之前已装)。
    pacman -S git cd /opt sudo git clone https://aur.archlinux.org/yay.git sudo chown -R yourusername:yourusername ./yay cd yay makepkg -si
    注意将yourusername替换为你新建的普通用户名(建议不要一直用 root)。makepkg -si会编译并安装。
  2. 用 yay 安装 Niri
    yay -S niri
    首次使用 yay,它会让你选择镜像源,选最快的即可。安装过程中,你会看到 AUR 包的 PKGBUILD 文件,可以按回车确认继续。

安装并配置 DMS (显示管理器):DMS 是一个极简的显示管理器。我们同样通过 AUR 安装。

yay -S dms

安装后,需要启用它的服务,这样开机才能自动进入图形登录界面。

sudo systemctl enable dms.service

创建普通用户并配置自动登录(可选):一直用 root 不安全,需要创建日常使用的普通用户,并加入必要的组(如wheel用于 sudo,video用于图形加速)。

useradd -m -G wheel,video,audio -s /bin/bash yourusername passwd yourusername

编辑/etc/sudoers文件,使用visudo命令,找到# %wheel ALL=(ALL:ALL) ALL这一行,去掉开头的#注释,保存退出。 如果你希望这个用户能自动登录到 Niri,需要配置 DMS。编辑/etc/dms.conf,设置autologin_user为你的用户名,并确保autologin_session指向 Niri 的桌面会话文件(通常安装 Niri 后会生成,位于/usr/share/wayland-sessions/)。

配置 Niri:Niri 的配置文件默认在~/.config/niri/config.kdl。你可以从这里开始定义你的键位绑定、窗口规则、外观(如背景、边框)等。Niri 的文档是学习配置的最佳起点。一个最简单的配置可能只包含键盘布局和启动一两个程序。

6. 安装后的必备调校与问题排查

系统安装并进入图形界面只是开始,要让其好用,还需要一些调校。

网络管理:在图形界面下,你可能需要网络管理器。安装NetworkManager并启用它的服务:

sudo pacman -S networkmanager sudo systemctl enable NetworkManager.service

重启后,可以使用nmtui(文本界面)或安装图形前端如nm-connection-editor来管理 WiFi。

中文输入法:这是中文用户必过的坎。我们安装fcitx5框架和rime引擎。

sudo pacman -S fcitx5 fcitx5-configtool fcitx5-gtk fcitx5-qt fcitx5-rime

然后配置环境变量。编辑~/.pam_environment文件(如果没有就创建),加入:

GTK_IM_MODULE DEFAULT=fcitx QT_IM_MODULE DEFAULT=fcitx XMODIFIERS DEFAULT=\@im=fcitx

注销重新登录后,在系统托盘找到 fcitx5,添加输入法“Rime”。

音频:安装音频服务器和工具:

sudo pacman -S pipewire pipewire-pulse wireplumber sudo systemctl enable --user pipewire.service pipewire-pulse.service wireplumber.service

重启音频相关服务或直接重启系统。

常见问题排查:

  1. 无法进入图形界面,黑屏或闪退
    • 首先,在命令行尝试手动启动:startniri。观察终端输出的错误信息。
    • 最常见原因是显卡驱动问题。确保安装了正确的驱动。对于 NVIDIA,可能需要添加内核参数nvidia-drm.modeset=1到引导配置。
    • 检查~/.local/share/niri/下的日志文件。
  2. 网络连接不上
    • 检查NetworkManager服务是否运行:systemctl status NetworkManager
    • 使用ip link查看网卡是否启用,用nmtui重新配置连接。
  3. 软件安装慢或失败
    • 更换 pacman 镜像源:编辑/etc/pacman.d/mirrorlist,使用reflector工具自动排序。
    • 清理包缓存:sudo pacman -Sc
    • AUR 安装失败时,仔细阅读错误输出,通常是依赖缺失或网络问题。
  4. 声音没有输出
    • 确认pipewirewireplumber用户服务已启用并运行。
    • 安装pavucontrol图形音量控制面板,检查输出设备选择是否正确。

最后的建议:Arch 的魅力在于“知其所以然”。第一次安装成功只是起点。养成查阅 Arch Wiki 的习惯,它是你最好的老师。每次遇到问题,把它当作一次学习系统工作原理的机会。这套 Niri + DMS 的组合非常轻量,为你后续打造任何样子的桌面都留足了空间。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询