Linux Mint 修复引导
适用场景:Linux Mint(或其他基于 Ubuntu/Debian 的发行版)因引导器损坏、Windows 更新覆盖引导、误删 EFI 文件而无法开机。你会学到从 Live 环境挂载分区、chroot、重装 GRUB 的标准流程,以及用 Boot-Repair 工具自动修复的简易方案。
核心思路
- 启动 Live 环境:从一个可启动的 U 盘或光盘进入一个临时的 Linux 系统。
- 挂载系统分区:将你硬盘上损坏的 Linux 系统的根分区(
/)和其他必要分区(如/boot/efi)挂载到 Live 环境中。 - Chroot:将 Live 环境的根目录"切换"到你硬盘上的系统根目录,这样后续的命令就好像是在你自己的系统里执行一样。
- 修复 GRUB:在 chroot 环境中,重新安装和配置 GRUB。
- 清理并重启:退出 chroot,卸载分区,然后重启电脑。
准备工作
你需要一个 Linux Live CD 或 USB。推荐使用Ubuntu的安装盘,因为它工具齐全,用户量大,方便查找资料。
步骤一:从 Live CD/USB 启动
- 将制作好的 Live U 盘插入电脑。
- 开机并进入 BIOS/UEFI 设置,选择从 U 盘启动。
- 选择 “Try Ubuntu” (或类似的 “Live” 选项),进入桌面环境。
步骤二:确定并挂载分区
- 打开一个终端(Terminal)。
- 找出你的 Linux 系统安装在哪个分区。使用
lsblk或sudo 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 分区),执行以下命令:
- 挂载根分区 (/):
# 将 /dev/sda5 替换成你的根分区
sudo mount /dev/sda5 /mnt
- 挂载 EFI 分区 (/boot/efi):
# 将 /dev/sda1 替换成你的EFI分区
sudo mount /dev/sda1 /mnt/boot/efi
- 绑定系统运行所需目录:
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 分区),步骤会简单一些:
- 挂载根分区 (/):
# 将 /dev/sda5 替换成你的根分区
sudo mount /dev/sda5 /mnt
如果你的 /boot 是一个独立分区(例如 /dev/sda1),那么也需要挂载它:
# sudo mount /dev/sda1 /mnt/boot
- 绑定系统运行所需目录:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
步骤四:Chroot 并修复 GRUB
- 进入 Chroot 环境:
sudo chroot /mnt
执行后,你的终端提示符可能会改变,现在你所有的命令都将在你硬盘上的系统中执行。
- 重新安装 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
- 更新 GRUB 配置文件:
无论哪种模式,最后都需要运行这个命令来生成 grub.cfg 文件,它会扫描你系统里安装的内核和其他操作系统(如 Windows)。
update-grub
或者使用完整命令:
grub-mkconfig -o /boot/grub/grub.cfg
步骤五:清理并重启
- 退出 Chroot 环境:
exit
- 卸载所有分区:
按挂载的相反顺序卸载,非常重要!
# 如果是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
- 重启电脑:
reboot
重启前记得拔掉 Live U 盘。你的电脑现在应该能正常显示 GRUB 菜单并启动了。
简易方案:使用 Boot-Repair 工具
如果你觉得手动操作太复杂,可以使用一个名为 Boot-Repair 的图形化工具,它能自动完成大部分修复工作。
- 同样从 Ubuntu Live CD/USB 启动并连接到互联网。
- 打开终端,输入以下命令来安装
Boot-Repair:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
- 启动
Boot-Repair:
boot-repair
- 打开后,它会扫描你的系统。通常你只需要点击 “Recommended repair”(推荐修复) 按钮,然后等待它完成即可。
- 完成后,按照提示重启电脑。
这个工具非常适合新手,成功率也很高。
验证与自查
ls /boot/efi/EFI能看到ubuntu(或对应发行版名)目录,且其中有grubx64.efisudo efibootmgr输出中存在对应发行版的引导项(UEFI 模式)update-grub输出包含Found linux image以及Found Windows Boot Manager(若有 Windows)- 重启后 GRUB 菜单正常显示,可正常进入 Linux