Arch 安装
官方安装指南: https://wiki.archlinux.org/title/Installation_guide.
前置条件
- U 盘: 将被格式化, 因此应先转移 U 盘内已有的数据.
- 良好的网络: 确保有稳定的网络连接, 安装时会使用到网络.
- 充足的电量: 确保设备有充足电量或接入电源, Arch 可能需要手动安装, 这个过程通常会比自动安装消耗更长的时间.
- 外存空间: 准备安装新系统的电脑有至少 3 GiB 的外存空间.
下载镜像文件
从官网下载 ISO 镜像文件和对应的 PGP 签名文件.
-a--- 1.2G 5 Apr 01:24 archlinux-2025.04.01-x86_64.iso
-a--- 141 5 Apr 01:20 archlinux-2025.04.01-x86_64.iso.sig
验证镜像文件 (可选)
使用 GPG 验证镜像文件:
> gpg --keyserver-options auto-key-retrieve --verify archlinux-2025.04.01-x86_64.iso.sig
gpg: assuming signed data in 'archlinux-2025.04.01-x86_64.iso'
gpg: Signature made 04/01/25 15:30:36 GMT Daylight Time
gpg: using EDDSA key 3E80CA1A8B89F69CBA57D98A76A5EF9054449A5C
gpg: issuer "pierre@archlinux.org"
gpg: Good signature from "Pierre Schmitz <pierre@archlinux.org>" [full]
gpg: aka "Pierre Schmitz <pierre@archlinux.de>" [full]
出现以上信息则表示验证成功.
Info
其他验证方法 (如 sha256sum) 请参考官网上的 Download verification
部分.
Live USB
将镜像文件 (即下载的 iso 文件) 烧录到 U 盘中, 然后从 U 盘启动 Arch Linux.
后续将通过从 U 盘上启动的 Arch Linux 来为电脑安装新的 Arch Linux.
从 Live USB 启动
成功启动后应该能看到如下界面:
若命令输出大量内容可能超出显示范围, 可以将其传递给 less
命令来查看完整内容, 如: ip addr | less
.
通过 Ctrl
Alt
F1-F6 切换到其他终端, 可同时执行命令.
如遇到空间不足的问题, 可以通过下面命令解决:
连接互联网
连接 Wi-Fi
# iwctl
[iwd]# device list # 列出无线网卡
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
[iwd]# station wlan0 connect <ESSID> # 连接指定 Wi-Fi, 连接成功后对应 Network name 的左侧会出现 `>` 标识
[iwd]# exit # 连接成功后即可退出
连接以太网
如果网络使用 DHCP, 直接插入网线即可.
检查网络连接
检查是否有网络连接:
通过下面命令, 检查时间是否同步 (System clock is synchronized):
如果不同步, 则通过下面命令同步时间:
更换源
在 Arch Linux 官方提供的生成器中选择自己所在的国家, 获取镜像源列表.
然后将内容写入到 /etc/pacman.d/mirrorlist
中, 替换原有内容.
分区
布局
路径 | 挂载点 | 类型 | 建议大小 |
---|---|---|---|
/dev/efi_system_partition |
/boot |
EFI System | 1 GiB |
/dev/root_partition |
/ |
Linux root (x86-64) | 除了 EFI 系统分区和交换分区的全部剩余空间 |
/dev/swap_partition |
Linux swap | RAM 大小的一到两倍. 如果需要支持休眠, 则必须至少与 RAM 大小相等 |
Info
如果硬盘为 SSD/HDD 混合, 应将交换分区划分在 SSD 上.
分区
Danger
该步骤存在较高风险, 需谨慎操作.
如果已经安装了 Windows, 注意不要修改属于 Windows 的 NTFS 文件系统类型的分区.
可以使用 lsblk --fs
查看文件系统类型.
fdisk 分区常用命令:
help
: 查看指令和帮助.p
: 查看当前分区方案.g
: 创建新的空白 GPT 分区表, 即删除当前硬盘的全部分区.d
: 删除分区.n
: 创建新分区.t
: 标记分区.w
: 写入, 执行该命令后先前的修改才会生效.
关于 fdisk 的详细使用方法请参考 Gentoo 手册.
创建文件系统
创建分区后, 就需要选择合适的文件系统对分区进行格式化.
根分区建议使用的文件系统为:
- btrfs1: 更新一代的文件系统. 提供先进特性如快照/通过校验和进行自我修复/透明压缩/子卷和集成 RAID.
- ext4: 一个可靠的/通用的/全平台的文件系统, 尽管它缺少现代特性如 reflinks.
其他文件系统请参考 Gentoo 手册和 ArchWiki.
如果对 btrfs 兴趣不大, 只是想快速且简单的完成系统的安装, 建议使用 ext4.
后续可以通过 btrfs-convert
命令将 ext4 转换为 btrfs, 反之则无法直接转换, 需要先对数据进行备份, 然后再进行转移, 会麻烦许多.
选择合适的文件系统来格式化分区, 下面以 btrfs 为例:
# mkfs.fat -F 32 /dev/efi_system_partition
# mkfs.btrfs /dev/root_partition
# mkswap /dev/swap_partition
UEFI 规范规定 EFI 系统分区必须使用 FAT 文件系统. 建议使用 FAT32, FAT12 与 FAT16 更适合可移动介质.
创建子卷
名称 | 挂载点 | 建议挂载参数 |
---|---|---|
@ |
/ |
compress=zstd |
@/home |
/home |
compress=zstd |
@/opt |
/opt |
|
@/root |
/root |
compress=zstd |
@/srv |
/srv |
|
@/tmp |
/tmp |
|
@/usr/local |
/usr/local |
|
@/var |
/var |
nodatacow |
用户可以根据自己的需求创建子卷, 比如游戏玩家可以创建 @games
子卷, 用于存储游戏.
创建子卷的主要目的是允许为不同的子卷配置不同的挂载参数, 以及进行单独的快照.
其他挂载参数可以在 btrfs 文档中查看.
# mount /dev/root_partition /mnt
# cd /mnt
# btrfs subvolume create @
# btrfs subvolume create @/home
# btrfs subvolume create @/opt
# btrfs subvolume create @/root
# btrfs subvolume create @/srv
# btrfs subvolume create @/tmp
# btrfs subvolume create @/usr/local
# btrfs subvolume create @/var
# chattr +C @/var
# cd
# umount /mnt
挂载分区
# mount -o subvol=@ /dev/root_partition /mnt
# mount --mkdir /dev/efi_system_partition /mnt/boot
# mount -o subvol=@/home /dev/root_partition /mnt/home
# mount -o subvol=@/opt /dev/root_partition /mnt/opt
# mount -o subvol=@/root /dev/root_partition /mnt/root
# mount -o subvol=@/srv /dev/root_partition /mnt/srv
# mount -o subvol=@/tmp /dev/root_partition /mnt/tmp
# mount -o subvol=@/usr/local /dev/root_partition /mnt/usr/local
# mount -o subvol=@/var /dev/root_partition /mnt/var
# lsblk
如果有 swap 分区, 还需执行下面命令:
安装
通过 Arch Linux 提供的脚本 pacstrap
安装新系统:
linux
: Linux 内核.linux-firmware
: 固件. 确保硬件 (网卡等) 能正常运行.base
: 基本系统组件, 如systemd
.base-devel
: 基本开发工具链, 如gcc
. 确保能通过包管理器安装软件.
此处还可以附加其他想要安装的软件, 也可以在后续 chroot 进入新系统环境后再进行安装.
通常需要安装的软件有:
- 网络管理器: 用于连接到互联网, 如
networkmanager
. - 编辑器: 用于编辑配置文件, 如
neovim
,nano
. - 文件系统工具: 用于管理文件系统, 如
btrfs-progs
.
配置新系统
Fstab
生成 fstab 文件, 新系统启动后将根据该文件的内容挂载分区.
参数 -U
表示使用 UUID 来挂载分区, 否则将使用设备名来挂载. 前者是始终不变的, 而后者可能会改变, 进而导致系统出现启动错误.
Chroot
通过 Arch Linux 提供的脚本 arch-chroot
进入新系统环境.
后续的命令提示符 []#
表示位于 chroot 环境中.
进入新系统环境后, 执行的操作将会应用在新系统上, 比如执行 pacman -S
会将包安装在新系统中.
安装网络管理器
根据系统的用途选择合适的网络管理器.
Warning
跳过该步骤可能导致新系统无法连接网络, 进而无法再安装网络管理器.
安装微指令
根据 CPU 品牌安装微指令 (microcode), 只需要安装一个:
设置密码
通过下面的命令为 root 设置密码:
Warning
使用数字键盘时需注意 Num Lock
状态.
设置语言
修改文件 /etc/locale.gen
, 取消需要使用语言的注释, 可以同时启用 UTF-8 和 ISO-8859-1.
应用修改:
修改文件 /etc/locale.conf
, 添加下面内容来设置需要使用的语言:
设置主机名
修改文件 /etc/hostname
, 填写主机名.
设置时区
利用补全功能 (Tab 键) 选择时区.
详情请参考 ArchWiki.
安装引导加载程序
引导加载程序 (boot loader) 负责在开机时引导操作系统启动.
建议使用的引导加载程序为:
- GRUB: 推荐多系统使用.
- systemd-boot.
下面将以 GRUB 为例.
安装 GRUB
下面方法仅适用于 UEFI 模式.
[]# pacman -S grub efibootmgr os-prober
[]# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
[]# grub-mkconfig -o /boot/grub/grub.cfg
注意 grub-mkconfig
的输出结果, 是否检测到了已安装的其他操作系统.
如果需要识别 Windows, 则需要安装 ntfs-3g
, 然后挂载 Windows 的系统盘.
Warning
跳过该步骤将直接导致新系统无法启动, 除非多系统已经安装过 GRUB.
重启
连接网络
如果安装的网络管理器为 NetworkManager, 则可以通过 nmtui
命令启动 TUI 来连接网络.
添加用户
创建普通用户并设置密码.
# useradd -m -G wheel <username> # 创建家目录并将用户添加到 wheel 用户组. useradd --create-home --groups <username>
# passwd <username>
详情请参考 ArchWiki.