.
.
.
.
.
重装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 "EFIfedoragrubx64.efi"
参数解释:
-d: 指定 efi 所在的磁盘;
-p: efi 所在的分区号码;我的 EFI 分区是 /dev/sdb1,因此分区号是 1;
-L: 启动时候我们看到的 EFI 菜单名字;
-l: 引导程序所在路径;由于我的引导程序在 /dev/sdb1/EFI/fedora/grubx64.efi,因此我这里指定为 "EFIfedoragrubx64.efi",你要根据自己的情况加以修改;
命令执行成功后重启,再进入 BIOS 设置,应该就可以看到 Linux 的 EFI 信息了。
参考文献: