Linux Mint 修复引导

适用场景:Linux Mint(或其他基于 Ubuntu/Debian 的发行版)因引导器损坏、Windows 更新覆盖引导、误删 EFI 文件而无法开机。你会学到从 Live 环境挂载分区、chroot、重装 GRUB 的标准流程,以及用 Boot-Repair 工具自动修复的简易方案。

核心思路

  1. 启动 Live 环境:从一个可启动的 U 盘或光盘进入一个临时的 Linux 系统。
  2. 挂载系统分区:将你硬盘上损坏的 Linux 系统的根分区(/)和其他必要分区(如 /boot/efi)挂载到 Live 环境中。
  3. Chroot:将 Live 环境的根目录"切换"到你硬盘上的系统根目录,这样后续的命令就好像是在你自己的系统里执行一样。
  4. 修复 GRUB:在 chroot 环境中,重新安装和配置 GRUB。
  5. 清理并重启:退出 chroot,卸载分区,然后重启电脑。

准备工作

你需要一个 Linux Live CD 或 USB。推荐使用Ubuntu的安装盘,因为它工具齐全,用户量大,方便查找资料。

步骤一:从 Live CD/USB 启动

  1. 将制作好的 Live U 盘插入电脑。
  2. 开机并进入 BIOS/UEFI 设置,选择从 U 盘启动。
  3. 选择 “Try Ubuntu” (或类似的 “Live” 选项),进入桌面环境。

步骤二:确定并挂载分区

  1. 打开一个终端(Terminal)。
  2. 找出你的 Linux 系统安装在哪个分区。使用 lsblksudo fdisk -l 命令查看。
sudo lsblk

你可能会看到类似这样的输出:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 238.5G  0 disk 
├─sda1        8:1    0   512M  0 part  /boot/efi  <-- EFI分区 (如果是UEFI模式)
├─sda2        8:2    0     1K  0 part 
└─sda5        8:5    0   238G  0 part  /          <-- Linux根分区
sdb           8:16   1  14.9G  0 disk 
└─sdb1        8:17   1  14.9G  0 part /cdrom

在这个例子中,Linux 根分区是 /dev/sda5,EFI 分区是 /dev/sda1请根据你自己的实际情况替换设备名。

步骤三:挂载系统(分两种情况)

情况 A:UEFI 模式

如果你的系统是 UEFI 模式(有 EFI 分区),执行以下命令:

  1. 挂载根分区 (/)
# 将 /dev/sda5 替换成你的根分区
sudo mount /dev/sda5 /mnt 
  1. 挂载 EFI 分区 (/boot/efi)
# 将 /dev/sda1 替换成你的EFI分区
sudo mount /dev/sda1 /mnt/boot/efi
  1. 绑定系统运行所需目录
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /dev/pts /mnt/dev/pts

情况 B:Legacy BIOS 模式

如果你的系统是传统的 Legacy BIOS 模式(没有单独的 EFI 分区),步骤会简单一些:

  1. 挂载根分区 (/)
# 将 /dev/sda5 替换成你的根分区
sudo mount /dev/sda5 /mnt

如果你的 /boot 是一个独立分区(例如 /dev/sda1),那么也需要挂载它:

# sudo mount /dev/sda1 /mnt/boot
  1. 绑定系统运行所需目录
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

步骤四:Chroot 并修复 GRUB

  1. 进入 Chroot 环境
sudo chroot /mnt

执行后,你的终端提示符可能会改变,现在你所有的命令都将在你硬盘上的系统中执行。

  1. 重新安装 GRUB(再次分两种情况)

情况 A:UEFI 模式

# 确认 /boot/efi 目录存在且有内容
ls /boot/efi 

# 重新安装GRUB到EFI分区
# <distro_name> 通常是 ubuntu, debian, arch 等,它会在EFI启动项里创建一个同名文件夹
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu

情况 B:Legacy BIOS 模式

# 将GRUB安装到硬盘的主引导记录(MBR)
# 注意:这里是整个硬盘设备名 (如 /dev/sda),而不是分区名 (如 /dev/sda5)
grub-install /dev/sda
  1. 更新 GRUB 配置文件

无论哪种模式,最后都需要运行这个命令来生成 grub.cfg 文件,它会扫描你系统里安装的内核和其他操作系统(如 Windows)。

update-grub

或者使用完整命令:

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

步骤五:清理并重启

  1. 退出 Chroot 环境
exit
  1. 卸载所有分区

按挂载的相反顺序卸载,非常重要!

# 如果是UEFI模式,先卸载这个
sudo umount /mnt/boot/efi

# 卸载其他绑定的目录
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys

# 最后卸载根分区
sudo umount /mnt
  1. 重启电脑
reboot

重启前记得拔掉 Live U 盘。你的电脑现在应该能正常显示 GRUB 菜单并启动了。

简易方案:使用 Boot-Repair 工具

如果你觉得手动操作太复杂,可以使用一个名为 Boot-Repair 的图形化工具,它能自动完成大部分修复工作。

  1. 同样从 Ubuntu Live CD/USB 启动并连接到互联网。
  2. 打开终端,输入以下命令来安装 Boot-Repair
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
  1. 启动 Boot-Repair
boot-repair
  1. 打开后,它会扫描你的系统。通常你只需要点击 “Recommended repair”(推荐修复) 按钮,然后等待它完成即可。
  2. 完成后,按照提示重启电脑。

这个工具非常适合新手,成功率也很高。

验证与自查

  1. ls /boot/efi/EFI 能看到 ubuntu(或对应发行版名)目录,且其中有 grubx64.efi
  2. sudo efibootmgr 输出中存在对应发行版的引导项(UEFI 模式)
  3. update-grub 输出包含 Found linux image 以及 Found Windows Boot Manager(若有 Windows)
  4. 重启后 GRUB 菜单正常显示,可正常进入 Linux

参考