不少用户在安装 Arch Linux 时,过程看似一切顺利,但重启后却遭遇黑屏,连引导界面都无法出现。这类故障绝大多数源于 systemd-boot 安装环节的失误,而根本原因往往与 UEFI 模式配置不当密切相关。

确认 UEFI 环境:务必验证 /sys/firmware/efi/efivars 是否存在
如何判断当前是否为 UEFI 模式?只需运行一条命令:ls /sys/firmware/efi/efivars。如果能够看到文件列表,说明你处于 UEFI 环境下;若提示“No such file or directory”,则表明仍在传统 BIOS/Legacy 模式下。这一步不能省略——许多遇到“重启后黑屏”的案例,实际上从未进入正确的 UEFI 环境。此时需要进入主板 BIOS 设置,关闭 CSM(Compatibility Support Module),并确保引导设备前带有“UEFI:”前缀,例如选择 UEFI: SanDisk Cruzer 而非 SanDisk Cruzer。
使用 cfdisk 分区时,EFI 分区类型必须设置为 EF00 并挂载到 /mnt/boot
bootctl 安装引导程序时,只识别挂载在 /boot 下的 FAT32 分区,不支持 /boot/efi 这样的路径。因此,即便你打算与 Windows 共用 ESP 分区,也需要重新挂载或通过软链接处理。具体操作:先执行 cfdisk /dev/nvme0n1(根据实际情况替换盘符),创建两个分区——第一个大小为 512MB,类型选择 EFI System(十六进制代码对应 EF00);第二个占据剩余空间,类型保持默认的 Linux filesystem。随后格式化 EFI 分区:mkfs.fat -F32 /dev/nvme0n1p1。注意避免使用 mkfs.vfat,因为它不一定能保证生成 FAT32 格式。最后挂载顺序必须正确:先挂载根分区,再创建 /boot 目录,最后挂载 EFI 分区。
pacstrap 命令必须添加 -K 参数,否则密钥环初始化会失败
自 2024 年起,Arch Linux 强制校验所有软件包的签名。如果执行 pacstrap /mnt base 时未加 -K 参数,几乎必然会遇到错误“error: required key missing from keyring”,导致安装中断。推荐使用以下命令:pacstrap -K /mnt base linux linux-firmware vim sudo networkmanager。其中 networkmanager 是必备组件,因为进入 chroot 环境后若没有网络管理器,后续的 locale 配置、bootctl 安装等操作将无法联网完成。linux-firmware 也不可省略,某些 Intel 或 AMD 硬件缺少固件时,连 tty 都无法进入,直接导致黑屏。
arch-chroot 后遗漏 fstab 或时区配置,会导致重启后直接 fallback 到 initramfs shell
常见错误包括开机卡在“dracut-initqueue timeout”或“Failed to start default target”,根本原因是 root 分区未能被正确识别或挂载。要避免这类问题,三个关键步骤缺一不可:首先,运行 genfstab -U /mnt >> /mnt/etc/fstab,然后手动检查生成的 fstab 文件,确认其中包含 / 和 /boot 两条有效挂载项,并且 UUID 与 lsblk -f 输出的结果一致。接着,设置时区并同步硬件时钟:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime,再执行 hwclock --systohc。最后,配置 locale:echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen,否则 bootctl install 可能因 locale 问题静默失败。容易忽略的一点是:ESP 分区在 fstab 中必须声明为 vfat 类型,不能写成 auto 或留空;根分区类型也要与格式化时保持一致,ext4 就写 ext4,btrfs 就写 btrfs。
