Skip to content

arch guide troubleshooting

ES edited this page Jul 16, 2026 · 1 revision

Arch Linux 安装与引导排错

先阅读安装指南双系统指南。不要在未确认分区的情况下直接执行修复命令

从 Live ISO 进入已安装系统

先识别真实布局:

lsblk -f
blkid

ext4 根分区示例:

mount /dev/<Arch根分区> /mnt
mount /dev/<ESP> /mnt/boot
arch-chroot /mnt

Btrfs 默认子卷示例:

mount -o subvol=@ /dev/<Arch根分区> /mnt
mkdir -p /mnt/home /mnt/boot
mount -o subvol=@home /dev/<Arch根分区> /mnt/home
mount /dev/<ESP> /mnt/boot
arch-chroot /mnt

子卷名不是固定标准。挂载失败时先运行:

mount /dev/<Arch根分区> /mnt
btrfs subvolume list /mnt
umount /mnt

找不到任何启动项

在 chroot 中检查:

test -d /sys/firmware/efi && echo UEFI
findmnt /boot
ls -R /boot/EFI | head -80
efibootmgr -v

如果 Live ISO 以 Legacy 模式启动,efibootmgr 无法正确创建 UEFI 启动项。应重新以 UEFI 模式启动 U 盘再修复

GRUB 修复:

pacman -S --needed grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch
grub-mkconfig -o /boot/grub/grub.cfg

固件丢弃 NVRAM 启动项时才增加:

grub-install --target=x86_64-efi --efi-directory=/boot --removable

GRUB 只有 Windows,没有 Arch

先确认内核和 initramfs 存在:

ls -lh /boot/vmlinuz-* /boot/initramfs-*.img
ls -l /etc/grub.d/10_linux

如果 /etc/grub.d/10_linux 没有执行权限,恢复后重新生成菜单:

chmod +x /etc/grub.d/10_linux
grub-mkconfig -o /boot/grub/grub.cfg

该现象曾与 archinstall 的 UKI/GRUB 组合有关,参见 archinstall#4097。新版本可能已改变行为,所以必须先检查现状,不能无条件执行 chmod

如果 initramfs 不存在或生成失败:

mkinitcpio -P

GRUB 没有 Windows

依次检查:

test -f /boot/EFI/Microsoft/Boot/bootmgfw.efi && echo 'Windows EFI found'
grep '^GRUB_DISABLE_OS_PROBER' /etc/default/grub
os-prober

确保 /etc/default/grub 包含:

GRUB_DISABLE_OS_PROBER=false

再生成配置:

grub-mkconfig -o /boot/grub/grub.cfg

如果 ESP 根本没有 Microsoft 目录,先确认挂载的是正确 ESP,不要凭空创建 Windows 启动文件

ESP 空间不足

典型症状:

  • mkinitcpio -PNo space left on device
  • 内核升级失败
  • initramfs 缺失或大小异常

先取证:

df -h /boot
du -h -d 3 /boot | sort -h | tail -30
ls -lh /boot

不要删除 /boot/EFI/Microsoft。可以按实际情况处理旧内核、孤立 initramfs 或不需要的 fallback preset;删除前先确认对应软件包和当前启动方式

重新生成前确认至少有足够空间:

mkinitcpio -P

长期方案是扩大 ESP 或采用不会把全部内核产物塞进小型共享 ESP 的布局,而不是每次升级都手动清文件

Windows 蓝屏或 NTFS 无法挂载

从 Linux 缩小 NTFS 后出现 UNMOUNTABLE_BOOT_VOLUME,应优先使用 Windows 安装/恢复环境运行:

chkdsk C: /f

Arch Live 中的 ntfsfix 只能修复部分基础问题,并会安排 Windows 下次启动检查,不能替代 chkdsk

ntfsfix /dev/<Windows分区>

如果只是提示 hibernated/unsafe state:

  1. 回到 Windows
  2. 关闭快速启动
  3. 执行完整关机
  4. 再回 Arch 挂载

不要用 remove_hiberfile 强行修改仍需恢复的 Windows 会话

安装器失败

archinstall 日志位于:

/var/log/archinstall/install.log

保留失败现场并先复制日志:

archinstall share-log

公开日志前检查主机名、用户名、磁盘标识和网络信息。凭据配置不应上传

常见分类:

阶段 优先检查
下载软件包失败 网络、时间、镜像状态
分区失败 设备是否被挂载、NTFS 是否休眠、分区表是否损坏
引导安装失败 UEFI 启动模式、ESP 挂载点、ESP 空间
首次登录失败 普通用户是否创建、显示管理器、显卡驱动

Niri 首次启动黑屏

Niri 是合成器而不是完整桌面环境。先切换 TTY,检查用户 session:

systemctl --user status niri.service
journalctl --user -b -u niri.service --no-pager
journalctl -b -p warning..alert --no-pager

确认基础 profile 安装的终端和启动器存在:

command -v niri alacritty fuzzel

安装 dotfiles 后,Niri 的组件分工和快捷键见 Niri 使用指南

排错原则

  1. 先保存 lsblkfindmntefibootmgr 和日志输出
  2. 明确当前是 Live ISO 还是 chroot
  3. 明确 /boot 指向哪个分区
  4. 一次只改一个变量,改后立即验证
  5. 不执行来源不明的批量删除、格式化或重装命令

参考

Clone this wiki locally