基本檔案
在ubuntu中不能通過修改menu.lst檔案來修改啟動配置了,grub2主要包含
1. /boot/grub/grub.cfg 檔案
2. /etc/grub.d/ 資料夾
3. /etc/default/grub 檔案
grub.cfg就是就是配置選項,類似於menu.lst,裡面的格式與menu.lst差不多。但是我們不能通過直接修改這個檔案來修改配置。
grub.cfg的檔案中包含了兩部分的內容,一部分是各個啟動項的定義,第二部分是啟動介面的設定。
功能介紹
/etc/grub.d/資料夾中定義的各個啟動項,其中的資料夾代表了乙個或者多個啟動項,使用的命名規範都是「兩個數字_名稱」,前面的兩個數字確定這個或者這多個啟動項在啟動
介面中的位置,預設的「00_"是預給」00_header"的,「10_"是預留給當前系統核心的,"20_"是預留給第三方程式的,除了這些你都可以使用,增加自己的,比如"05_"數字越小的越前面。
/etc/default/gurb檔案,該檔案主要是啟動介面配置,比如預設的啟動項,等待使用者的選擇時間等。
好了,通過上面的介紹,應該對grub 2有些了解了,聰明的你應該想到要怎麼修改預設啟動項了,有下面三種方法:
•根據以前修改 /boot/grub/menu.lst 的方法那樣直接修改已經生成好的 /boot/grub/grub.cfg。這個方法的優點是簡單,缺點是修改之後會被」update-grub」命令覆蓋掉。
•修改 /etc/grub.d/ 中啟動項的順序,將你想要預設啟動的項順序設定為較小的值。優點是修改不會被」update-grub」命令覆蓋掉,好像沒啥缺電,只有另外的程式修改為比你的值更小了才會成為預設啟動。
•修改 /etc/default/grub 中預設的啟動項,設定該檔案中 grub_default 為你想要的值,這個值是生成的 grub.cfg 中各個啟動項的從0開始的下標。該方法優點是修改不會被」update-grub」命令覆蓋,缺點是當啟動項的順序變化之後,下標也就變了。
示例:
拿最簡單最常用的開啟啟動項預設選擇順序和選擇等待時間為例,比如,我要啟動xen修改過的核心。
1.vim /etc/default/grub
2. 把grub_default= 和 grub_timeout= 兩個字串後面的數字改為我們自己想要的並儲存關閉
怎樣得到需要啟動系統的順序呢,可以通過根據已經生成的 /boot/grub/grub.cfg得到。
這是我的現有啟動項:
[html]view plain
copy
0 ubuntu,linux 3.2.0-27-generic
1 ubuntu,linux 3.2.0-27-generic (恢復模式)
2 submenu "previous linux versions":
[html]view plain
copy
#這是子項
ubuntu,linux 3.0.0-23-server
ubuntu,linux 3.0.0-23-server (恢復模式)
ubuntu,linux 3.0.0-12-server
ubuntu,linux 3.0.0-12-server (恢復模式)
3 ubuntu gnu/linux,xen 4.1-amd64 和 linux 3.2.0-27-generic
ubuntu gnu/linux,xen 4.1-amd64 和 linux 3.2.0-27-generic (恢復模式)
ubuntu gnu/linux,xen 4.1-amd64 和 linux 3.0.0-23-server
ubuntu gnu/linux,xen 4.1-amd64 和 linux 3.0.0-23-server (恢復模式)
ubuntu gnu/linux,xen 4.1-amd64 和 linux 3.0.0-12-server
ubuntu gnu/linux,xen 4.1-amd64 和 linux 3.0.0-12-server (恢復模式)
memory test (memtest86+)
memory test (memtest86+, serial console 115200)
但是:submenu "previous linux versions"中的系統都屬於2,xen是個編號為3.所以修改grub_default=3。
3. 最後sudo update-grub 不要忘記了。
最簡單的做法:
其實個人覺的最簡單的是直接閱讀/boot/grub/grub.cfg的內容。
查詢關鍵字menuentry。核心的順序就是menuentry的順序。你可能會看到:
[python]view plain
copy
if[
"$"!=
"text"
]; then load_video; fi
menuentry 'ubuntu,linux 3.5.0-rc1+'
--class
ubuntu --
class
gnu-linux --
class
gnu --
class
os
menuentry 'ubuntu,linux 3.5.0-rc1+ (恢復模式)'
--class
ubuntu --
class
gnu-linux --
class
gnu --
class
os
submenu "previous linux versions"
{ menuentry 'ubuntu,linux 3.2.0-27-generic'
--class
ubuntu --
class
gnu-linux --
class
gnu --
class
os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='(hd0,gpt2)'
search --no-floppy --fs-uuid --set=root 47caf968
-871e
-40da
-b292-
7d5683ef3e94
出現了submenu就說明裡面包含子選單。例如
1.直接進入主選單的某個核心
我要啟動linux 3.5.0-rc1+,它是主選單的第乙個。我就修改這個檔案中的set default="0"(注意,要取得寫得權利)。
或者直接修改 /etc/default/grub中的grub_default="0"(這樣就要執行update-grub)。
2.使用">"進入子選單
我要啟動
ubuntu,linux 3.2.0-27-generic可以看出,它屬於排在主選單第三位的submenu的子選單的第乙個。所以就修改這個檔案中的set default="2>0"(注意,要取得寫得權利)。
或者直接修改 /etc/default/grub中的grub_default="2>0"(這樣就要執行update-grub)。
ubuntu 修改GRUB的預設啟動系統
問題關鍵 boot grub menu.lst檔案中的default引數 條件 需要root許可權 使用sudo命令 1.引導檔案很重要,所以修改的時候要謹慎,提前備份一下 sudo cp boot grub menu.lst boot grub menu backup.lst 使用root許可權c...
雙系統,修改ubuntu的grub更改啟動項
1 本機環境 雙系統ubuntu 12.04lts 和 windows 7 professional 開機時顯示的是ubuntu 的gurb選單 2 更改配置檔案使 系統預設啟動的是windows7 系統 3 方法 進入ubuntu12.04系統 需要改的檔案命令為 sudo chmod w boo...
如何修改Ubuntu的時間
如何修改ubuntu的時間 utc是格林威治時間,cst是中國標準時間,很顯然cst utc 8。基於此,如果你的cmos是本地時間 也即cst時間 並且你想使用本地時間,那麼你需要做如下修改 shell sudo vim etc default rcs 找到關於utc的設定 utc yes 注釋掉...