一起来安装 Arch Linux 吧~ (本文以安装 Arch Linux 单系统 为例,暂不讨论双系统安装)
- 一个 U 盘(容量不少于 1GB,最好是 USB 3.0)
- 一台 x86-64 架构的电脑(从 2017 年开始 Arch Linux 不支持 i386 架构)
- 一个较好的网络环境,无线/有线网络均可,不能是需要认证的网络(如大学校园网)
首先从 Arch Linux 官网下载最新版 Arch Linux 镜像。 往下翻找到 China,选择一个镜像源(比如中科大 ustc.edu.cn):
找到 iso 镜像点击下载。
下载完镜像后,前往 https://github.com/ventoy/Ventoy/releases 下载 Ventoy 启动器(根据自己的系统类型选择):
插入U盘后打开Ventoy。
待U盘名称正常显示后点击安装:
Ventoy 安装完成后,将 Arch Linux 的镜像文件复制到U盘中,弹出U盘。
注意提前备份硬盘重要数据!!
插入 U 盘并开机。在开机的时候,按下 F2/F12/Enter/Delete 等(取决与你的主板型号,具体请查阅你主板的相关信息)按键,进入主板的 BIOS 设置界面。 在名为 Security(安全) 的选项卡中,找到 Secure Boot(安全启动)的选项,选择 Disable/关闭 将其禁用。 在名为 Boot(启动) 的选项卡中,找到名为 Boot Options(启动顺序,名称可能略有差异)的设置选项,将 U盘(USB Device)的启动顺序调整到首位。
在名为 Exit(退出) 的选项卡中,保存 BIOS 设置并退出(Save Configurations And Exit)。 进入 Ventoy 选择菜单,选择 Arch Linux ISO,回车,等待加载完毕即进入安装界面。
插上网线,等待片刻即可。
输入 iwctl 回车进入无线网络工具,依次执行如下命令。
device list #列出无线网卡(一般来说是 wlan0)
station wlan0 scan #扫描无线网络
station wlan0 get-networks #列出所有可用的无线网络
station wlan0 connect SSID #SSID 即为 Wi-Fi 名称,可输入一部分然后按 Tab 键补全输入密码后回车,然后执行 exit。
注意:要连接名称里带空格的网络,连接时要用双引号将网络名称括起来。
执行
ping archlinux.org -c 5即可测试与 Arch Linux 服务器是否正常连接。(-c 后面的数字表示连接的次数)
执行
timedatectl set-ntp true即可同步。
可以使用 timedatectl status 检查服务状态。
执行 lsblk 查看硬盘详情。
图中所示是我的硬盘,最左边 nvme0n1 是硬盘设备名,下面的 nvme0n1p1、nvme0n1p2...是分区设备名。
| 块设备类型 | 设备文件名 |
|---|---|
| SATA 硬盘/U 盘等 SCSI 设备 | /dev/sd[a-z] |
| NVMe 硬盘 | /dev/nvme[0-9]n[1-9] |
| VirtIO 块设备(虚拟硬盘) | /dev/vd[a-z] |
对于 SATA 硬盘/U 盘/VirtIO 块设备来说,系统采用 a~z 来代表 26 块不同的硬盘(从 a 开始分配)。对于 NVMe 硬盘来说,第一个数字表示控制器序号(从 0 开始),第二个数字表示命名空间(namespace)序号(从 1 开始)。但是对于消费级 NVMe 硬盘而言,一块硬盘一般只有一个命名空间,因此我们一般见到的是 /dev/nvme[0-9]n1。
- 有关设备文件的详细介绍,请参阅 Device file.
找到需要安装 Arch Linux 的硬盘后,执行
cgdisk 设备文件名即可进入分区管理界面(下图是已经分好区的硬盘)
在分区管理界面,可以使用上、下、左、右键移动位置。
对于 Arch Linux,以下分区是必须要有的: 一个根分区(挂载在根目录)/; 要在 UEFI 模式中启动,还需要一个 EFI 系统分区(100MB 就完全足够了)。
如果硬盘上原来有操作系统,安装 Arch Linux 单系统需要先删除原来的分区。删除方法:先用上下键选中要删除的分区,然后用左右键选择 Delete,回车。
先用上下键选中一块空闲空间(free space),然后用左右键选择New,回车。
First sector,保持默认即可,回车。
Size in sectors or {KMGTP},输入根分区的大小(建议大于 64G),以数字+G(如80G)的形式输入,回车。
Hex code or GUID,输入 8304 (对应 Linux x86-64 root),回车。
Enter new partition name,输入分区名,回车。
与创建根分区方法类似,在分区大小和 Hex code or GUID 上有所不同,Hex code or GUID 应为8200。交换分区大小建议:
| 物理内存 | 交换分区大小 | 开启休眠的交换分区大小 |
|---|---|---|
| ⩽ 2GB | 内存的 2 倍 | 内存的 3 倍 |
| 2GB ~ 8GB | 等于内存大小 | 内存的 2 倍 |
| 8GB ~ 64GB | 至少 4GB | 内存的 1.5 倍 |
| > 64GB | 至少 4GB | 不建议使用休眠 |
(摘自 Red Hat Recommended System Swap Space)
比如你想为 Arch Linux 再建一个数据盘。方法和创建根分区相同。
创建完分区后(请确认分区正确!!),选择 Write 并回车,输入 yes 回车,写入分区表。 然后选择 Quit 回车,退出 cgdisk。
分区完成后,可执行 lsblk 查看分区状态。
找到 EFI 分区(一般在最前面,大小 100M ~ 300M) 执行下面命令格式化 EFI 分区:
mkfs.fat -F 32 /dev/EFI分区设备名 #图中EFI分区设备名为nvme0n1p1,请根据自己lsblk的实际情况替换找到根分区,执行下面命令格式化根分区:
mkfs.btrfs -f /dev/根分区设备名 #图中根分区设备名为nvme0n1p2,请根据自己lsblk的实际情况替换找到交换分区,执行下面命令格式化交换分区:
mkswap /dev/交换分区设备名 #图中交换分区设备名为nvme0n1p4,请根据自己lsblk的实际情况替换挂载分区的顺序不要颠倒,否则可能遇到安装完成后无法启动系统的问题。
先执行下面命令挂载根分区:
mount /dev/根分区设备名 /mnt由于我们用的是 Btrfs 文件系统,所以接下来需要创建子卷。 执行下面命令创建根目录子卷:
btrfs subvolume create /mnt/@如有需要,可执行下面命令创建 /home 子卷(可选): (创建 /home 子卷后,根目录和用户的家目录将会分开放置)
btrfs subvolume create /mnt/@home创建完子卷后,执行下面命令卸载根分区:
umount /dev/根分区设备名请在下面两种根分区的 /@ 子卷挂载方式中 选择一种 挂载:
- 挂载时启用透明压缩功能(能减少空间占用,但大量读写时会小幅增加 CPU 占用,如果 CPU 性能还不错可以开启)
mount /dev/根分区设备名 /mnt -o compress=zstd:1,subvol=@- 挂载时不启用透明压缩功能
mount /dev/根分区设备名 /mnt -o subvol=@- 此处选用高效的 zstd 压缩算法进行透明压缩,并使用相对最适合 NVMe SSD 的压缩等级(1)。
| 磁盘类型 | CPU 性能 | 压缩建议 |
|---|---|---|
| NVMe SSD, PCIe 4.0 x4 / 5.0 x4 | / | 不压缩 |
| NVMe SSD, PCIe 3.0 x4 | 很强(zstd:1 压缩速度不低于 3 GiB/s,建议 4 GiB/s) | zstd:1 |
| NVMe SSD, PCIe 3.0 x4 | zstd:1 压缩速度低于 3 GiB/s | 不压缩 |
| SATA SSD | 较好 | zstd:3(zstd 默认压缩等级) |
| SATA SSD | 较差 | zstd:2 |
| HDD | / | 根据需求在 zstd:4 ~ zstd:8 之间选择。CPU 性能越高,建议选择的压缩等级也越高 |
执行下面命令挂载 EFI 分区:
mount --mkdir /dev/EFI分区设备名 /mnt/efi/boot/efi已被弃用,建议使用/efi代替/boot/efi。
执行下面命令挂载交换分区:
swapon /dev/交换分区设备名如果你创建了 @home 子卷,请在下面两种挂载方式中 选择一种 挂载:
- 启用透明压缩功能
mount --mkdir /dev/根分区设备名 /mnt/home -o compress=zstd:1,subvol=@home- 不启用透明压缩功能
mount --mkdir /dev/根分区设备名 /mnt/home -o subvol=@home挂载完成后,可使用lsblk命令查看挂载情况。
先执行以下命令关闭 reflector:
systemctl stop reflector 然后执行
vim /etc/pacman.d/mirrorlist打开镜像源文件。 将光标移到第一行镜像源的上一行,按下键盘上的 O
添加国内镜像源(此处以中科大镜像源为例):
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
然后按 Esc 键,输入 :wq,回车,保存并退出。
对于 AMD CPU,执行如下命令开始安装系统:
pacstrap /mnt base base-devel linux linux-firmware linux-headers vim bash-completion btrfs-progs amd-ucode对于 Intel CPU,执行如下命令开始安装系统:
pacstrap /mnt base base-devel linux linux-firmware linux-headers vim bash-completion btrfs-progs intel-ucode- base-devel:基础开发工具包(包括 gcc g++ make 等等)
- vim:常用的文本编辑器
- bash-completion:提供 bash 终端 Tab 键补全命令的功能
- btrfs-progs:Btrfs 文件系统管理工具
- amd-ucode/intel-ucode:CPU 微码
用以下命令生成 fstab 文件:
genfstab -U /mnt >> /mnt/etc/fstab然后执行下面命令编辑 fstab 文件:
vim /mnt/etc/fstab按键盘上的 i 进入插入模式。
找到文件系统为 btrfs 的一行或两行,添加 nodiscard 参数,注意前后的逗号。
按 Esc 键,输入 :wq,回车,保存退出。
- 下面是根分区 /@ 子卷的挂载参数示例。
rw,relatime,nodiscard,compress=zstd:1,ssd,space_cache=v2,subvol=/@
- 下面是根分区 /@home 子卷的挂载参数示例。
rw,relatime,nodiscard,compress=zstd:1,ssd,space_cache=v2,subvol=/@home
执行以下命令变更根目录,进入新系统:
arch-chroot /mnt执行下面命令设置 Asia/Shanghai 时区:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime如果需要设置其他时区:
ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime执行下面命令与硬件时间同步:
hwclock --systohc执行下面命令打开 locale.gen 文件:
vim /etc/locale.gen按键盘上的 i 进入插入模式。
往下翻找到 en_US.UTF-8 UTF-8,将前面的注释符(#)删去。
然后按 Esc 键,输入 :wq,回车,保存退出。
注意:在安装阶段不要设置中文 locale,可能导致 tty 乱码。
然后执行
locale-gen生成 locale 信息。
执行下面命令新建 locale.conf 文件:
vim /etc/locale.conf按键盘上的 i 进入插入模式,然后输入
LANG=en_US.UTF-8
按 Esc 键,输入 :wq,回车,保存退出。
执行下面命令新建 hostname 文件:
vim /etc/hostname按键盘上的 i 进入插入模式,然后输入自己喜欢的主机名,输入完后按 Esc 键,输入 :wq,回车,保存退出。
执行下面命令设置 Root 用户密码:
passwd(输入密码时不会有任何显示)
执行下面命令创建普通用户:
useradd -m -G wheel 用户名设置密码:
passwd 用户名编辑超级用户文件:
EDITOR=vim visudo按键盘上的 i 进入插入模式。
往下翻找到 "Uncomment to allow members of group wheel to execute any command"
将下面一行 %wheel 前的注释符(#)删去。
按 Esc 键,输入 :wq,回车,保存退出。
执行 lsblk 确保 /efi 分区已正确挂载。
然后执行下面命令安装 grub 和 efibootmgr:
pacman -S grub efibootmgr将 GRUB 安装到 EFI 分区:
grub-install --efi-directory=/efi --bootloader-id=GRUB使用以下命令生成 GRUB 配置文件:
grub-mkconfig -o /boot/grub/grub.cfg- GRUB 的很多选项都是可定制的。关于如何修改 GRUB 的启动顺序、主题、内核启动参数等问题,请参阅 GRUB。
执行下面命令开启 SSD 的 TRIM 功能:
systemctl enable fstrim.timer执行下面命令打开 pacman.conf:
vim /etc/pacman.conf按键盘上的 i 进入插入模式。
往下翻找到[multilib],将[multilib]这一行和下一行前面的注释符(#)删去。
按 Esc 键,输入 :wq,回车,保存退出。
执行下面命令安装网络相关工具:
pacman -S networkmanager执行下面命令启用网络服务:
systemctl enable NetworkManager执行下面命令安装蓝牙、声卡驱动和其他工具:
pacman -S bluez cups xdg-utils xdg-user-dirs pipewire-pulse pipewire-jack openssh- 此处使用了新一代声音服务器 PipeWire,延迟比 PulseAudio 更低。有关 PipeWire 的其他信息,请参阅 PipeWire。
如果电脑有蓝牙功能,执行下面命令启用蓝牙:
systemctl enable bluetooth执行下面命令启用打印机服务:
systemctl enable cups如果需要做测试,可执行下面命令启用 SSH 服务:
systemctl enable ssh执行下面命令安装 Intel 显卡驱动:
pacman -S mesa vulkan-intel注意,只有 Ivy Bridge 及更新架构的 CPU 核显才支持 Vulkan。
Broadwell 及更新架构:
pacman -S intel-media-driverHaswell 及更早架构:
pacman -S libva-intel-driver注意:NVIDIA 590 驱动已停止支持 Pascal 及更早架构。
对于 Turing 及更新架构的 NVIDIA 显卡,执行下面命令安装驱动:
pacman -S nvidia-open-dkms nvidia-settings nvidia-utils对于 Maxwell、Pascal 和 Volta 架构的 NVIDIA 显卡,需要从 AUR 安装 nvidia-580xx-dkms:
pacman -S git
git clone https://aur.archlinux.org/nvidia-580xx-utils.git
makepkg -D nvidia-580xx-utils -si需要 CUDA 可使用以下命令安装:
pacman -S cuda需要 OpenCL 可使用以下命令安装:
pacman -S opencl-nvidia执行下面命令安装 AMD 显卡驱动:
pacman -S mesa vulkan-radeon执行下面命令退出 Chroot:
exit取消挂载 /mnt 下的所有分区:
umount -R /mnt关机:
poweroff拔掉安装 U 盘,开机。
输入用户名和密码登录系统。
有线网络插上网线即可。
如果使用无线网络,执行 nmtui,选择 Activate a connection 回车,选择一个 Wi-Fi 网络并连接。
连接网络后,使用
sudo pacman -Syu更新系统
本篇教程到这里就结束了,桌面环境的安装下篇再见~









