`
gyht0808
  • 浏览: 111513 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Ubuntu 9.10 grub2的启动配置文件grub.cfg

阅读更多

升级到Ubuntu 9.10后,就要接触grub2了,它和以前的版本有了很多的不同。这里是一个基础教程。

一、grub2的启动配置文件grub.cfg

grub2的启动配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。

如果你是多系统,有ubuntu和windows,那么用下面的命令,可以使grub2得到所以可以启动的系统。

sudo update-grub

实际就是让系统自己生成合适的grub.cfg文件。

这个grub.cfg文件是只读属性,so如果你要修改它,需要权限。

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

然后可以编辑grub.cfg了。

sudo gedit /boot/grub/grub.cfg

二、默认系统和等待时间

1、set default=0

这是说从第一项启动。每个启动项都是以menuentry开始,menuentry后面“xxx”是启动项名称,然后{xxx}是启动代码。

### BEGIN /etc/grub.d/10_linux ###
menuentry “Ubuntu, Linux 2.6.31-14-generic” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro   quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry “Memory test (memtest86+)” {
linux16 /boot/memtest86+.bin
}
menuentry “Memory test (memtest86+, serial console 115200)” {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {
insmod ntfs
set root=(hd0,1)
search –no-floppy –fs-uuid –set 5c108a1c1089fd70
drivemap -s (hd0) ${root}
chainloader +1
}
if keystatus; then
if keystatus –shift; then
set timeout=-1
else
set timeout=10
fi
else
if sleep$verbose –interruptible 3 ; then
set timeout=10
fi
fi
### END /etc/grub.d/30_os-prober ###

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

menuentry “Ubuntu, Linux 2.6.31-14-generic” {

recordfail=1

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

set quiet=1

insmod ext2

set root=(hd0,6)

search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059

linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro   quiet splash

initrd /boot/initrd.img-2.6.31-14-generic

}

menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {

recordfail=1

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

insmod ext2

set root=(hd0,6)

search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059

linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single

initrd /boot/initrd.img-2.6.31-14-generic

}

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

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

menuentry “Memory test (memtest86+)” {

linux16 /boot/memtest86+.bin

}

menuentry “Memory test (memtest86+, serial console 115200)” {

linux16 /boot/memtest86+.bin console=ttyS0,115200n8

}

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

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

menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {

insmod ntfs

set root=(hd0,1)

search –no-floppy –fs-uuid –set 5c108a1c1089fd70

drivemap -s (hd0) ${root}

chainloader +1

}

if keystatus; then

if keystatus –shift; then

set timeout=-1

else

set timeout=10

fi

else

if sleep$verbose –interruptible 3 ; then

set timeout=10

fi

fi

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

我的第个启动项是menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)”,我要它默认是以xp启动,所以修改为set default=”4″。(hd0,1)表示第一块硬盘的第个分区,我的Linux在(hd0,6)。

当然,你也可以把你需要默认启动的系统放到最前面,那么就还是set default=0

2、set timeout=10

if [ ${recordfail} = 1 ]; then

set timeout=-1

else

set timeout=10

fi

这里停留在grub选择系统界面的时间就是10秒,即set timeout=10。

有时候我并不想等待这么久,我直接启动xp,需要ubuntu时才按几下Shift键进入grub选择系统界面。可以添加如下代码:

if keystatus; then

if keystatus –shift; then

set timeout=-1

else

set timeout=10

fi

else

if sleep$verbose –interruptible 3 ; then

set timeout=10

fi

fi

三、其他详细配置说明

请点击此处

四、我的grub.cfg文件

安装了xp和ubuntu,默认启动xp,在电脑启动grub时,按Shift键进入系统选择界面。

#

# DO NOT EDIT THIS FILE

#

# It is automatically generated by /usr/sbin/grub-mkconfig using templates

# from /etc/grub.d and settings from /etc/default/grub

#

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

if [ -s /boot/grub/grubenv ]; then

have_grubenv=true

load_env

fi

set default=”4″

if [ ${prev_saved_entry} ]; then

saved_entry=${prev_saved_entry}

save_env saved_entry

prev_saved_entry=

save_env prev_saved_entry

fi

insmod ext2

set root=(hd0,6)

search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059

if loadfont /usr/share/grub/unicode.pf2 ; then

set gfxmode=640×480

insmod gfxterm

insmod vbe

if terminal_output gfxterm ; then true ; else

# For backward compatibility with versions of terminal.mod that don’t

# understand terminal_output

terminal gfxterm

fi

fi

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

set menu_color_normal=white/black

set menu_color_highlight=black/white

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

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

menuentry “Ubuntu, Linux 2.6.31-14-generic” {

recordfail=1

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

set quiet=1

insmod ext2

set root=(hd0,6)

search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059

linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro   quiet splash

initrd /boot/initrd.img-2.6.31-14-generic

}

menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {

recordfail=1

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

insmod ext2

set root=(hd0,6)

search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059

linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single

initrd /boot/initrd.img-2.6.31-14-generic

}

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

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

menuentry “Memory test (memtest86+)” {

linux16 /boot/memtest86+.bin

}

menuentry “Memory test (memtest86+, serial console 115200)” {

linux16 /boot/memtest86+.bin console=ttyS0,115200n8

}

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

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

menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {

insmod ntfs

set root=(hd0,1)

search –no-floppy –fs-uuid –set 5c108a1c1089fd70

drivemap -s (hd0) ${root}

chainloader +1

}

if keystatus; then

if keystatus –shift; then

set timeout=-1

else

set timeout=10

fi

else

if sleep$verbose –interruptible 3 ; then

set timeout=10

fi

fi

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics