【Windows10+Ubuntu双系统-误删Linux系统EFI分区无法引导Linux系统恢复教程】

步骤 1: 启动到 Live 环境

  1. 插入U盘驱动器

DELL戴尔电脑可以点击F12引导

  1. 选择 “Try Ubuntu” 以进入 Live 环境,而不是直接安装。

步骤 2: 创建 EFI 分区

  1. 打开终端

    Ctrl + Alt + T
    
  2. 使用 gdisk 创建新的 EFI 分区

    首先,找到硬盘设备名(如 /dev/nvme0n1):

    sudo lsblk
    

    确定设备名后,运行 gdisk 来编辑分区表:

    sudo gdisk /dev/nvme0n1
    
  3. gdisk 中创建分区

    gdisk 中,按照以下步骤来创建新的 EFI 分区:

    • n 键创建新分区。
    • 输入分区号(一般默认。如果不确定,可以查看当前分区号,然后选择下一个可用的)。
    • 输入起始扇区(可以按回车键使用默认值)。
    • 输入大小,例如 +1GB 以创建一个 1GB 的分区。
    • 输入分区类型代码,选择 ef00 作为 EFI 分区的代码。
    • 输入 w 保存更改并退出 gdisk
      在这里插入图片描述
      博主创建的是nvme0n1p8分区
      在这里插入图片描述
  4. 格式化 EFI 分区

    格式化新创建的 EFI 分区为 FAT32 文件系统:

    sudo mkfs.fat -F32 /dev/nvme0n1p8
    

    (请将 /dev/nvme0n1p8 替换为实际的 EFI 分区名。)
    在这里插入图片描述

步骤 3: 挂载和修复引导

3.1 挂载

  1. 挂载系统分区

    挂载根目录分区(博主的是/dev/nvme0n1p7):

    sudo mount /dev/nvme0n1p7 /mnt
    

    在这里插入图片描述

  2. 挂载新建的 EFI 分区

    创建 boot/efi 目录并挂载 EFI 分区:

    sudo mkdir -p /mnt/boot/efi
    sudo mount /dev/nvme0n1p8 /mnt/boot/efi
    

    在这里插入图片描述

3.2 修复引导

  1. 绑定系统目录

    将系统目录绑定到 mnt

    for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
    

    在这里插入图片描述

  2. 进入 chroot 环境

    进入 chroot 环境:

    sudo chroot /mnt
    

    在这里插入图片描述

  3. 安装并配置 GRUB

    安装 GRUB 到EFI分区:

    grub-install /dev/nvme0n1p8
    update-grub
    

    在这里插入图片描述

    这会在新的 EFI 分区中安装 GRUB 引导程序。

步骤 4: 修改/etc/fstab 文件

在修复或重建 EFI 分区的过程中,有时候需要检查和修改 /etc/fstab 文件,以确保系统启动时能够正确挂载所有需要的分区。

4.1 什么时候需要修改 /etc/fstab

  1. EFI 分区 UUID 改变:如果重建或格式化了 EFI 分区,它的 UUID 会发生改变。在这种情况下,需要更新 /etc/fstab 以匹配新 UUID。

  2. 挂载点改变:如果更改分区的挂载点(虽然这种情况较少见),也需要在 /etc/fstab 中进行相应修改。

4.2 修改 /etc/fstab

  1. 获取新 UUID

    运行以下命令以获取分区的当前 UUID:

    lsblk -f
    

    在这里插入图片描述
    找到新创建的 EFI 分区的 UUID(前面的是 /dev/nvme0n1p8),并记下它。
    博主刚刚创建的EFI分区的UUID是E973-E650

  2. 备份 /etc/fstab

    在对文件进行任何更改之前,先备份:

    sudo cp /etc/fstab /etc/fstab.backup
    
  3. 编辑 /etc/fstab

    使用文本编辑器打开 /etc/fstab

    sudo nano /etc/fstab
    

    找到 EFI 分区对应的条目,通常类似于:

    UUID=旧的UUID /boot/efi vfat defaults 0 1
    

    这里的1D91-7A88就是旧的UUID
    在这里插入图片描述

    旧的UUID 替换为在 lsblk -f 中找到的新 UUID。
    在这里插入图片描述

  4. 保存更改并退出

    • nano 中按 Ctrl + O 保存文件,然后按 Enter
    • Ctrl + X 退出编辑器。

步骤 5: 重启系统

  1. 退出 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
    
  2. 重启系统

    移除U盘启动器,然后重启系统:

    sudo reboot
    

完成这些步骤后,系统应能正常引导至 Ubuntu。

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ztiddler

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值