写在前面: Arch Linux 的手动安装过程是理解 Linux 发行版构成(Kernel, Userland, Bootloader)的绝佳实践。 本文基于实战环境(GNOME Boxes / ISO),记录了从裸金属环境到最小化可用系统的完整构建流程。


🟢 Phase 1:环境初始化 (Infrastructure)

在开始触碰磁盘之前,我们需要确保“救援环境”本身是健康且网络通畅的。

1. 网络连通性检查

拿到一台新服务器或排查故障时,第一件事永远是检查网络。

ping -c 3 baidu.com

结果分析:

  • 正常:显示 64 bytes from ...,说明 DNS 解析正常,网卡已获取 IP。
  • 异常:显示 Temporary failure in name resolution,通常意味着 DNS 解析失败或网卡未启动。

💡 Troubleshooting: 如果网络不通,在 Arch ISO 环境下可尝试手动启动网络管理器: systemctl start NetworkManager

2. 磁盘分区规划

核心工具lsblk (查看), cfdisk (图形化分区)。

Step 1: 检查磁盘状态

lsblk

在操作前,务必确认硬盘设备名(如 /dev/vda/dev/sda),防止误格盘。此时应该看到一个干净的 disk 设备,没有任何 part 分支。

Step 2: 执行分区 (GPT 方案)

采用现代服务器标准的 GPT 分区表(配合 UEFI 启动)。

cfdisk /dev/vda

分区方案如下:

分区 容量 类型 作用
vda1 512M EFI System 引导区。存放 GRUB 和内核镜像,UEFI 固件只认它。
vda2 2G Linux swap 交换分区。防止内存溢出 (OOM) 导致系统崩溃。
vda3 剩余 Linux filesystem 根分区 (/)。存放系统文件与用户数据。

⚠️ 注意:操作完成后,务必选择 [ Write ] 并输入 yes 写入更改,否则一切操作仅停留在内存中。

Step 3: 格式化与挂载

有了“分区”,还需要“文件系统”。

# 1. 引导分区 -> 必须 FAT32 (UEFI 规范强制要求)
mkfs.fat -F32 /dev/vda1

# 2. 交换分区 -> 初始化并启用
mkswap /dev/vda2
swapon /dev/vda2

# 3. 根分区 -> 使用 EXT4 (最稳健的 Linux 文件系统)
mkfs.ext4 /dev/vda3

挂载顺序: 必须遵循 先根后子 的顺序。

mount /dev/vda3 /mnt          # 1. 先挂根目录
mkdir /mnt/boot               # 2. 再建挂载点
mount /dev/vda1 /mnt/boot     # 3. 最后挂引导分区

🟡 Phase 2:核心系统构建 (System Build)

3. 镜像源优化

默认的源在海外,速度可能极慢。为了保证生产效率,需要配置国内镜像。

编辑 /etc/pacman.d/mirrorlist,将以下源置顶:

Server = [https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch](https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch)
Server = [https://mirrors.aliyun.com/archlinux/$repo/os/$arch](https://mirrors.aliyun.com/archlinux/$repo/os/$arch)

修改后记得执行 pacman -Syy 强制刷新数据库。

4. 基础系统安装 (Pacstrap)

这是最关键的一步,需要向空硬盘中灌入操作系统的核心组件。

pacstrap -K /mnt base linux linux-firmware vim networkmanager sudo man-db

组件解析:

  • linux & firmware: 也就是 Kernel。没有 Firmware,网卡和显卡可能无法工作。
  • vim: 系统装好后,必须有编辑器来修改配置(运维的手术刀)。
  • networkmanager: 提供 nmcli,方便后续管理网络。

5. 生成 fstab 并切换环境

Fstab (File System Table) 告诉 Linux 内核开机时每个分区该挂载到哪里。如果不生成,重启后系统将找不到硬盘。

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

检查点:执行 cat /mnt/etc/fstab,确保能够看到 UUID=... / ext4UUID=... /boot vfat 的记录。推荐使用 UUID 挂载,防止插拔硬盘导致盘符漂移。

最后,穿越进入新系统:

arch-chroot /mnt

🔵 Phase 3:系统核心配置 (Configuration)

进入 Chroot 环境后,相当于已经在了新系统内部。现在需要确立它的“身份”。

6. 身份与时区

# 1. 设置时区 (上海)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

# 2. 本地化设置
# 编辑 /etc/locale.gen 取消 en_US.UTF-8 和 zh_CN.UTF-8 的注释,然后执行:
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf

# 3. 设置主机名
echo "username@arch" > /etc/hostname

# 4. 设置 Root 密码
passwd

7. 引导程序安装 (GRUB)

这是决定电脑开机能否找到 Linux 的最后一步。

# 安装 GRUB 到 EFI 分区
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

# 生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg

验收标准: 看到 Found linux image: /boot/vmlinuz-linuxFound initrd image,说明 GRUB 成功扫描到了我们刚才安装的内核。


🏁 Phase 4:收尾与重启

恭喜,系统构建完成。现在我们需要优雅地退出。

  1. 退出 Chrootexit
  2. 卸载分区umount -R /mnt (确保数据完全写入磁盘)
  3. 重启reboot

拔掉安装介质,迎接你的全新 Arch Linux 吧!🐧