刪除另一個發行版分區後重新啟動 Grub 菜單
我剛買了一個macbook air。我用 Ubuntu 雙啟動 mac os。這是我第一次在 mac 上進行多重引導。我用另一個 Ubuntu 進行了三次啟動。在刪除第三個發行版後,我遇到了 grub 的一些問題。
首先,我做瞭如下分區:
$ lsblk sda sda1 200M /boot/efi sda2 47.3GB # Mac os sda3 620MB # Mac rescue sda4 2GB # Swap partition sda5 50GB # Ubuntu 1 sda6 50GB # Ubuntu 2 sda10 100GB # ext4 file system
我在
sda5
. 完成後,它直接使用 Ubuntu 啟動,這很棒。後來我安裝了另一個 ubuntu,sda6
因為我想使用其他 ditros 進行測試,並且我想檢查我是否可以輕鬆地做到這一點。請注意,Ubuntu 版本與我在另一個分區上安裝的完全相同。安裝第二個 Ubuntu 後,我重新啟動,然後出現 grub 螢幕,要求我在兩個 Ubuntu 之間進行選擇。整潔的。然後,對第二個 ubuntu 沒有用處,我只是sda6
使用gdisk
:$ gdisk /dev/sda > d # delete partition > 6 # delete partition 6 > w # write changes > Y # confirmation of writing changes. > q # quit gdisk $ lsblk sda sda1 200M /boot/efi sda2 47.3GB # Mac os sda3 620MB # Mac rescue sda4 2GB # Swap partition sda5 50GB # Ubuntu 1 sda10 100GB # ext4 file system
現在重新啟動時,我在黑屏上看到 grub 命令行。我必須指定我的 ubuntu 所在的磁碟。我按照此執行緒中的一些指示在 Ubuntu 上啟動: https ://askubuntu.com/questions/159846/tried-to-boot-ubuntu-but-the-grub-rescue-shows-up-instead 並嘗試執行以下操作:
grub> ls (hd2,gpt5) # That's my Ubuntu partition grub> root=(hd2,gpt5) grub> configfile /boot/grub/grub.cfg
現在我在 Ubuntu 中成功啟動。登錄後,我按照更新 grub 的說明進行操作:
$ sudo update-grub
唉,重新啟動時,grub螢幕再次彈出。所以更新 grub 並沒有解決問題。我還嘗試使用 grub 2 以防萬一:
$ sudo update-grub2
它不會改變任何東西。
我還嘗試在 sda6 上重新安裝 Ubuntu 的第二個版本。同樣的方案,當我重新啟動時,我被要求在 grub 菜單中選擇兩個 Ubuntu 版本,所以它解決了這個問題。但是一旦我刪除了第二個 Ubuntu 分區,第一個分區就不會直接啟動,除非我在 grub 命令行螢幕中指定它。
我不知道這是否有用,但這是我的 fstab:
$ cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda2 during installation UUID=85ab4560-729a-4f7d-91d9-69af89ea1219 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sda1 during installation UUID=DAC6-DEC2 /boot/efi vfat defaults 0 1 # swap was on /dev/sda4 during installation UUID=9c76739a-5996-43d8-a14e-fe690c06870f none swap sw 0 0
我能做些什麼來解決這個問題?是EFI的問題嗎?為什麼刪除第二個 Ubuntu 分區會使 grub 無法辨識第一個分區?
請注意,我想找到一個乾淨的解決方案,所以我想避免重新安裝 Ubuntu 來解決它。
我通過從該執行緒中獲取提示解決了我的問題:https ://superuser.com/questions/376470/how-to-reinstall-grub2-efi
我不需要使用實時安裝,我只是通過 grub 視窗啟動了我的 ubuntu 會話。然後我重新安裝了 grub:
$ apt-get install –reinstall grub-efi-amd64
這也自動進行了更新grub。它工作並更新了 /boot/efi/EFI/ubuntu/grub.cfg 中的 grub.cfg 文件,更新了正確的分區以從以下位置啟動 ubuntu:
$ cat /boot/efi/EFI/ubuntu/grub.cfg search.fs_uuid 17441147-6b9d-45fe-bccd-bed2451f43f8 root hd0,gpt5 set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg
以前,跑步
$更新-grub
既不會更新 uuid 也不會更新分區,舊分區是最新的 ubuntu,名為 hd0,gpt6。所以似乎重新安裝 grub 是必要的。
您需要
grub.cfg
使用以下命令重新創建:grub2-mkconfig -o /boot/grub2/grub.cfg
或者
grub-mkconfig -o /boot/grub/grub.cfg