【Windows10+Ubuntu双系统-误删Linux系统EFI分区无法引导Linux系统恢复教程】
步骤 1: 启动到 Live 环境
- 插入U盘驱动器
DELL戴尔电脑可以点击F12引导
- 选择 “Try Ubuntu” 以进入 Live 环境,而不是直接安装。
步骤 2: 创建 EFI 分区
-
打开终端
Ctrl + Alt + T
-
使用
gdisk
创建新的 EFI 分区首先,找到硬盘设备名(如
/dev/nvme0n1
):sudo lsblk
确定设备名后,运行
gdisk
来编辑分区表:sudo gdisk /dev/nvme0n1
-
在
gdisk
中创建分区在
gdisk
中,按照以下步骤来创建新的 EFI 分区:- 按
n
键创建新分区。 - 输入分区号(一般默认。如果不确定,可以查看当前分区号,然后选择下一个可用的)。
- 输入起始扇区(可以按回车键使用默认值)。
- 输入大小,例如
+1GB
以创建一个 1GB 的分区。 - 输入分区类型代码,选择
ef00
作为 EFI 分区的代码。 - 输入
w
保存更改并退出gdisk
。
博主创建的是nvme0n1p8分区
- 按
-
格式化 EFI 分区
格式化新创建的 EFI 分区为 FAT32 文件系统:
sudo mkfs.fat -F32 /dev/nvme0n1p8
(请将
/dev/nvme0n1p8
替换为实际的 EFI 分区名。)
步骤 3: 挂载和修复引导
3.1 挂载
-
挂载系统分区
挂载根目录分区(博主的是
/dev/nvme0n1p7
):sudo mount /dev/nvme0n1p7 /mnt
-
挂载新建的 EFI 分区
创建
boot/efi
目录并挂载 EFI 分区:sudo mkdir -p /mnt/boot/efi sudo mount /dev/nvme0n1p8 /mnt/boot/efi
3.2 修复引导
-
绑定系统目录
将系统目录绑定到
mnt
:for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
-
进入
chroot
环境进入
chroot
环境:sudo chroot /mnt
-
安装并配置 GRUB
安装 GRUB 到EFI分区:
grub-install /dev/nvme0n1p8 update-grub
这会在新的 EFI 分区中安装 GRUB 引导程序。
步骤 4: 修改/etc/fstab
文件
在修复或重建 EFI 分区的过程中,有时候需要检查和修改 /etc/fstab
文件,以确保系统启动时能够正确挂载所有需要的分区。
4.1 什么时候需要修改 /etc/fstab
-
EFI 分区 UUID 改变:如果重建或格式化了 EFI 分区,它的 UUID 会发生改变。在这种情况下,需要更新
/etc/fstab
以匹配新 UUID。 -
挂载点改变:如果更改分区的挂载点(虽然这种情况较少见),也需要在
/etc/fstab
中进行相应修改。
4.2 修改 /etc/fstab
-
获取新 UUID
运行以下命令以获取分区的当前 UUID:
lsblk -f
找到新创建的 EFI 分区的 UUID(前面的是/dev/nvme0n1p8
),并记下它。
博主刚刚创建的EFI分区的UUID是E973-E650
-
备份
/etc/fstab
在对文件进行任何更改之前,先备份:
sudo cp /etc/fstab /etc/fstab.backup
-
编辑
/etc/fstab
使用文本编辑器打开
/etc/fstab
:sudo nano /etc/fstab
找到 EFI 分区对应的条目,通常类似于:
UUID=旧的UUID /boot/efi vfat defaults 0 1
这里的
1D91-7A88
就是旧的UUID
将
旧的UUID
替换为在lsblk -f
中找到的新 UUID。
-
保存更改并退出
- 在
nano
中按Ctrl + O
保存文件,然后按Enter
。 - 按
Ctrl + X
退出编辑器。
- 在
步骤 5: 重启系统
-
退出
chroot
并卸载退出
chroot
环境:exit
卸载分区:
for i in /run /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done sudo umount /mnt/boot/efi sudo umount /mnt
-
重启系统
移除U盘启动器,然后重启系统:
sudo reboot
完成这些步骤后,系统应能正常引导至 Ubuntu。