重装 Windows 10 后修复 Linux 的 EFI 引导

.

.

.

.

.

重装Win10后,原先 Linux 的 efi 引导被 win10 替换掉了,所以需要修复回来。

LZ 的 Linux 是 Fedora 34,所以通过U盘的 Live CD 启动.

1.首先通过 fdisk 查看 efi 分区所在的磁盘。

>$ sudo fdisk -l
Disk /dev/sdb: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRX-22D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 81921D83-5F46-440C-A8AE-0E7659E3C5BA

Device          Start        End    Sectors  Size Type
/dev/sdb1        2048    2099199    2097152    1G EFI System
/dev/sdb2  1048578048 3890219007 2841640960  1.3T Linux filesystem
/dev/sdb3  3890219008 3907028991   16809984    8G Linux swap
/dev/sdb4     2099200    6293503    4194304    2G Linux filesystem
/dev/sdb5     6293504 1048578047 1042284544  497G Linux filesystem

由此可知,我的 efi 分区是 sdb1,那么使用 efibootmgr 命令修复该分区即可。

>$ sudo efibootmgr -c -d /dev/sdb -p 1 -L Fedora -l "\EFI\fedora\grubx64.efi"

参数解释:

-d: 指定 efi 所在的磁盘;

-p: efi 所在的分区号码;我的 EFI 分区是 /dev/sdb1,因此分区号是 1;

-L: 启动时候我们看到的 EFI 菜单名字;

-l: 引导程序所在路径;由于我的引导程序在 /dev/sdb1/EFI/fedora/grubx64.efi,因此我这里指定为 "\EFI\fedora\grubx64.efi",你要根据自己的情况加以修改;

 

命令执行成功后重启,再进入 BIOS 设置,应该就可以看到 Linux  的 EFI 信息了。

 

参考文献:

EFI 启动项修复记录

posted on 2021-08-15 15:26  0xCAFEBABE  阅读(1012)  评论(0编辑  收藏  举报

导航