GRUB 更新和多 linux
我有 Windows 10 和 Debian,最近我還安裝了 Linux Mint。GRUB 最初是由 Debian 安裝的。
- 根據我的閱讀,系統上只有一個發行版“控制”GRUB 設置(在我的情況下是 Debian)。
- 從我測試的結果來看,這似乎是正確的:在我發佈時在 Mint 下
grub-update
,沒有任何變化,甚至沒有對 Mint 的GRUB_CMDLINE_LINUX_DEFAULT
in進行更改/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
.