本文最后更新于 2026年7月7日 中午
在进行下面操作前先在硬盘上准备好一个足够大的空闲分区,这里以
/dev/sda4 为例。
1. 创建文件系统
1 2
| mkfs.btrfs -L archlinux-root /dev/sda4 -f
|
2. 挂载文件系统,创建子卷
1 2
| mount /dev/sda4 /mnt -o compress=zstd:1,subvol=/
|
顺便提一下:
使用 btrfs subvolume set-default
更改默认子卷后,还想挂载顶层子卷就需要使用 subvol=/ 或 subvolid=5
挂载选项挂载,否则会挂载成我们设置的默认子卷
1 2 3 4 5 6 7
| btrfs subvolume create /mnt/@ btrfs subvolume create /mnt/@log btrfs subvolume create /mnt/@pkg btrfs subvolume create /mnt/@home btrfs subvolume list -t /mnt btrfs subvolume set-default 256 /mnt
|
3. 重新按照目录结构挂载
1 2 3 4 5 6
| umount -R /mnt mount /dev/sda4 /mnt -o compress=zstd:1,subvol=@ mount /dev/sda4 /mnt/var/log -o compress=zstd:1,subvol=@log --mkdir mount /dev/sda4 /mnt/home -o compress=zstd:1,subvol=@home --mkdir mount /dev/sda4 /mnt/var/cache/pacman/pkg -o compress=zstd:1,subvol=@pkg --mkdir mount /dev/sda1 /mnt/boot/efi --mkdir
|
大多数挂载选项适用于整个文件系统,因而只有第一个挂载的子卷的选项才会生效。但为了应对未来的可能的变化,这并不影响我们给每个子卷都设置上一摸一样的挂载参数。
4. 选择镜像站
1 2
| vim /etc/pacman.d/mirrorlist
|
5. 安装必需的软件包
1
| pacstrap -K /mnt base linux linux-firmware amd-ucode sof-firmware btrfs-progs man-db man-pages texinfo grub os-prober efibootmgr vim networkmanager eza bash-completion sudo openssh gdisk git sddm plasma-meta noto-fonts-cjk
|
6. 生成 fstab 文件
1
| genfstab -U /mnt > /mnt/etc/fstab
|
7. chroot 到新安装的系统
8. 设置时间和时区
1 2
| ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc
|
为了防止时钟漂移并确保时间准确,后续启动到系统后需使用
NTP(网络时间协议,Network Time Protocol)客户端(例如
systemd-timesyncd)设置时间同步。
9.区域和本地化设置
1 2 3 4 5
| en_GB.UTF-8 UTF-8 zh_CN.GB18030 GB18030 zh_CN.GBK GBK zh_CN.UTF-8 UTF-8 zh_CN GB2312
|
1 2
| locale-gen echo 'LANG=en_GB.UTF-8' > /etc/locale.conf
|
10. 网络配置
1
| echo 'amd-yes' > /etc/hostname
|
11. initramfs
通常不需要自己创建新的 initramfs,因为在执行 pacstrap 时已经安装
linux 包,这时已经运行过 mkinitcpio 了。
12. 设置 root 密码
13. 安装引导程序
1 2 3 4 5
| vim /etc/default/grub
grub-install --removable grub-mkconfig -o /boot/grub/grub.cfg grep -P "^menuentry" /boot/grub/grub.cfg | cut -d "'" -f2
|
14. 完成安装,重新启动
1 2 3
| exit umount -R /mnt reboot
|
15. 其他
安装指南
- 安装后的工作