不同的 EFI 和 Windows 雙引導
我有一個 4 磁碟設置:
- 240GB NVMe SSD (
/dev/sdd
)- 120GB SATA3 固態硬碟 (
/dev/sdc
)- 2TB硬碟
- 3TB 硬碟
我安裝
/dev/sdd
了 240GB NVMe SSD 的 Windows。安裝 Arch 幾次後,我終於讓它工作並啟動,發現我創建了兩個EFI 分區:一個在/dev/sdc1
(120GB SSD)上,另一個(Windows 在安裝過程中創建)在/dev/sdd1
(NVMe)上。現在我想將 GRUB 從 Sata SSD 上的 500MiB EFI 移動到 NVMe 驅動器,我成功完成了,但是 Windows 無法辨識並且執行
ls /EFI/EFI/Microsoft/boot
我得到文件或目錄不正確,可能是因為ls /EFI/EFI
報告沒有 Microsoft 文件夾,這可能是由於 Arch 正在 /EFI 中安裝/引導 Sata SSD 中的 EFI 分區引起的,儘管我在啟動時從引導菜單中的 WD240G(NVMe 驅動器)上安裝的 GRUB 引導。因此,Arch 確實通過 GRUB 工作,Windows 確實可以選擇他自己的引導管理器,但是 GRUB 不引導 Windows,並且 Arch 在他的 EFI 中沒有 Windows 文件夾或文件,現在應該與 Windows EFI 相同,但似乎不是,儘管我表演了:
umount /EFI
mount /dev/sdd1 /EFI
grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
- 為什麼我仍然無法從 Windows EFI GRUB 引導 Windows?
- 為什麼 Arch 在其 EFI 中看不到 Windows?
- 我是否必須格式化/刪除
/dev/sdc1
在 Arch 安裝期間創建的 EFI 分區,或者我是否必須在我知道如何執行此操作後以正確的設置重新安裝 Arch 最後一次安裝/dev/sdd1
而不是/dev/sdc1
in/EFI
?
如果兩個磁碟上都有作業系統,則不要合併 EFI 系統分區,只需將它們分開即可。這也使兩個磁碟都可以獨立啟動。
您想要的是讓 GRUB 檢測其他磁碟上的作業系統。為此,請安裝
os-prober
軟體包並重新執行grub-mkconfig
.您還可以保留現有的 UEFI 菜單條目,這樣您就可以隨時單獨啟動它們(如果您選擇的話)。
在 Arch 中以 root 身份執行“efibootmgr -v”。輸出描述了儲存在系統 NVRAM 中的引導資訊。請注意,它使用每個 GPT 樣式分區唯一的 UUID 標識每個已安裝的引導載入程序應該載入的分區。
在您更改此資訊之前,UEFI 韌體仍將在
/dev/sdc
磁碟的 ESP 分區上查找 GRUB。只需將一個 ESP 分區的內容添加到另一個分區不會改變任何內容。閱讀
efibootmgr
手冊頁以了解如何更改 NVRAM 引導設置。efibootmgr -v
如果您需要更多幫助來確定必要的efibootmgr
命令,或者發布輸出。