总有人装了Ubuntu仍忘不了Windows。我在刚接触linux 的时候也是这样,不过现在好了很多,如果不是必须要用Windows 的时候,我一般都选择进入Ubuntu。为了那些刚使用Ubuntu的人方便进入Windows,也为了以后有人再问我的时候,我可以很轻松明了的回答ta。特意在此记下GRUB2是如何修改默认引导系统的。
在网上Google或Baidu一下,结果会出来很多,我大致看了一下,绝大部分内容雷同,基本都是让你修改/boot/grub/grub.cfg。没错,无论过程怎么样结果都是grub.cfg被修改。但是在这个文件的开头它已经清清楚楚的告诉你:DO NOT EDIT THIS FILE。grub.cfg不应该手动被修改。
为了方便起见,我把如何修改默认引导系统Copy过来,如下:
grub (/etc/default/grub)
This file contains information previously found in the upper section of /boot/grub/menu.lst. It contains settings primarily affecting Grub’s menu display. This file can be edited by root to make changes to these settings; they will be imported into grub.cfg when “update-grub” is executed.
# If you change this file, run ‘update-grub’ afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=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=””
# 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=640×480
# 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 entrys
#GRUB_DISABLE_LINUX_RECOVERY=”true”
This file contains information formerly contained in the upper section of Grub Legacy’s ”menu.lst” and items contained on the end of the kernel line. The items in this file can be edited by a user with administrator (root) privileges. Grub developers have have placed explanatory comments within the file itself.
GRUB_DEFAULT=0
Sets the default and pre-selected menu entry. Entries may be numeric or saved
GRUB_DEFAULT=0
Sets the default menu entry by menu position. As with Grub Legacy, the first “menuentry” in grub.cfg is 0, the second is 1, etc.
GRUB_DEFAULT=”Windows XP Professional (on /dev/sda1)”
Sets the default menu entry by name.
GRUB_DEFAULT=saved
Sets the default menu entry with either whatever was selected on the last boot (if SAVEDEFAULT=true is set and the entry itself contains savedefault), whatever the last grub-set-default command saved or the first entry if nothing has ever been saved or the saved entry can’t be found. If the menu is displayed during boot, the previously selected option will be highlighted. If no action is taken, this is selection which will be booted at the end of the timeout, or if the menu is hidden.
GRUB_TIMEOUT=10
No change from Grub Legacy. This is the number of seconds before the default entry is automatically booted.
Setting a value of -1 will display the menu until the user makes a selection (no timeout).
GRUB_HIDDEN_TIMEOUT=0
The hidden timeout option is available to single-OS computers – if multiple OS’s are known to Grub 2, this option is bypassed.
On single-OS systems, the menu will be hidden unless a # symbol is present at the beginning of this line. ( # GRUB_HIDDEN_TIMEOUT=0 )
The default setting initially depends on the presence of other operating systems.
Another OS Detected: The menu will be displayed. ( The line will begin with a # symbol. )
No other OS Detected: This setting is not used, as determined by the
For integers greater than 0, the system will pause, but not display the menu, for the entered number of seconds.
0 The menu will not be displayed. There will be no delay.
The user may force displaying the menu as the computer boots by holding down the SHIFT key (single-OS computers only).
During boot, the system will check the SHIFT key status. If it cannot determine the key status, a short delay will enable the user to display the menu by pressing the ESC key.
If enabled, the splash screen designated in 05_debian_theme will be displayed even if the hidden menu feature is selected.
GRUB_HIDDEN_TIMEOUT_QUIET=true
true – No countdown is displayed. The screen will be blank.
false – A counter will display on a blank screen for the duration of the GRUB_HIDDEN_TIMEOUT value.
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
Determines the descriptive name in the menu entry. (Ubuntu, Xubuntu, Debian, etc.)
GRUB_CMDLINE_LINUX
If it exists, this line imports any entries to the end of the linux command line (Grub Legacy’s “kernel” line) for both normal and recovery modes. This is similar to the “altoptions” line in menu.lst
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
This line imports any entries to the end of the ‘linux’ line (Grub Legacy’s “kernel” line). The entries are appended to the end of the normal mode only. This is similar to the “defoptions” line in menu.lst. If you want a black screen with scrolling boot messages, remove “quiet splash”. If you want a grub splash screen with limited messages underneath the Ubuntu logo, use only “splash”. < This [only “splash”]will not work in Karmic during boot as the xsplash does not display the messages , but the messages at shutdown will be displayed.
#GRUB_TERMINAL=console
Uncomment to disable graphical terminal (grub-pc only).
#GRUB_GFXMODE=640×480
Uncomment (remove ‘#’ from beginning of the line) to change (increase) resolution of your boot loader. Use one of classic (4:3 rate):
GRUB_GFXMODE=640×480 (is used if isn’t here a proper value)
GRUB_GFXMODE=800×600
GRUB_GFXMODE=1024×768
GRUB_GFXMODE=1600×1200
or make experiments with some others nonstandards like widescreen (16:10 ratio in my case), here is list of most of commonly use Display resolution:
GRUB_GFXMODE=640×400
GRUB_GFXMODE=800×500
GRUB_GFXMODE=1024×640
GRUB_GFXMODE=1280×800
GRUB_GFXMODE=1680×1050
If you don’t know what modes are supported by your graphics card, go to the grub command line and run ‘vbeinfo’. It will list all available modes. (You might need to run ‘insmod vbe’ first if the vbe module isn’t loaded yet)
GRUB_GFXPAYLOAD_LINUX=640x480x8 [grub2 >= 1.98-1 (Lucid)]
Use this setting to set the framebuffer resolution (replaces the vga= kernel option). It uses the GFXMODE values with additional color depth. Use ‘vbeinfo’ from the grub command line to list what modes are available to you.
#GRUB_DISABLE_LINUX_UUID=true
Uncomment this line if you don’t want GRUB to pass “root=UUID=xxx” parameter to Linux.
GRUB_DISABLE_LINUX_RECOVERY=true
Add or uncomment this line to prevent “Recovery” mode kernel options from appearing in the menu.
GRUB_DISABLE_OS_PROBER=true
Enables/disables the os-prober check of other partitions for operating systems, including Windows, Linux, OSX and Hurd.