磁盘分区、格式化、挂载与系统安装。
本篇文章尚不完善,对其导致的阅读理解障碍作者表示抱歉,并将会尽快补充完善此文章…
确认磁盘有 lsblk 和 fdisk -l 两种命令。

分区类型有三种:
关于应该为 EFI 分区分配多少磁盘空间,官方文档有详细表述。

分区主要有两种方式:cfdisk 或 fdisk。根据 DeepSeek 的分析,最终选定创建分区表 GPT 的方式为 cfdisk;不创建 swap 分区,以后若有需要用 swap 文件代替,以减小当前安装时的操作复杂度。
DeepSeek 的分析:
fdisk:纯命令行式,功能更底层、强大,支持所有高级操作,但学习成本较高(对新手来说如果找到合适的指南,按照指南输入字母其实不难,作者安装第一个 Arch Linux 时使用的分区工具就是 fdisk)。cfdisk:文本图形界面(TUI),对当前分区状态、操作对象的展示一目了然,极大降低误操作风险。覆盖了 90% 的常用分区操作(创建、删除、修改类型、调整大小),对于标准安装(GPT,分 1-3 个区),cfdisk 功能完全足够且更高效。cfdisk /dev/sda # 启动分区工具
具体的操作过程引用极客技术博客(Arch Linux VirtualBox 安装教程)的教程:
yes 确认,然后「Quit」退出。

按下 Ctrl + C 键后命令提示符变成了 130 root@archiso ~ #,并且右侧出现了 :( 符号。询问 DeepSeek,它说查不到关于 :( 符号的参考资料,但应该没有什么影响。

文件系统有多种类型:Btrfs、ext4、FAT32 等。选择根目录文件系统为 ext4。
DeepSeek 的分析:
此外,简明指南中提到:“若使用 Swap 文件而不是 Swap 分区,在 Btrfs 文件系统中设置休眠(hibernate)的时候需要额外的步骤,而且可能有兼容性问题。” 我的主要目标是学习 Arch 系统,不想把太多精力花在别的事情上,所以选择了 ext4 作为根目录文件系统。
mkfs.fat -F32 /dev/sda1 # 格式化 EFI 分区(FAT32)
mkfs.ext4 /dev/sda2 # 格式化根分区(ext4)
推荐一本书:《Linux就该这么学》
基于作者的理解,Arch 系统被成功安装之前,在一切的开始,也就是现在,系统的 /dev/sda1(ESP:EFI系统分区)和 /dev/sda2(根分区)这两个分区是独立的。要安装 Arch 需要让它们联合起来发挥作用,并且需要先找一个地方(/mnt)来放置它们才能操作。
“放置”不是把根分区搬到 /mnt 里,而是让 /mnt 成为根分区,这就是挂载。说得严谨一点就是把 /mnt 链接到 /dev/sda2。
在 /mnt 成为根目录后,就可以把 ESP(EFI系统分区) 装到里面(挂载到 /mnt/boot 里)。
在网络上的很多旧教程里,ESP 是被挂载到 /mnt/boot/efi 里的。DeepSeek 是这样说的:
/mnt/boot/efi:历史遗留方案。GRUB 等引导程序曾默认使用此路径。/mnt/boot:新手首选,追求最简单安装流程(这也是官方推荐)。/mnt/efi:配置稍复杂;需确保引导程序能找到内核。追求系统整洁、多系统共存的进阶用户选用。mount /dev/sda2 /mnt # 挂载根分区到 /mnt
mount --mkdir /dev/sda1 /mnt/boot # 挂载 ESP 到 /mnt/boot
df -h # 使用 df 命令检查挂载情况
这里的 mount --mkdir /dev/sda1 /mnt/boot 命令参照的是官方给出的格式(很多教程里没有这样写)。其中的 --mkdir 参数的官方解释是:
Allow to make a target directory (mountpoint) if it does not exist yet.
即如果挂载点不存在就先创建挂载点,这样可以省略使用命令 mkdir -p /mnt/boot 创建 /boot 目录(挂载点)这一步。
注意:在挂载之后,对
/mnt里文件的一切操作相当于是对被安装系统的文件的操作,将会被保留到安装后的新系统里。
pacstrap /mnt base base-devel linux linux-firmware vim
命令解释:
pacstrap:安装系统的基础包- Pacstrap 是用于在 Arch Linux 安装过程中引导系统安装的工具。它用于将基础系统软件包安装到指定的目录(通常是挂载的目标分区)。这个命令通常用于安装基础系统,如 Linux 内核和基本工具,通常是在 Arch Linux 的手动安装步骤中使用的。(引自 知乎-pacman与pacstrap)
各种教程在这里的命令不尽相同,但至少都包含 base linux linux-firmware。出于谨慎,作者搜了一下各命令的不同之处:
-K 参数官网说:“-K 标志会初始化一个新的 pacman 密钥环,而不是使用主机的密钥环。对于在 chroot 环境中使用非官方镜像并希望从主机导入其密钥的人来说,可以省略此标志。”
DeepSeek 的解释:
- 不加
-K:新系统会复制 Live 安装环境(主机)里现有的所有软件包签名密钥。这就像从旧房子(Live 环境)把所有钥匙串(密钥环)直接带到新房子(新系统),能立即打开所有门(验证软件包)。这是最常用、最省事的做法。- 加上
-K:新系统会丢弃 Live 环境的所有旧钥匙,当场打造一套全新的、完全空白的钥匙串。这能保证绝对干净,但新系统里一把钥匙都没有,后续需要你自己手动添加所有必要的钥匙(密钥)。- 你使用的是受信任的镜像站,已经严格校验了 ISO 的 PGP 签名,确保了安装源的纯净,这样 Live 环境的密钥本身就是官方的、干净的。把这个干净的密钥环复制过去,新系统就能立刻信任并安装所有官方软件包。这是推荐做法。使用
-K会产生额外步骤,你需要在新系统里手动配置 pacman 密钥环,这对于初学者来说既复杂又没必要。
base-devel 包软件开发工具链,包含编译器(gcc)、make、autoconf、sudo 等,在后续的安装过程中是必须用到的。
小插曲:在官网搜索这个包时,看到了 Edge 浏览器的有趣翻译

vim 包作者希望在新系统里使用 vim 编辑器。
在执行命令前可以先用以下命令打开 mirrorlist 文件确认一下是否有把国内镜像源提前:
vim /etc/pacman.d/mirrorlist
输入 :q 并回车退出 vim 编辑器。(这里的 vim 是 live 环境自带的,新安装的 Arch 系统里没有 vim)
安装后,我在输出文本的末尾几行看到了错误和警告。
询问 DeepSeek 得知所有警告源于虚拟控制台键盘映射与字体的配置文件 /etc/vconsole.conf 不存在,DeepSeek 说这是正常的,继续下一步即可。
我半信半疑,在网上搜索后发现有人遇到了同样的问题(Arch Linux 中文论坛相关讨论),问题时间在 2025 年 11 月,距离现在竟然还不到 4 个月。看到有网友说不影响使用才放心。(这个论坛相对活跃,论坛里有很多好心的大佬帮助解决问题,作者在此注册了账号)