Arch Linux 启动引导修复

Arch Linux 启动引导修复

制作启动盘、进入并联网

参见 使用 ArchInstall 安装 Arch Linux 的“安装前准备”一节。

挂载分区、进入系统

  • 如果不了解你的硬盘分区,可以执行以下命令: #
    lsblk -o+LABEL,FSTYPE
  • 先挂载根目录所在的分区:
    • 非 BtrFS 分区 #
      mount /dev/[根分区] /mnt
    • 如果根分区使用 BtrFS,需要知道子卷名,如果没有子卷可以跳过此步
      • 可以通过先挂载 BtrFS,然后通过以下命令之一查看子卷名 #
        ls /mnt
        #
        btrfs subvolume list /[挂载点]
      • 随后解除 /mnt 的挂载并重新挂载对应的子卷 #
        umount /mnt
        #
        mount /dev/[根分区] -t btrfs -o subvol=[子卷名] /mnt
  • 随后挂载其他分区:
    • 挂载启动分区 #
      mount /dev/[启动分区] /mnt/boot
    • 查看先前的挂载方式,有助于你的回忆 #
      cat /mnt/etc/fstab
    • 如果回忆起有其他分区,请继续挂载
  • 可以将此时的挂载方式写入原系统: #
    genfstab -U /mnt > /mnt/etc/fstab
  • 随后就可以进入原系统了 #
    arch-chroot /mnt

修复一些可能导致无法进入的问题

  • 如果忘记 root 用户密码,可以执行以下命令: #
    passwd
  • 同时,还可以更新一下系统的软件包,说不定有用呢#
    pacman -Syyuu
    • 如果更新缓慢,可以换源
    #
    pacman -S reflector
    #
    reflector --verbose --country China --sort rate --save /etc/pacman.d/mirrorlist
    • 如果提醒无法锁定数据库,可以删除锁文件
    #
    rm /var/lib/pacman/db.lck
    • 如果提醒某文件已存在,可以强制覆盖
    #
    pacman -Syu --overwrite "*"

修复引导

  • 安装 Linux 包可以触发 mkinitcpio #
    pacman -S linux
  • 如果使用 systemd-boot,请执行以下命令 #
    bootctl install
    • 使用此命令检测 EFI 引导项和 Boot Loader 配置
    #
    bootctl list
    • 如果屏幕显示不全,可以使用交互模式,按 q 退出
    #
    bootctl
  • 如果使用 grub,请执行以下命令 #
    grub-install
    • 备用命令,也可以自行在网上搜索
    #
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub

重启

按 Ctrl-Alt-Delete 键。

更规范的方式是输入 exit 或按 Ctrl-D 键退出 chroot 环境,然后执行 reboot 命令重启。

写过的奇妙代码。

在延长今天和期待明天之间

评论区

评论加载中...