OFFSET偏移
← 文章目录OFFSET / FIELD NOTESNO. 064

Arch Linux 与 Btrfs:手动安装和 archinstall

完整梳理 UEFI、Btrfs 子卷、基础系统、GRUB 和 archinstall 的安装流程。

所在专题Arch Linux ↗
约 12 分钟阅读开始阅读

本文整理自 shorinkiwata/archlinuxinstall,保留原教程的操作深度并进行匿名化与风险校正。安装包名、扩展、驱动和界面可能随滚动更新变化,以下命令均为阅读示例,没有在此任务中执行或验证。

操作前提#

本文展示的是 UEFI + Btrfs + GRUB 路径。先备份数据、确认磁盘及分区,区分新建 ESP 与已有双系统 ESP。cfdisk 写入分区表、mkfs.* 格式化均可能删除数据;只对明确允许重建的目标执行,不要格式化 Windows 的现有 ESP。所有 /dev/*_partition 或 /dev/EXAMPLE_DISK 都必须替换成现场确认的目标,不是可直接运行的设备名。

交换文件大小 4g 只是示例。休眠要求目标交换空间能容纳当时的镜像,并正确配置恢复位置。Btrfs 活跃 swapfile 所在子卷不能创建普通快照,单独的 @swap 有助于分离这个限制。

安装系统#

手动安装

参考链接: archlinux 简明指南 安装指南 - Arch Linux 中文维基

确认网络

ip link 查看网络接口
ip a 查看网络连接信息
ping archlinux.org 确认网络正常

iwctl 连接 wifi

iwctl
station wlan0 connect <WIFI_SSID>
exit

同步时间

timedatectl set-ntp true

硬盘分区

lsblk -p  查看当前分区情况
fdisk -l 小写字母l,查看详细分区信息
cfdisk /dev/EXAMPLE_DISK # 替换为已核对且允许重新分区的目标磁盘

新建 ESP 可从 1 GiB 开始规划,类型 EFI System;其余空间按需要划为 Linux filesystem。双系统已有 ESP 时先检查,不要重建或格式化它。

格式化分区

检查挂载和分区号,格式化会删除该分区数据。双系统现有 ESP 只挂载,不格式化。

lsblk -p 查看分区情况
  • 格式化 efi 启动分区
mkfs.fat -F 32 /dev/efi_system_partition # 仅新建且允许擦除的 ESP
  • 格式化 btrfs 根分区
mkfs.btrfs /dev/root_partition

btrfs 子卷

  • 挂载
mount -t btrfs -o compress=zstd /dev/root_partition /mnt
  • 创建子卷
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
btrfs subvolume create /mnt/@swap
  • 确认
btrfs subvolume list -p /mnt
  • 取消挂载
umount /mnt

挂载

mount -t btrfs -o subvol=/@,compress=zstd /dev/root_partition /mnt #根目录
mount --mkdir -t btrfs -o subvol=/@home,compress=zstd /dev/root_partition /mnt/home #/home目录
mount --mkdir -t btrfs -o subvol=/@swap,compress=zstd /dev/root_partition /mnt/swap #/swap目录
mount --mkdir /dev/efi_partition /mnt/boot #/boot目录
mount --mkdir /dev/winefi_partition /mnt/winboot #windows的启动分区,为双系统引导做准备
df -h 复查挂载情况

安装系统

可选:下载速度慢的话

vim /etc/pacman.d/mirrorlist

拿出手机,浏览器搜索 archlinux中国镜像源,找一个镜像源添加
  • 更新密钥
pacman -Syu archlinux-keyring
  • 安装系统
pacstrap -K /mnt base base-devel linux linux-firmware btrfs-progs

-K 在目标中初始化空的 pacman 密钥环(隐含 -G)
base-devel是编译其他软件的时候用的
linux是内核,可以更换
linux-firmware是固件
btrfs-progs是btrfs文件系统的管理工具
  • 安装必要的功能性软件
pacstrap /mnt networkmanager vim sudo amd-ucode

networkmanager 是联网用的
vim 是文本编辑器
sudo 和权限管理有关
amd-ucode 是微码,用来修复和优化cpu

设置 swap 参考链接:Swap - ArchWiki

创建 swap 文件

btrfs filesystem mkswapfile --size 4g --uuid clear /mnt/swap/swapfile

启动 swap

swapon /mnt/swap/swapfile

生成 fstab 文件

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

change root

arch-chroot /mnt

主机名

在 /etc/hostname 写入自选主机名,例如 workstation,避免把个人设备名嵌入公开配置。

设置时间和时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

本地化设置

vim /etc/locale.gen

取消en_US.UTF-8 UTF-8的注释
locale-gen
vim /etc/locale.conf
写入 LANG=en_US.UTF-8

设置 root 密码

passwd

安装引导程序

pacman -S grub efibootmgr os-prober

efibootmgr 管理uefi启动项
os-prober 用来搜索win11
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
  • 编辑 grub 的源文件
vim /etc/default/grub
可按排障需要去掉 quiet 或调整 loglevel;不要把关闭 watchdog 和硬件模块黑名单当作安装必需参数。
手动写入或者取消GRUB_DISABLE_OS_PROBER=false的注释
  • 生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg

完成安装

exit # 退出 arch-chroot
umount -R /mnt # 确认无忙碌挂载
reboot

启动网络

systemctl enable --now NetworkManager

连接 wifi

nmcli dev wifi connect <WIFI_SSID> password <WIFI_PASSWORD>

可选的终端演示工具

pacman -S fastfetch lolcat cmatrix

脚本安装

确认网络连接

  • ip a 查看网络连接
  • ping 一个网址确认网络正常
  • 连接 wifi
iwctl #开启wifi连接
station wlan0 connect wifi名
在跳出的条目内输入密码
exit退出iwctl
  • ping 一个网址确认网络正常

更新 archinstall

  • 更新 archlinux-keyring
pacman -Syu archlinux-keyring
  • 更新 archinstall
pacman -S archinstall
  • archinstall 开启安装脚本(脚本内上下左右移动光标,回车选中,tab 给括号打勾,/ 左斜杠搜索)

设置镜像源

  • mirror 选自己所在地区或国家,也可以不手动选,在 optional repositories 里开启 32 位源(multilib)玩游戏或者运行 windows 程序需要 32 位支持

磁盘分区 disk configuration

启动分区

wiki 推荐是 1GB,所以填入 1024MB,类型 fat32,挂载点是/boot

swap 交换空间

交换空间不必须等于 RAM;需要休眠时按实际镜像大小和可靠恢复测试规划。 swap 与虚拟内存和休眠有关,可以创建 swap 分区或者 swap 文件,二选一,前者配置更简单,后者配置稍复杂,但是更加灵活。 swap 分区 创建一个和内存大小相同的硬盘分区,类型选择 swap swap 文件 将所有剩余空间分到一个分区,类型选择 btrfs,设置 compress(透明压缩,可以节省磁盘空间),添加 sub volume。

  • @ 对应 /
  • @home 对应 /home
  • @swap 对应 /swap 交换文件的创建方法:Swap - ArchWiki
btrfs filesystem mkswapfile --size 4g --uuid clear /swap/swapfile
swapon /swap/swapfile
vim /etc/fstab
写入
/swap/swapfile none swap defaults 0 0

其他

  • bootloader 选择 grub,因为主流发行版用的都是 grub,配置简单,遇到问题时网上帖子多
  • 设置 root 密码
  • 设置普通用户,添加管理员权限
  • profile 可以预装桌面环境,有需要的自行选择,选择桌面之后还可以选择安装显卡驱动
  • 内核(kernel)根据硬件和负载选择;linux 与 linux-zen 都应验证功耗、响应和驱动兼容性
  • networ configuration 选择第三项 networkmanager,因为主流桌面环境默认与这个集成
  • additional pakages 里面选 vim 和 os-prober, zen 内核的话这里再选个 linux-zen-headers
  • 设置时区

官方核对入口#

ArchWiki:Installation guide。

ArchWiki:EFI system partition。

ArchWiki:Btrfs。

ArchWiki:GRUB。

pacstrap(8)。

参考与延伸

  1. 原教程:shorinkiwata/archlinuxinstall ↗
  2. ArchWiki:Installation guide ↗
  3. ArchWiki:EFI system partition ↗
  4. ArchWiki:Btrfs ↗
  5. ArchWiki:GRUB ↗
  6. pacstrap(8) ↗

根据技术笔记重新整理,示例使用通用名称。

沿专题继续阅读

Arch Linux

  1. 01Arch Linux 的哲学与安装规划
  2. 02内核管理、systemd-boot 与 UKI
  3. 03Pacman Hook、AUR 与构建安全
  4. 04Btrfs 子卷布局与 Snapper 快照
  5. 05LUKS2、Secure Boot 与 TPM2 加固
  6. 06性能选择与日常维护清单
  7. 07Pacman 常用命令与参数记忆
  8. 08Pacman 下载慢的诊断与镜像选择
  9. 09informant:Arch 新闻与 Pacman Hook
  10. 10Arch Linux 与 Btrfs:手动安装和 archinstall
  11. 11GNOME 桌面、输入法与快照配置
  12. 12GNOME 笔记本管理与桌面美化
  13. 13Arch Linux 的 KVM、GPU 直通与游戏
  14. 14Arch 桌面的交换空间、内核与排障
CONTINUE READING / 下一篇GNOME 桌面、输入法与快照配置

从桌面组件、图形和音频驱动逐步配置应用、输入法、快捷键与快照。