Dual-Boot

GRUB 更新和多 linux

  • July 26, 2021

我有 Windows 10 和 Debian,最近我還安裝了 Linux Mint。GRUB 最初是由 Debian 安裝的。

  • 根據我的閱讀,系統上只有一個發行版“控制”GRUB 設置(在我的情況下是 Debian)。
  • 從我測試的結果來看,這似乎是正確的:在我發佈時在 Mint 下grub-update,沒有任何變化,甚至沒有對 Mint 的GRUB_CMDLINE_LINUX_DEFAULTin進行更改/etc/default/grub。但是當我grub-update從 Debian 發佈時,一切(Mint 的東西也是)在 GRUB 菜單中都是最新的。

我想最後只保留 Mint 和 Windows,所以我搜尋瞭如何讓 Mint 來“控制”GRUB 設置。

從 Mint執行似乎grub-install可以完成這項工作,但沒有錯誤,並且在 Mint/etc/default/grub中所做的更改未應用。我在 GRUB 中也有 debian 背景。

我沒有為 指定設備grub-install,它在 UEFI 系統上,所有作業系統分區都在帶有引導分區的磁碟上。

資源:

https://www.gnu.org/software/grub/manual/grub/grub.html#Installing-GRUB-using-grub_002dinstall

https://forums.linuxmint.com/viewtopic.php?t=98972

https://itsfoss.com/update-grub/

我錯過了什麼嗎?另外,我想知道每個 linux 安裝如何知道它是否負責更新 GRUB(有點)?

由於您的系統是 UEFI,這很可能是由於韌體啟動順序中 Debian 的 GRUB 在 Mint 的 GRUB 之前。

efibootmgr -v您可以通過以 root 身份執行來檢查這一點。該BootCurrent行將標識最近用於引導系統的引導載入程序,BootOrder指定在系統引導時嘗試各種配置的引導選項的順序,並且任何BootNNNN(其中N是數字)行都是實際的引導選項。

要重新排列引導選項,請按所需順序使用 4 位引導選項的逗號分隔列表efibootmgr -o XXXX,YYYY,ZZZZ...XXXX,YYYY,ZZZZ...為避免韌體錯誤,最安全的做法可能是保留原始BootOrder設置中所有相同的引導選項,然後更改它們的順序。

或者,您應該進入 BIOS 引導設置,將標記為“Ubuntu”或“Mint”的引導選項移到標記為“debian”的選項之前。這將實現與上述完全相同的事情efibootmgr -o ...

一旦您將 Mint 的 GRUB 作為引導順序中的第一個,您現在應該在 GRUB 菜單中擁有 Mint 的背景,這表明 Mint 的 GRUB 現在正在執行這項工作。然後您應該確認您仍然可以啟動 Windows,然後您就可以刪除 Debian 的分區了。

刪除 Debian 後,您還應該使用 刪除其引導選項efibootmgr -B -b XXXX,其中 XXXX 是 Debian 的引導選項編號,並刪除 ESP 分區上 Debian 的引導載入程序目錄,很可能通過執行sudo rm -r /boot/efi/debian.

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