好吧,今天突然想重新研究一下關於grub的東西,看到這篇文章是關於雙系統啓動順序相關設置的,說得挺全的,出於學習記錄而轉載。
原文出處:http://www.cnblogs.com/ini_always/archive/2011/04/06/2007029.html
------------------------------------------------------------------------------------------------------
我想大部分童鞋裝ubuntu的時候,硬盤上的windows肯定還是保留着的,啓動電腦時可以選擇,想進windows就進windows,想進ubuntu就進ubuntu。但裝完ubuntu後,它默認啓動的是ubuntu,這對於使用ubuntu作爲系統的童鞋來說沒什麼,但對那些經常要進windows的童鞋,每次開機都得按幾次向下的箭頭,再敲回車,非常不方便,有沒有方法,讓電腦開機時默認啓動windows呢?這個是可以有的,而且這個也真的有。^_^
說到啓動就不得不說GRUB,Linux下大名鼎鼎的啓動管理工具(曾經的LILO已經風光不再),當然現在已經是GRUB2了,GRUB2和GRUB最重要的區別就是,GRUB存放系統啓動信息的文件爲/boot/grub/menu.lst,而GRUB2則爲/boot/grub/grub.cfg。由於ubuntu10.10採用的是GRUB2,所以這裏主要講GRUB2。
終端輸入gedit /boot/grub/grub.cfg,打開這個文件,開頭幾行註釋如下:
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
這裏說得很清楚:不要編輯這個文件,這個文件是根據/etc/grub.d的模板和/etc/default/grub的設置自動生成的,所以網上流行的編輯這個文件來達到修改啓動順序的方法是不正確的,至少是不合理的,因爲一旦更新內核什麼的話,這個文件又會自動生成,之前的更新就會失效。
那既然不能修改這個文件,那就看看/etc/grub.d和/etc/default/grub好了,前者是個文件夾,暫時不管,後者是個文件,其內容如下(刪去了一些沒太大幫助的註釋):
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_DEFAULT代表的就是啓動項的順序,從數字0開始,依次代表如下啓動項(這是在我的電腦上,不同的ubuntu版本和windows系統可能會有一些不同):
Ubuntu, with Linux 2.6.35-28-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows 7 (loader) (on /dev/sda1)
windows排第四位(注意,順序是從0開始計的),所以,把GRUB_DEFAULT的值修改爲4,然後別忘了運行命令:
好了,重啓電腦,默認啓動的系統就換到windows了。
另外,還有一種比較高級的方法也可以修改windows爲默認啓動系統,運行:
sudo update-grub
執行完成後,重啓電腦,也能默認啓動windows了。
一部分童鞋看到這裏,覺得修改啓動順序的方法已經找到,可以心滿意足地把這個標籤頁給關掉了(如果你用的還是IE6,好吧,我承認你要關閉的是窗口);另一部分想延伸開來的童鞋肯定想知道原理是什麼了,這裏先賣個關子吧:要知是何原理,且聽下回分解。^_^
附:這篇文章是我對GRUB2作了一些研究之後,根據需求並利用GRUB2的配置原理寫出來的,關於GRUB2的一些東西我全都參考的這裏:https://help.ubuntu.com/community/Grub2。所以,如果你英文過關並且有耐心的話,不妨去這裏看一下,我上面賣的關子就不攻自破了。