天天看點

ubuntu12.04和win7雙系統修改啟動順序,學習grub.cfg檔案

ubuntu12.04和win7雙系統修改啟動順序,學習grub.cfg檔案

編輯grub.cfg檔案即可:sudogedit /boot/grub/grub.cfg

  1. 修改預設的啟動系統

setdefault=0 #表示預設從第0個系統啟動

win7應該修改為第5個啟動(順序數是第六個)

setdefault=5

2.grub.cfg可以學習到ubuntu開機啟動的順序

sudoupdate-grub進行更新grub.cfg腳本

#

# DONOT EDIT THIS FILE

#

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

sethave_grubenv=true

load_env

fi

setdefault="5"

if ["${prev_saved_entry}" ]; then

setsaved_entry="${prev_saved_entry}"

save_envsaved_entry

setprev_saved_entry=

save_envprev_saved_entry

setboot_once=true

fi

functionsavedefault {

if [-z "${boot_once}" ]; then

saved_entry="${chosen}"

save_envsaved_entry

fi

}

functionrecordfail {

setrecordfail=1

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

}

functionload_video {

insmodvbe

insmodvga

insmodvideo_bochs

insmodvideo_cirrus

}

insmodpart_msdos

insmodext2

setroot='(hd0,msdos5)'

search--no-floppy --fs-uuid --set=rootb7139482-9575-4e5e-bac9-47d4131a13d4

ifloadfont /usr/share/grub/unicode.pf2 ; then

setgfxmode=auto

load_video

insmodgfxterm

insmodpart_msdos

insmodext2

setroot='(hd0,msdos5)'

search--no-floppy --fs-uuid --set=rootb7139482-9575-4e5e-bac9-47d4131a13d4

setlocale_dir=($root)/boot/grub/locale

setlang=zh_CN

insmodgettext

fi

terminal_outputgfxterm

if ["${recordfail}" = 1 ] ; then

settimeout=-1

else

settimeout=10

fi

###END /etc/grub.d/00_header ###

###BEGIN /etc/grub.d/05_debian_theme ###

setmenu_color_normal=white/black

setmenu_color_highlight=black/light-gray

ifbackground_color 44,0,30; then

clear

fi

###END /etc/grub.d/05_debian_theme ###

###BEGIN /etc/grub.d/10_linux ###

functiongfxmode {

setgfxpayload="${1}"

if ["${1}" = "keep" ]; then

setvt_handoff=vt.handoff=7

else

setvt_handoff=

fi

}

if ["${recordfail}" != 1 ]; then

if [-e ${prefix}/gfxblacklist.txt ]; then

ifhwmatch ${prefix}/gfxblacklist.txt 3; then

if[ ${match} = 0 ]; then

setlinux_gfx_mode=keep

else

setlinux_gfx_mode=text

fi

else

setlinux_gfx_mode=text

fi

else

setlinux_gfx_mode=keep

fi

else

setlinux_gfx_mode=text

fi

exportlinux_gfx_mode

if ["${linux_gfx_mode}" != "text" ]; then load_video;fi

#ubuntu啟動菜單項,使用者界面看到的

menuentry'Ubuntu,Linux3.2.0-86-generic-pae' --class ubuntu --class gnu-linux--class gnu --class os {

recordfail

gfxmode$linux_gfx_mode

insmodgzio

insmodpart_msdos

insmodext2

#對root分區賦予初始值

setroot='(hd0,msdos5)'

#search真正的root分區

search--no-floppy --fs-uuid --set=rootb7139482-9575-4e5e-bac9-47d4131a13d4

#引導核心,給root指派

linux /boot/vmlinuz-3.2.0-86-generic-paeroot=UUID=b7139482-9575-4e5e-bac9-47d4131a13d4 ro quiet splash$vt_handoff

#啟動系統initd腳本,實際之後會啟動使用者bash腳本

initrd /boot/initrd.img-3.2.0-86-generic-pae

}

menuentry'Ubuntu, with Linux 3.2.0-86-generic-pae(recovery mode)' --class ubuntu --class gnu-linux --classgnu --class os {

recordfail

insmodgzio

insmodpart_msdos

insmodext2

setroot='(hd0,msdos5)'

search--no-floppy --fs-uuid --set=rootb7139482-9575-4e5e-bac9-47d4131a13d4

echo '載入Linux3.2.0-86-generic-pae ...'

linux /boot/vmlinuz-3.2.0-86-generic-paeroot=UUID=b7139482-9575-4e5e-bac9-47d4131a13d4 ro recovery nomodeset

echo '載入初始化記憶體盤...'

initrd /boot/initrd.img-3.2.0-86-generic-pae

}

submenu"Previous Linux versions" {

menuentry'Ubuntu,Linux3.2.0-29-generic-pae' --class ubuntu --class gnu-linux--class gnu --class os {

recordfail

gfxmode$linux_gfx_mode

insmodgzio

insmodpart_msdos

insmodext2

setroot='(hd0,msdos5)'

search--no-floppy --fs-uuid --set=rootb7139482-9575-4e5e-bac9-47d4131a13d4

linux /boot/vmlinuz-3.2.0-29-generic-paeroot=UUID=b7139482-9575-4e5e-bac9-47d4131a13d4 ro quiet splash$vt_handoff

initrd /boot/initrd.img-3.2.0-29-generic-pae

}

menuentry'Ubuntu, with Linux 3.2.0-29-generic-pae(recovery mode)' --class ubuntu --class gnu-linux --classgnu --class os {

recordfail

insmodgzio

insmodpart_msdos

insmodext2

setroot='(hd0,msdos5)'

search--no-floppy --fs-uuid --set=rootb7139482-9575-4e5e-bac9-47d4131a13d4

echo '載入Linux3.2.0-29-generic-pae ...'

linux /boot/vmlinuz-3.2.0-29-generic-paeroot=UUID=b7139482-9575-4e5e-bac9-47d4131a13d4 ro recovery nomodeset

echo '載入初始化記憶體盤...'

initrd /boot/initrd.img-3.2.0-29-generic-pae

}

}

###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+)"{

insmodpart_msdos

insmodext2

setroot='(hd0,msdos5)'

search--no-floppy --fs-uuid --set=rootb7139482-9575-4e5e-bac9-47d4131a13d4

linux16 /boot/memtest86+.bin

}

menuentry"Memory test (memtest86+, serialconsole 115200)" {

insmodpart_msdos

insmodext2

setroot='(hd0,msdos5)'

search--no-floppy --fs-uuid --set=rootb7139482-9575-4e5e-bac9-47d4131a13d4

linux16 /boot/memtest86+.binconsole=ttyS0,115200n8

}

###END /etc/grub.d/20_memtest86+ ###

###BEGIN /etc/grub.d/30_os-prober ###

#windows菜單項,要包括menuentry雙引号"" 和大括号{}才完整,否則不顯示菜單

menuentry"Windows 7 (loader) (on /dev/sda1)"--class windows --class os {

insmodpart_msdos

#windows格式為ntfs,或為fat32改為insmodfat

insmodntfs

setroot='(hd0,msdos1)'

search--no-floppy --fs-uuid --set=root 0A123FE6123FD583

chainloader+1

}

settimeout_style=menu

if ["${timeout}" = 0 ]; then

settimeout=10

fi

###END /etc/grub.d/30_os-prober ###

###BEGIN /etc/grub.d/30_uefi-firmware ###

###END /etc/grub.d/30_uefi-firmware ###

###BEGIN /etc/grub.d/40_custom ###

# Thisfile provides an easy way to add custom menu entries. Simply typethe

# menuentries you want to add after this comment. Be careful not tochange

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

更多細節參考官方文檔:

http://www.gnu.org/software/grub/manual/grub.html

繼續閱讀