Windows 10 取代 Grub

Windows 10 取代 Grub

我安裝了 Manjaro 作為我的第一個發行版,一切都進展順利,直到grub。當我在 grub 選單中選擇 Windows 10 而不是 Linux 時,Windows 會顯示很多啟動時間比平時長。一旦啟動,它看起來很好 - 直到下一次啟動時grub完全跳過並自動加載 Windows。

我發現恢復的唯一方法grub是輸入 UEFI 設定並重新排列啟動順序,以便 Manjaro 位於頂部。 Windows 啟動後,它會重新排列,以便 Manjaro 位於清單底部。

總結:

  • Grub 工作正常,直到 Windows 加載,此時它不再使用
  • 要恢復 grub,我必須重新排列 UEFI 開機順序。這將一直有效,直到下次 Windows 啟動為止
  • Linux 上不會有這個問題,我可以多次引導它,完全沒有問題。

如何防止 Windows 10 在 UEFI 中重新排序啟動順序以便grub始終使用該啟動順序?

答案1

事實證明,這個問題是由 Windows 10 設定引起的。使用該命令bcdedit /set {bootmgr} path \\EFI\\Manjaro\\grubx64.efi似乎可以完全解決問題。無論上次啟動哪個作業系統,Manjaro 啟動載入程式 (grub) 仍然會出現。

答案2

這是此問題的最佳結果,因此添加所有發行版的資訊:

所選答案中的“Manjaro”字串特定於 OP 分發,因此這可能不適合您。為了讓這個答案在所有 Linux 發行版中更加通用:

步驟1:使用此處的選項之一瀏覽您的 EFI 分割區如何存取Windows 10上的efi分割區? (對我來說,在管理 cmd 終端機中執行「mountvol P: /S」是有效的。)使用「dir P:\EFI」來找出您的發行版在此 UEFI 分割區中設定的路徑。例如。對於 Fedora,它變成 \EFI\fedora\grubx64.efi

第2步:現在執行 bcedit 指令 bcdedit /set {bootmgr} path \EFI\YourDistroPath\grubx64.efi

步驟3:在 Windows 10 中停用快速啟動這隨著 Windows 更新而不斷變化。對我來說,電源和睡眠設定 -> 其他電源設定 -> 選擇電源按鈕的功能。點擊“更改目前不可用的設定”,這將啟用快速啟動選項。

步驟4: 關閉,不要重新啟動。等等瞧。

步驟5:(可選)向 Microsoft 支援人員發送電子郵件,並善意地要求他們停止發布破壞引導程式的軟體。

答案3

停用EFI 設定中的每個與fastboot 相關的選項,如果這不能解決問題,請備份ESP 分割區中的每個文件,然後您可以嘗試將grubx64.efi 移動或複製到/EFI/Boot/bootx64.efi 和/或,如果仍然不起作用,請將Windows efi 檔案bootmgw.efi 複製到另一個位置,給它另一個檔案名稱(假設為win.efi),然後將grubx64.efi 複製到舊的bootmgw .efi 上並為win 建立一個新的選單項目.efi。還是不行,我不知道該說什麼。記得備份!請記住,Windows 和/或 grub 更新可能會覆蓋您的變更。

答案4

有一個誤解,設定啟動順序不是正確的解決方案,而是1 ._ 首先安裝Windows,但是,一旦安裝了Windows,請安裝任何Linux 發行版,這是當您在同一個HHD 中安裝兩個作業系統時,如果你在不同的HHD中進行安裝,那麼,請確保將Linux發行版插入“IDE 0”,當然,在Windows之前或之後安裝的情況下,無論什麼,只需將安裝程式插入IDE 0即可。提示字元中寫入:/sbin /modprobe zfs 然後你寫 exit,一旦進入恢復選單,更新 grub 和開機順序,grub 將會被覆寫。這是對我有用的正確程序...

相關內容