Ubuntu 双系统启动项管理及配置方法

最近装了Ubuntu 10.10,因为之前有Windows 7等系统,所以Ubuntu装上后出现启动菜单,默认Ubuntu启动。
网上找了好多修改启动选项的方法,众说纷纭,现在总结如下:

一、能上网情况下的最好方法:安装startupmanager——图形启动项管理器

打开终端输入:

sudo apt-get install startupmanager

安装启动管理器

系统——系统管理——启动管理器,选中默认开机操作系统即可。

二、如果你不能上网的话,也可以修改,在终端输入:

sudo 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
 #

### BEGIN /etc/grub.d/00_header ###
 if [ -s $prefix/grubenv ]; then
 set have_grubenv=true
 load_env
 fi
 set default="0"
 if [ "${prev_saved_entry}" ]; then
 set saved_entry="${prev_saved_entry}"
 save_env saved_entry
 set prev_saved_entry=
 save_env prev_saved_entry
 set boot_once=true
 fi

function savedefault {
 if [ -z "${boot_once}" ]; then
 saved_entry="${chosen}"
 save_env saved_entry
 fi
 }

function recordfail {
 set recordfail=1
 if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
 }

function load_video {
 insmod vbe
 insmod vga
 insmod video_bochs
 insmod video_cirrus
 }

insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 if loadfont /usr/share/grub/unicode.pf2 ; then
 set gfxmode=auto
 load_video
 insmod gfxterm
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 set locale_dir=($root)/boot/grub/locale
 set lang=zh_CN
 insmod gettext
 fi
 terminal_output gfxterm
 if [ "${recordfail}" = 1 ]; then
 set timeout=-1
 else
 set timeout=10
 fi
 ### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 insmod jpeg
 if background_image /boot/grub/.background_cache.jpeg; then
 true
 else
 set menu_color_normal=white/black
 set menu_color_highlight=black/light-gray
 if background_color 44,0,30; then
 clear
 fi
 fi
 ### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
 if [ ${recordfail} != 1 ]; then
 if [ -e ${prefix}/gfxblacklist.txt ]; then
 if hwmatch ${prefix}/gfxblacklist.txt 3; then
 if [ ${match} = 0 ]; then
 set linux_gfx_mode=keep
 else
 set linux_gfx_mode=text
 fi
 else
 set linux_gfx_mode=text
 fi
 else
 set linux_gfx_mode=keep
 fi
 else
 set linux_gfx_mode=text
 fi
 export linux_gfx_mode
 if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
 menuentry 'Ubuntu,Linux 3.0.0-12-generic' --class ubuntu --class gnu-linux --class gnu --class os {
 recordfail
 set gfxpayload=$linux_gfx_mode
 insmod gzio
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 linux /boot/vmlinuz-3.0.0-12-generic root=UUID=fcf615f7-a025-4519-bb6b-2c1c94f956ba ro quiet splash vt.handoff=7
 initrd /boot/initrd.img-3.0.0-12-generic
 }
 menuentry 'Ubuntu,Linux 3.0.0-12-generic (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
 recordfail
 insmod gzio
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 echo '载入 Linux 3.0.0-12-generic ...'
 linux /boot/vmlinuz-3.0.0-12-generic root=UUID=fcf615f7-a025-4519-bb6b-2c1c94f956ba ro recovery nomodeset
 echo '载入初始化内存盘...'
 initrd /boot/initrd.img-3.0.0-12-generic
 }
 ### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
 ### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
 menuentry "Memory test (memtest86+)" {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 linux16 /boot/memtest86+.bin
 }
 menuentry "Memory test (memtest86+, serial console 115200)" {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 linux16 /boot/memtest86+.bin console=ttyS0,115200n8
 }
 ### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
 menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
 insmod part_msdos
 insmod ntfs
 set root='(hd0,msdos1)'
 search --no-floppy --fs-uuid --set=root 385666AD56666C16
 chainloader +1
 }
 ### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
 # This file provides an easy way to add custom menu entries. Simply type the
 # menu entries you want to add after this comment. Be careful not to change
 # the 'exec tail' line above.
 ### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
 if [ -f $prefix/custom.cfg ]; then
 source $prefix/custom.cfg;
 fi
 ### END /etc/grub.d/41_custom ###

其中### BEGIN *************###代表一个启动项的开始,### END************* ###代表结束。你要做的就是把一个启动项复制到另一个启动项的前面就行了,比如我装得是win7我修改后的文件就是下面的样子:

### BEGIN /etc/grub.d/30_os-prober ###
 menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
 insmod part_msdos
 insmod ntfs
 set root='(hd0,msdos1)'
 search --no-floppy --fs-uuid --set=root 385666AD56666C16
 chainloader +1
 }
 ### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/10_linux ###
 if [ ${recordfail} != 1 ]; then
 if [ -e ${prefix}/gfxblacklist.txt ]; then
 if hwmatch ${prefix}/gfxblacklist.txt 3; then
 if [ ${match} = 0 ]; then
 set linux_gfx_mode=keep
 else
 set linux_gfx_mode=text
 fi
 else
 set linux_gfx_mode=text
 fi
 else
 set linux_gfx_mode=keep
 fi
 else
 set linux_gfx_mode=text
 fi
 export linux_gfx_mode
 if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
 menuentry 'Ubuntu,Linux 3.0.0-12-generic' --class ubuntu --class gnu-linux --class gnu --class os {
 recordfail
 set gfxpayload=$linux_gfx_mode
 insmod gzio
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 linux /boot/vmlinuz-3.0.0-12-generic root=UUID=fcf615f7-a025-4519-bb6b-2c1c94f956ba ro quiet splash vt.handoff=7
 initrd /boot/initrd.img-3.0.0-12-generic
 }
 menuentry 'Ubuntu,Linux 3.0.0-12-generic (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
 recordfail
 insmod gzio
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 echo '载入 Linux 3.0.0-12-generic ...'
 linux /boot/vmlinuz-3.0.0-12-generic root=UUID=fcf615f7-a025-4519-bb6b-2c1c94f956ba ro recovery nomodeset
 echo '载入初始化内存盘...'
 initrd /boot/initrd.img-3.0.0-12-generic
 }
 ### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
 ### END /etc/grub.d/20_linux_xen ###

注意下面的一段文字
 terminal_output gfxterm
 if [ "${recordfail}" = 1 ]; then
 set timeout=-1
 else
 set timeout=10
 fi

这些就是设置在启动菜单停留的时间,默认是10秒,你可以在 set timeout=10中将数字10改成你要的时间就行了。

其中还有

### BEGIN /etc/grub.d/20_memtest86+ ###
 menuentry "Memory test (memtest86+)" {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 linux16 /boot/memtest86+.bin
 }
 menuentry "Memory test (memtest86+, serial console 115200)" {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos11)'
 search --no-floppy --fs-uuid --set=root fcf615f7-a025-4519-bb6b-2c1c94f956ba
 linux16 /boot/memtest86+.bin console=ttyS0,115200n8
 }
 ### END /etc/grub.d/20_memtest86+ ###

的启动项,这个是内存测试,我一般都是直接删除的,要这个一般没用,删除了的话还可以让启动菜单变得更加简洁。。。 😡

修改好之后直接点击保存再重启就可以看见尼修改好了的启动菜单,呵呵,win7是不是再上面了。很简单吧。 😛

发表评论

电子邮件地址不会被公开。 必填项已用*标注