創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2020年8月31日 星期一

Ubuntu 20.04 GRUB2選單無法顯示的問題與解決方式

摘要

Ubuntu 20.04.1已出來一陣子,手邊一部筆記本電腦安裝此版本,卻發現GRUB2的開機選單始終不出現。起初以為是否GRUB2新版做了什麼調整,還特地去翻了一下官方文件,接著檢查了新的GRUB設置,看來並無不妥,但就是無法顯示選單。幾經波折,最後才發現是個bug,解決的方式並不難。如果想迫切知道解決方式的人,請直接看後面的結語。

第一次安裝Kubuntu就出師出事

原本這筆電使用Ubuntu MATE 18.04與Windows 10,硬體升級後就安裝了Kubuntu。安裝過程還算順利,只是沒想到重開機後GRUB2選單一直沒出現(事實上只是選單畫面無法顯示,預設要倒數完30秒才會繼續動作,若此時直接按Enter會執行選單中的預設項目,即以Kubuntu開機),開機時按ESC鍵選單也沒出現,開機動作也暫停。我想著GRUB2的設置該調整的也做好了,難不成新版還有什麼新機關不成,於是查了GRUB2的官方說明文件[1],與之前Ubuntu MATE 18.04用的比較起來,是有點小調整,但新設置看來並無不妥,但選單就是無法出現。

一開始並沒想到是20.04版方面的bug,因為這機器之前故障修理過,我原本懷疑是否新版卡到了以前的老毛病,或是EFI安裝方面的問題。或是Kubuntu有什麼特別機關與這機器不合,前後用不同硬碟試了Ubuntu MATE 20.04, Linux Light 5.0(另一種基於Ubuntu 20.04的發行版)都如此,甚至試著以Ubuntu MATE 18.04.5的開機碟重裝GRUB2也無效。裝回Ubuntu MATE 18.04.5就一切正常,再用20.04重裝GRUB2也可以顯示選單。逐一釐清並排除前述的懷疑之後,感覺是20.04的問題,於是試著以ubuntu 20.04 grub menu搜尋一下是否有人過到相同狀況。一試就成功,很快就看到解決方法[2],而且確定是個bug[3],一下就搞定了這個讓我花了不少時間追查的問題。

打開/etc/default/grub,正常時設置了GRUB_TIMEOUT_STYLE=menu以及像GRUB_TIMEOUT=5就可讓選單顯示,若所用的機器圖形顯示方面遇到上述的bug,那麼就再設置GRUB_TERMINAL=console

結語

某些電腦安裝Ubuntu 20.04後,雖然調整了/etc/default/grub檔案中的GRUB_TIMEOUT_STYLE=menu以及GRUB_TIMEOUT為正數,GRUB2選單仍不出現。若想在剛開機時按下ESC讓選單出現也不成功。該電腦的圖形顯示方面有點問題,請調整成關閉圖形終端,即把/etc/default/grubGRUB_TERMINAL=console前的#刪除。修改後的/etc/default/grub檔案中的部分內容如下:


GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5
GRUB_TERMINAL=console

存檔後執行以下命令以更新選單檔案:


$ sudo update-grub

重開機後應該就可以看到GRUB選單了。

參考

  1. GNU GRUB Manual 2.04
  2. Get grub menu back after installing Ubuntu 20.04 alongside Windows
  3. Grub menu remains hidden in 20.04

update: 2020-10-5

沒有留言:

張貼留言