作業系統啟動管理員取代 grub 運作(傳統啟動)

作業系統啟動管理員取代 grub 運作(傳統啟動)

我在筆記型電腦上安裝了Windows 7和Kali Linux,但是當我打開電腦時,它會自動啟動Windows。為了啟動 Kali,我必須進入啟動順序選單,然後選擇筆記型電腦硬碟啟動選項,然後它將開始使用 Kali 運行 grub。

另一個選項,即第一個執行的選項是作業系統啟動管理員,我認為它是 Windows 啟動載入程序,儘管它是 BIOS 啟動順序中的最後一個。

我認為分割區已配置為 grub 引導,但 uefi 已設定為首先從 SO 引導管理員啟動,該管理員僅引導 Windows。

Bios 設定影像

為了啟動 Kali,我必須手動插入以從驅動器啟動:

啟動選項 圖片

更改啟動順序 第三個選項啟動 grub,第一個選項啟動 windows,這是第一個有缺陷的選項,我無法更改它。有什麼想法如何將 grub 配置到作業系統啟動管理器中,或先啟動硬碟嗎?

答案1

我發現某些電腦(特別是 HP)的 BIOS 出現故障,在指定舊版後仍保留 uefi 配置以進行啟動,首先執行 Windows .efi 檔案(我發現它總是這樣做)。

最好的解決方法是退貨,前提是Bios有bug,這樣他們就不會繼續製造它們了。我找到了一種解決方法,這確實不建議(它永遠不會弄亂引導)。

  1. 您偵測到您的「EFI 分割區系統」分割區,它通常位於 /dev/sda1 中,但可能有所不同。您可以使用 檢查分區sudo fdisk -l

  2. 將 EFI 分割區掛載到/mnt(或任何地方,但這就是原因/mnt)。

  3. 在此分割區中,後面應該至少有 2 個資料夾EFI(如果您有Windows 和Linux):一個名為Microsoft,另一個名為您所擁有的Linux 作業系統的名稱(在我的例子中是Kali),有時可能會顯示Debian或 Fedora,如果它是從其中一個派生的發行版(我稱之為 [OS])。

UEFI OS 啟動管理器執行該文件EFI/Microsoft/Boot/bootmgfw.efi,這是執行所有其餘文件以啟動 Windows 的鏈載入器。 Linux grub 位於該[OS]資料夾中(名稱可能是 grubx64.efi 或 grubia32.efi,取決於體系結構)。

  1. 將文件複製/mnt/EFI/Microsoft/Boot/bootmgfw.efi到主資料夾中,您可以這樣做(從/EFI/),如下所示:sudo cp MIcrosoft/Boot/bootmgfw.efi bootmgfw.efi

  2. 將 grub 檔案作為 bootmgfw.efi 複製到 Windows(來自 /mnt/EFI/):sudo cp kali/grubx64.efi /Microsoft/Boot/bootmgfw.efi

  3. 卸載分割區並重新啟動,現在應該直接啟動到 grub,但 Windows 會循環回 grub。若要解決此問題,您可以在選擇 Windows 分割區之前按 e 變更配置,並將其變更chainloader +1chainloader /EFI/bootmgfw.efi

  4. 若要使其永久化,請啟動 Linux,並/boot/grub/grub.cfg在 Windows 7 的選單項目中編輯檔案。

注意:請務必小心,不要更改任何其他內容,因為這可能會導致電腦無法啟動任何內容。確實不建議更改 grub 檔案。

相關內容