开始安装 Arch Linux
插入驱动器,进入 Arch ISO,如有问题可尝试 grub2 模式
联网
通常有线连接不需要额外配置,一些网卡(如联发科网卡)会导致 Live 无法启动,请先拔出。
对于无线连接,使用iwctl
rfkill unblock all #防止网卡被禁用
iwctl
device list #枚举设备名
station [device] scan #扫描网络
station [device] get-networks #获取网络列表
station [device] connect [networkname] #连接网络
exit
处理 Reflector
系统的文件 /etc/pacman.d/mirrorlist 中定义了软件包会从哪个镜像站下载。在 LiveCD 启动的系统上,且在连接到互联网后,reflector 会通过选择 20 个最新同步的 HTTPS 镜像站并按下载速率对其进行排序来更新镜像列表(由于只考虑最新的 20 个镜像站,其结果常不佳)。如果有手动设置镜像站列表的需要,建议停止 reflector.service 服务。
建议禁用 reflector,执行 systemctl stop reflector。也可以让 reflector 为您选择镜像,尽管结果通常不佳(贼慢),一个可能的用法是:
reflector --country China --latest 20 --sort rate --save /etc/pacman.d/mirrorlist
#这会自动按速度选择20个中国镜像,尽管这样的结果还是不怎么样
更稳妥的选择是:
curl -L 'https://archlinux.org/mirrorlist/?country=CN&protocol=https' -o /etc/pacman.d/mirrorlist
#使用 Wiki 提供的大陆镜像
Warning
不要现在就添加 archlinuxcn 仓库,为了确保系统正常安装,所有的基础软件包都应该来自官方仓库,如需请在安装后添加。/etc/pacman.d/mirrorlist 会被新系统继承
分区
在本节中,会以 /dev/sdnx 设备,如果你安装了 NVMe 硬盘,它应该是 /dev/nvmenxpx,总是,不要照抄。
创建分区
执行
fdisk -l
Note
如果看不见您的硬盘,关闭 RAID
Danger
谨慎操作,双系统不要新建 EFI,也不要动 Microsoft Basic Data,数据是无价的。
Tip
在一些没有对齐的硬盘上,分区工具可能会给出提示,忽略即可,进行对齐需要格式化整块硬盘并重新创建 GPT 表。
格式化分区
格式化 EFI 分区
mkfs.fat -F32 /dev/sdxn
Danger
双系统请勿格式化!
格式化根文件系统
mkfs.btrfs /dev/sdnx
创建 swap
mkswap /dev/sdnx
Tip
如果您不需要 swap,可以跳过这一步。
挂载分区并创建子卷
挂载根文件系统
mount -t btrfs -o compress=zstd /dev/sdxn /mnt
btrfs subvolume create /mnt/@ # 创建 / 目录子卷
btrfs subvolume create /mnt/@home # 创建 /home 目录子卷
Info
有些教程在这步会创建 .snapshots 子卷,我们推荐的 snapper 或更流行的 timeshift 都会在初始化时创建此子卷,如果提前创建,需要手动修复,方法见 Arch Wiki 建立一个新的配置
卸载根文件系统
umount /mnt
mount -t btrfs -o compress=zstd,subvol=@ /dev/sdxn /mnt
mkdir /mnt/home
mount -t btrfs -o compress=zstd,subvol=@home /dev/sdxn /mnt/home
挂载 EFI 分区
```shell
mkdir /mnt/boot
mount /dev/sdxn /mnt/boot
安装和配置基本系统
首先,安装基本系统和工具,您可以把喜欢的工具添加到安装命令中,比如 vim 或 htop 。
#我推荐安装这些
pacstrap -K /mnt base linux linux-firmware nano btrfs-progs sudo wpa_supplicant # 如果你喜欢 systemd,也可以用 run0
genfstab -U /mnt > /mnt/etc/fstab
Success
如果您喜欢 systemd,也可以使用 systemd 单元挂载而非 fstab 文件
然后,change root 到新系统
arch-chroot /mnt
安装微码
# Intel CPU
pacman -S intel-ucode
# AMD CPU
pacman -S amd-ucode
设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
Tip
上海是此时区内人口最多的城市,所以是上海而非北京
区域和本地化
编辑 /etc/locale.gen 文件,取消注释zh_CN.UTF-8 UTF-8 和 en_US.UTF-8 UTF-8,然后执行
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
Danger
如果您不使用 kmscon,就不要将 locale 设置为 zh_CN.UTF-8,否则会导致乱码
设置主机名
echo "myhostname" > /etc/hostname
更改密码
passwd
安装引导加载程序
安装 systemd-boot
bootctl install
/boot/loader/loader.conf 文件,添加以下内容
default @saved
timeout 5
editor no
console-mode max
/boot/loader/entries/arch.conf 文件,添加以下内容
title Arch Linux # Arch Linux 的标题
linux /vmlinuz-linux # Linux 内核,请根据实际情况修改
initrd /initramfs-linux.img # initramfs 文件,请根据实际情况修改
options root=UUID=<UUID> rootflags=subvol=@ rw # 根文件系统的 UUID,请根据实际情况修改
Danger
现在就启用(enable)systemd-boot-update.service,这会在系统更新时自动更新 systemd-boot 以防止潜在的问题。
Danger
对于 btrfs 文件系统,rootflags=subvol=@ 是必须的,因为我们使用了子卷。否则你就会见到 arch linux“设计精美的“Kernel Panic 画面
如果您使用的是其他文件系统,请根据实际情况修改。
Tip
请将 <UUID> 替换为您的根文件系统的 UUID,可以通过 blkid 命令获取,注意核对。执行不带参数的 bootctl 来检查配置文件是否正确。
结束安装
退出 chroot 环境
exit
umount -R /mnt
reboot
Success
恭喜您,Arch Linux 已经安装完成!现在您可以开始配置您的系统了。注意,拔出 Live 驱动器,以免再次进入 Live 环境。