个人工具

UbuntuHelp:GrubHowto/ChangeDefaultOS

来自Ubuntu中文

跳转至: 导航, 搜索

Changing Default OS

Use this guide if you have multiple partitions and operating systems on your computer and want to change the default operating system that will boot up when you turn on your computer.

Back Up Grub Settings

Copy this line into the|terminal and press enter, it will back up your menu.lst and you can use the backup to restore your default settings.

 
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup

Open in a Text Editor

Edit the menu.lst file with one of the following commands (depending on what version of Ubuntu you're using): Ubuntu

gksudo gedit /boot/grub/menu.lst 

Kubuntu

kdesu kate /boot/grub/menu.lst

Xubuntu

gksudo mousepad /boot/grub/menu.lst

Finding the Line

  • Find this line in the document that was just opened, it will read like this:
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
...
default     0
...
  • Replace the 0 with the number on the startup list corresponding to the option you want, counting from 0. For example, if you have a list like this one and want to change to Windows XP Home:
title      Ubuntu, kernel 2.6.15-27-amd64-generic
...
title      Ubuntu, memtest86+
...
title      Other operating systems:
...
title      Microsoft Windows XP Home

...you would change the number to 3. It is important to note that each lines such as "Other Operating Systems" should be counted as well.

  • Alternatively you can replace the number with the word 'saved' which will make the default whichever entry was last used. Each entry that should be remembered must have the 'savedefault' keyword, this is the case for the normal Ubuntu entries, but not the recovery alternatives. WARNING: If you are using dmraid do not change this entry to 'saved' or your array will desync and will not let you boot your system.
  • Save the edited file

Comments

  • Warbo: How does this handle Ubuntu's adding of new kernels to the list? If I remember correctly any new kernels get added to the top of the list, so this would change the order of the entries and make any "default X" line point to the wrong entry. I have always told people to put the non-Ubuntu OS which they would prefer to be default (eg. Windows, Fedora, whatever) above the "Automagic kernels" comment, thus making any of Ubuntu's automatic changes take place below the prefered entry, meaning it is always at the top so is always entry 0. Also, I know there are GRUB lines which can be added which make the last selected OS the default, but I have forgotten them :)
  • PatrickSchulz: Warbo, Ubuntu / update-grub adds the new kernel entries at the top of the lines between
... ... ...

Just put the entry for your preferred OS between these lines...

#
# Put static boot stanzas before and/or after AUTOMATIC KERNEL LIST
 ... exactly here ...

...and leave the default parameter at

...
default     0
...

That's it. Warbo: Yes, that's what I have been telling people to do ("put the non-Ubuntu OS which they would prefer to be default... above the "Automagic kernels" comment"). This is not something I do myself, because I only run Ubuntu and don't apply kernel updates (if you want to see how messed up my boot setup is then look at BootFromUSB :) ) PatrickSchulz: Ooops! I just read the "...selected OS the default, but I have forgotten them :)". Sorry mea culpa... Next time I drop the tomatoes from my eyes before posting ;-) Ateo: My menu.lst has the comment

 ### BEGIN AUTOMAGIC KERNELS LIST

and not

 ### BEGIN AUTOMATIC KERNELS LIST

A very subtle type that had me searching for about 10 minutes. Kevin Valentine: I was just forwarding this link to a grub newbie because he wants to make Windows his default boot entry. It's normally the last entry. Instead of having him cut and paste large chunks of text around, I told to additionally set updatedefaultentry=true. The default value is automagically updated when new kernels are added.