ubuntu顯示或者隱藏grub選擇菜單 ubuntu 12.04。 在安裝windows後安裝的ubuntu雙系統,在啟動時候都會固定先顯示grub選擇菜單,可以選擇不同版本的ubuntu的kernel來啟動 但是對於單純的ubuntu系統,在啟動後卻不會顯示相應的菜單來讓選擇。 參照網路上搜尋的資料,可以有以下方式來顯示grub菜單(同理相信看完也瞭解如何隱藏了撒???): 1. 啟動時候一直按住shift鍵以前的Ubuntu版本,啟動grub的時候,有一個grub loading,press ESC to get the menu的提示,所以按ESC就可以看到grub介面現在的Ubuntu沒有了,現在的做法是,啟動的時候按住shift鍵,就可以看到grub介面了。(接下來就修改啟動參數,加入single,然後按ctrl+x啟動,就能看到一個ncurse的介面,選擇drop to root prompt,就可以得到一個root的terminal然後就可以重新設定root口令了) 2. 修改grub檔案來完成 1.sudo gedit /etc/default/grub修改如下:GRUB_HIDDEN_TIMEOUT=0#GRUB_HIDDEN_TIMEOUT_QUIET=trueGRUB_TIMEOUT=0 2.sudo update-grub 下面展開說明: 首先修改 /etc/default/grub.cfg檔案,參考以下config檔案注釋掉GRUB_HIDDEN_TIMEOUT=0 # If you change this file, run 'update-grub' afterwards to update# /boot/grub/grub.cfg.# For full documentation of the options in this file, see:# info -f grub -n 'Simple configuration' GRUB_DEFAULT=0#GRUB_HIDDEN_TIMEOUT=0GRUB_HIDDEN_TIMEOUT_QUIET=trueGRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"GRUB_CMDLINE_LINUX="" # Uncomment to enable BadRAM filtering, modify to suit your needs# This works with Linux (no patch required) and with any kernel that obtains# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only)#GRUB_TERMINAL=console # The resolution used on graphical terminal# note that you can use only modes which your graphic card supports via VBE# you can see them in real GRUB with the command `vbeinfo'#GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux#GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries#GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start#GRUB_INIT_TUNE="480 440 1" 然後執行"sudo update-grub"。這樣以後在grub.cfg中會多出以下代碼 ### BEGIN /etc/grub.d/30_os-prober ###if [ "x${timeout}" != "x-1" ]; then if keystatus; then if keystatus --shift; then set timeout=-1 else set timeout=0 fi else if sleep --interruptible 3 ; then set timeout=0 fi fi fi### END /etc/grub.d/30_os-prober ### 最後簡單介紹下其中的幾個參數 1.GRUB_HIDDEN_TIMEOUT=0 此配置將影響菜單顯示。若設定此選項,將在此時間內隱藏菜單而顯示引導畫面。 菜單將會被隱藏,除非在此行開頭加上一個 # 符號。(# GRUB_HIDDEN_TIMEOUT=0)。 GRUB 2 第一次執行時將會尋找其他動作系統。若沒有其他動作系統被檢測到,菜單將會配置為隱藏。若辨認出其他動作系統,菜單將會顯示。 若是大於 0 的整數,系統將會依此配置的秒數暫停,但不會顯示菜單。 0 則菜單不會顯示,也不會有延遲。 使用者可以在啟動時按住 SHIFT 鍵不放以強制顯示菜單。 啟動過程中,系統將會檢查 SHIFT 鍵狀態。若無法辨識按鍵狀態,會有一個短時間的延遲讓使用者可通過按下 ESC 鍵來顯示菜單。 2.GRUB_HIDDEN_TIMEOUT_QUIET=true true 不顯示倒計時。螢幕將會是空白的。 false 在 GRUB_HIDDEN_TIMEOUT 中配置的時間,空白螢幕上會有一個倒數計時器。 3.GRUB_TIMEOUT=10 此命令將順從 GRUB_HIDDEN_TIMEOUT 配置,除非 GRUB_HIDDEN_TIMEOUT 被注釋掉(#)。若 GRUB_HIDDEN_TIMEOUT 啟用,則當菜單顯示時,GRUB_TIMEOUT 將會只執行一次。 配置此值為 -1 將會導致菜單一直顯示,直到使用者選擇。 GRUB 2 菜單預設為隱藏,除非其他動作系統被系統檢測到。若沒有其他動作系統,此行將會被注釋掉,除非使用者修改它。為了在每次啟動時顯示菜單,去掉此行的注釋並使用 1 或更大的值。