更改Grub,设置默认启动windows

本人之前是win7系统,由于用光盘安装了ubuntu,开机启动交由GRUB管理,默认启动的是ubuntu,现在本人想改为默认启动win7。下面是方法:

以下是ubuntu下/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,msdos2)'
search --no-floppy --fs-uuid --set=root 368ee0d6-b21f-45df-a18c-fa202cd171a6
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos2)'
  search --no-floppy --fs-uuid --set=root 368ee0d6-b21f-45df-a18c-fa202cd171a6
  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=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
	set gfxpayload="$1"
	if [ "$1" = "keep" ]; then
		set vt_handoff=vt.handoff=7
	else
		set vt_handoff=
	fi
}
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.2.0-44-generic' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	gfxmode $linux_gfx_mode
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos2)'
	search --no-floppy --fs-uuid --set=root 368ee0d6-b21f-45df-a18c-fa202cd171a6
	linux	/boot/vmlinuz-3.2.0-44-generic root=UUID=368ee0d6-b21f-45df-a18c-fa202cd171a6 ro   quiet splash $vt_handoff
	initrd	/boot/initrd.img-3.2.0-44-generic
}
menuentry 'Ubuntu,Linux 3.2.0-44-generic (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos2)'
	search --no-floppy --fs-uuid --set=root 368ee0d6-b21f-45df-a18c-fa202cd171a6
	echo	'载入 Linux 3.2.0-44-generic ...'
	linux	/boot/vmlinuz-3.2.0-44-generic root=UUID=368ee0d6-b21f-45df-a18c-fa202cd171a6 ro recovery nomodeset 
	echo	'载入初始化内存盘...'
	initrd	/boot/initrd.img-3.2.0-44-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu,Linux 3.0.0-32-generic' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	gfxmode $linux_gfx_mode
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos2)'
	search --no-floppy --fs-uuid --set=root 368ee0d6-b21f-45df-a18c-fa202cd171a6
	linux	/boot/vmlinuz-3.0.0-32-generic root=UUID=368ee0d6-b21f-45df-a18c-fa202cd171a6 ro   quiet splash $vt_handoff
	initrd	/boot/initrd.img-3.0.0-32-generic
}
menuentry 'Ubuntu,Linux 3.0.0-32-generic (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos2)'
	search --no-floppy --fs-uuid --set=root 368ee0d6-b21f-45df-a18c-fa202cd171a6
	echo	'载入 Linux 3.0.0-32-generic ...'
	linux	/boot/vmlinuz-3.0.0-32-generic root=UUID=368ee0d6-b21f-45df-a18c-fa202cd171a6 ro recovery nomodeset 
	echo	'载入初始化内存盘...'
	initrd	/boot/initrd.img-3.0.0-32-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,msdos2)'
	search --no-floppy --fs-uuid --set=root 368ee0d6-b21f-45df-a18c-fa202cd171a6
	linux16	/boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos2)'
	search --no-floppy --fs-uuid --set=root 368ee0d6-b21f-45df-a18c-fa202cd171a6
	linux16	/boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows Recovery Environment (loader) (on /dev/sda1)" --class windows --class os {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set=root 1A5C1B8C5C1B6235
	drivemap -s (hd0) ${root}
	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 ###
注意到以上代码第十三行:
set default="0"

即默认启动第一项,如果要设置为默认启动win7,由于win7的启动项在第六列(开机画面可见),所以本句应该改为:

set default="5"

下面教大家一个修改的方法:

第一,由于/boot/grub/grub.cfg这个文件为只读,所以我们要给我们的用户添加写入的权限:

sudo chmod +w /boot/grub/grub.cfg
第二,现在可以使用VI去修改/boot/grub/grub.cfg,将
set default="0"
改为

set default="5"
第三,最后取消用户对/boot/grub/grub.cfg写的权限:

sudo chmod -w /boot/grub/grub.cfg

到此,重启就发现默认启动的是Win7了。

你可能感兴趣的:(windows,win7,默认,grub,启动项)