.
.
.
.
.
重裝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 信息了。
參考文獻:
