如果你想通过命令行把 Arch Linux 从头装起来,这篇文章可以当作一份完整的主线实操稿。
本文默认的安装路线是:
- 单系统
- UEFI 启动
- Btrfs 文件系统
- GRUB 引导
这样做的好处是主线足够清楚,不会一上来就在 GRUB / systemd-boot / 双系统 / 桌面环境 之间来回分叉,比较适合第一次自己手装 Arch 的场景。

适用场景 #
这篇教程更适合下面这些情况:
- 你准备在一块磁盘上安装单系统 Arch Linux
- 机器使用 UEFI 启动,而不是 Legacy BIOS
- 你希望根分区使用 Btrfs,并启用
zstd压缩 - 你能接受在安装阶段全程使用命令行
如果你是双系统、需要单独的 /home 子卷方案,或者想直接上桌面环境,这篇文章不展开,后面可以再单独补专题。
安装前说明 #
开始前先确认几件事:
- 本文默认你会清空目标磁盘上的原有数据
- 引导方案固定用
GRUB - 时区默认写
Asia/Shanghai - locale 默认启用
en_US.UTF-8和zh_CN.UTF-8 - 网络服务默认用
NetworkManager
另外,文中的磁盘名和分区名都只是示例。你一定要按自己机器上 lsblk 实际显示的设备名替换,不要机械照抄。
第一步:配置网络 #
有线网络 #
如果你是有线网络,通常插上网线后等一会儿就行。
无线网络 #
无线网络可以直接用 iwctl:
iwctl
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect "你的 Wi-Fi 名称"
exit
如果网络名称里有空格,连接时记得加双引号。
配好之后先测试一下连通性:
ping archlinux.org -c 3
如果这里还 ping 不通,就不要急着往下走,先把网络问题解决掉。
第二步:配置 SSH(可选) #
如果你觉得安装时直接在本机终端敲命令不方便,可以先临时开 SSH,改成远程操作。
先给 root 设置一个密码:
passwd
然后编辑 SSH 配置:
nano /etc/ssh/sshd_config
确认或加入这一行:
PermitRootLogin yes
再启动 SSH 服务:
systemctl start sshd
查看 IP:
ip a
然后你就可以在另一台电脑上测试:
ssh root@你的IP地址
提醒一句:这是安装阶段的临时做法。系统正式装好之后,还是建议改回更安全的登录方式。
第三步:同步日期时间 #
执行下面命令启用 NTP:
timedatectl set-ntp true
如果你想确认状态,可以再看一眼:
timedatectl status
第四步:查看磁盘并建立分区 #
先查看当前磁盘情况:
lsblk
常见磁盘命名规则如下:
| 磁盘类型 | 常见设备名 |
|---|---|
| SATA / U 盘 / SCSI | /dev/sdX |
| NVMe | /dev/nvme0n1 |
| 虚拟硬盘 | /dev/vdX |
确认目标磁盘后,进入分区工具:
cfdisk /dev/你的磁盘
对本文这条主线来说,至少需要两个分区:
- EFI 系统分区:建议 512MB
- 根分区:剩余空间全部给
/
如果你的磁盘原来已经有旧系统,而且你准备装单系统,那就先把旧分区删掉,再重新创建。
第五步:格式化分区 #
先格式化 EFI 分区:
mkfs.fat -F 32 /dev/你的EFI分区
再格式化根分区为 Btrfs:
mkfs.btrfs -f /dev/你的根分区
这里的设备名一定要和你前面 lsblk 看到的实际结果对应起来。
比如 NVMe 常见是 /dev/nvme0n1p1、/dev/nvme0n1p2,SATA 则可能是 /dev/sda1、/dev/sda2。
第六步:创建 Btrfs 子卷并挂载 #
本文只保留一个最基础的根子卷 @。
先临时挂载根分区:
mount -t btrfs -o compress=zstd /dev/你的根分区 /mnt
创建子卷:
btrfs subvolume create /mnt/@
看一眼子卷列表:
btrfs subvolume list -p /mnt
然后卸载:
umount /mnt
重新按子卷方式挂载:
mount -t btrfs -o subvol=/@,compress=zstd /dev/你的根分区 /mnt
mkdir -p /mnt/boot/efi
mount /dev/你的EFI分区 /mnt/boot/efi
最后检查挂载情况:
df -h
正常的话,应该能看到:
- 根分区挂到了
/mnt - EFI 分区挂到了
/mnt/boot/efi
第七步:修改镜像源 #
如果你在中国大陆网络环境下安装,先把镜像源顺一下通常会省很多时间。
编辑镜像列表:
nano /etc/pacman.d/mirrorlist
可以把中科大源放到前面:
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
这一步的核心目的不是“只保留一个镜像”,而是让你安装阶段优先走更顺手的源。
第八步:安装基础系统 #
开始安装系统本体:
pacstrap /mnt base base-devel linux linux-firmware linux-headers nano intel-ucode
如果你是 AMD CPU,把 intel-ucode 替换成 amd-ucode。
这里这些包里比较关键的是:
base:基础系统base-devel:常见开发工具linux/linux-firmware/linux-headers:内核和固件nano:编辑器intel-ucode或amd-ucode:CPU 微码
第九步:生成 fstab 并进入新系统 #
生成 fstab:
genfstab -U /mnt >> /mnt/etc/fstab
建议立刻看一眼:
cat /mnt/etc/fstab
确认没有写错挂载项之后,再进入新系统:
arch-chroot /mnt
第十步:配置软件仓库 #
先编辑 pacman.conf:
nano /etc/pacman.conf
在文件末尾加入 archlinuxcn:
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
再导入 keyring:
pacman -Syu archlinuxcn-keyring
第十一步:设置时区和本地化 #
时区先按本文默认值写成上海:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
然后编辑 locale:
nano /etc/locale.gen
把下面两行前面的注释去掉:
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
然后生成 locale:
locale-gen
再写入默认语言环境:
cat >/etc/locale.conf <<'EOF'
LANG=en_US.UTF-8
EOF
安装阶段不要只保留中文 locale,不然 tty 更容易出现乱码。
第十二步:设置 root 密码并创建普通用户 #
先给 root 设置密码:
passwd
再创建普通用户:
useradd -m -g users -G wheel,storage,power archuser
passwd archuser
接着打开 sudo 权限:
EDITOR=nano visudo
找到这段提示:
Uncomment to allow members of group wheel to execute any command
把 %wheel ALL=(ALL:ALL) ALL 前面的注释去掉。
第十三步:安装并配置 GRUB #
先安装引导需要的包:
pacman -S grub efibootmgr
安装前可以先再确认一次 /boot/efi 挂载是否正常:
lsblk
然后执行:
grub-install --efi-directory=/boot/efi --bootloader-id=Arch
grub-mkconfig -o /boot/grub/grub.cfg
本文只写 GRUB 主线。
如果你后面想单独折腾 systemd-boot 或双系统引导,更适合另外写一篇专题,不建议第一次安装时把这些分支一次性全掺进去。
第十四步:配置网络与常用基础组件 #
先安装网络管理工具:
pacman -S networkmanager dhcpcd
然后启用 NetworkManager:
systemctl enable NetworkManager
如果你后面还需要蓝牙和 PipeWire,可以再装:
pacman -S bluez bluez-utils pipewire-pulse pipewire-alsa pipewire-jack
systemctl enable bluetooth
但桌面环境、显卡驱动和常用 GUI 软件这篇先不展开,不然主线会被拉得太长。
第十五步:重启前检查 #
在退出前,建议至少检查这几项:
lsblk
cat /etc/fstab
systemctl enable NetworkManager
grub-mkconfig -o /boot/grub/grub.cfg
检查重点是:
/boot/efi是否真的挂载过fstab里 UUID 是否正确NetworkManager是否已经 enable- GRUB 配置文件是否成功生成
第十六步:退出并重启 #
退出 chroot:
exit
卸载所有挂载:
umount -R /mnt
然后重启:
reboot
如果你是从安装 U 盘启动的,记得在重启时拔掉安装介质,避免又回到 Live 环境。
常见坑 #
1. 磁盘名抄错 #
这是最容易出事的地方。/dev/sda2、/dev/vda2、/dev/nvme0n1p2 完全不是一回事,照抄别人的设备名很容易把盘搞错。
2. EFI 分区没挂载好 #
如果 /boot/efi 没挂载,grub-install 往往就会失败,或者装完根本起不来。
3. locale 只开中文 #
安装阶段只保留中文 locale,tty 更容易出现显示问题。
保留 en_US.UTF-8 会更稳。
4. 忘了启用 NetworkManager #
系统装好能启动,但进系统后没有网络,这个问题很常见。
大部分时候就是忘了:
systemctl enable NetworkManager
5. fstab 的 UUID 写错 #
如果 fstab 写错,重启后就可能直接掉进 emergency shell。
所以 genfstab 之后一定要自己再读一遍。
小结 #
如果你是第一次手装 Arch,与其一开始把所有可选项都塞进去,不如先让一条主线稳定跑通:
- 联网
- 分区
- Btrfs
- pacstrap
- chroot
- locale / 用户 / GRUB
- NetworkManager
等这条基础安装链条走顺了,再去补桌面环境、显卡驱动、美化、AUR 助手,会轻松很多。