Grub2

在 legacy 模式下安裝了 GRUB,如何在 EFI 模式下重新安裝它?

  • July 26, 2016

我最近在我的 Win 10 機器上安裝了 Kali。在 EFI 中贏得 10 個靴子。我不知道怎麼做,但我設法以傳統模式安裝了 grub。現在,我總是必須在 BIOS 中的 legacy 和 EFI 之間切換,這取決於我是想啟動到 Win 10 還是進入 Kali。有沒有辦法將 GRUB 重新安裝到 EFI 分區並使其全部工作,以便 GRUB 將啟動 Win 10 和 Kali?

您必須以 EFI 模式啟動 Linux 才能訪問 EFI 變數和使用能力,efibootmgr以便您可以切換到 grub。本指南可能會有一些用處

我將使用的程序如下:

  1. efibootmgr在引導到 Linux 時安裝。
  2. 在 EFI 模式下啟動到啟用 EFI 的 Linux livecd 。任何人都會這樣做。
  3. 通過檢查是否存在/sys/firmware/efi/efivars. 如果我不在 EFI 模式下,則它不存在。
  4. 為主發行版選擇一個掛載點。我將/mnt/target用作範例。
  5. 我會跑mount /dev/<root partition> /mnt/target, mount -t proc proc /mnt/target/proc, mount -t sysfs sysfs /mnt/target/sys,mount -o bind /dev /mnt/target/devmount -t tmpfs tmpfs /mnt/target/run. 如果需要,我還會確保從我的安裝中掛載其他分區,包括/boot,並/mnt/target/boot/efi在創建該目錄後將 EFI 分區(通常是第一個分區)掛載到。
  6. 我現在已經設置了我的環境。chroot /mnt/target.
  7. grub2-install --efi-directory=/boot/efi在 chroot 中執行。
  8. efibootmgr -c -d /dev/<disk> -p Y -l \EFI\grub\bootx64.efi" -L "GRUB"如果 grub2-install 沒有為您執行此操作,請執行類似的操作。您需要確保 bootx64.efi 文件的路徑是 GRUB2 的 EFI 文件/boot/efi
  9. 退出 chroot,以您安裝的相反順序解除安裝所有內容,然後重新啟動。
  10. 它現在應該預設啟動到 GRUB2。

引用自:https://unix.stackexchange.com/questions/298267