当前位置:首页 > 行业动态 > 正文

无法通过GRUB进入Linux系统时该如何修复引导问题?

使用Live USB启动系统,挂载Linux根分区并执行chroot,运行grub-install重装引导程序,最后更新grub配置并重启,确保分区路径正确,适用于MBR/GPT引导方式,修复后即可正常进入系统。

当GRUB损坏导致无法进入Linux系统时,可以通过以下步骤修复启动引导程序,恢复系统正常启动。


准备工作

  1. 获取Linux Live USB
    准备一个与当前系统版本一致的Linux Live USB启动盘(如Ubuntu、Debian等),可通过其他设备下载ISO镜像并使用工具(如Rufus、Ventoy)制作。

  2. 进入Live环境
    插入Live USB,重启电脑并进入BIOS/UEFI界面,设置从UEFI/USB设备启动,进入Live系统的“试用模式”(Try without installing)。


挂载Linux系统分区

  1. 查看磁盘分区
    打开终端,输入以下命令查看分区信息:

    sudo fdisk -l

    找到Linux系统的根分区(通常为/dev/sdX格式,如/dev/sda1)和EFI系统分区(如有UEFI启动,通常为/dev/sdX1,格式为FAT32)。

  2. 挂载根分区
    依次执行以下命令(假设根分区为/dev/sda1,EFI分区为/dev/sda2):

    sudo mount /dev/sda1 /mnt          # 挂载根分区
    sudo mount /dev/sda2 /mnt/boot/efi # 仅UEFI模式需要
  3. 挂载必要目录

    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys

切换至原系统环境(chroot)

sudo chroot /mnt

此时终端将进入原系统的根环境,可直接操作原系统文件。


重新安装GRUB

  1. 修复GRUB(BIOS模式)
    如果使用传统BIOS启动,执行:

    grub-install /dev/sda      # sda为系统磁盘,非分区
    update-grub                # 生成配置文件
  2. 修复GRUB(UEFI模式)
    如果使用UEFI启动,需确保efibootmgr已安装,然后执行:

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu
    update-grub

验证与退出

  1. 检查是否成功
    若未报错,表示GRUB已修复,输入exit退出chroot环境,然后卸载分区:

    exit
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    sudo umount /mnt
  2. 重启系统

    sudo reboot

    移除Live USB,系统应正常进入GRUB界面。


常见问题排查

  • GRUB安装报错
    检查是否挂载了正确的分区,或尝试手动指定引导目录:

    grub-install --boot-directory=/boot /dev/sda
  • 配置文件丢失
    /boot/grub/grub.cfg损坏,可通过以下命令重建:

    grub-mkconfig -o /boot/grub/grub.cfg
  • UEFI启动项丢失
    进入BIOS/UEFI界面,手动添加启动项指向EFI/ubuntu/grubx64.efi(路径可能因发行版而异)。


注意事项

  • 备份数据:操作前建议备份重要文件,避免误操作导致数据丢失。
  • 分区标识符:务必根据fdisk -l结果替换命令中的/dev/sdX
  • 双系统用户:Windows更新可能覆盖GRUB,修复后可考虑使用os-prober重新扫描系统。

引用说明
本文参考了GRUB官方文档及Ubuntu社区Wiki。

0