第五步:更新配置GRUB引导列表---把GRUB菜单弄出来
更新grub的启动菜单: Ubuntu 10.04采取了新版本的grub, 用update-grub可以直接生成grub启动菜单,此时新版本的内核应当在第一个启动位置,默任下启动菜单是不显示的,要想显示启动菜单,需要:
1) sudo gedit /boot/grub/grub.cfg
我的grub.cfg添加如下:
menuentry "Ubuntu 10.04,Linux 2.6.36" --class ubuntu --class gnu-linux --class gnu --class os {
.....
search --no-floppy --fs-uuid --set 1ec4984f-e890-4417-b081-74e064f7ee85
linux /boot/vmlinuz-2.6.36 root=UUID=1ec4984f-e890-4417-b081-74e064f7ee85 ro quiet splash
initrd /boot/initrd.img-2.6.36
}
#以下是原2.6.32内核启动项,实际上,就是先把下面的内容复制一份,然后把 32 改为36,就是上面的那个菜单项了!
menuentry "Ubuntu,Linux 2.6.32-16-generic" --class ubuntu --class gnu-linux --class gnu --class os {
....
search --no-floppy --fs-uuid --set 1ec4984f-e890-4417-b081-74e064f7ee85
linux /boot/vmlinuz-2.6.32-16-generic root=UUID=1ec4984f-e890-4417-b081-74e064f7ee85 ro quiet splash
initrd /boot/initrd.img-2.6.32-16-generic
}
2) /etc/default/grub文件中
GRUB_HIDDEN_TIMEOUT=1
GRUB_TIMEOUT=n
这里n菜单显示超时秒数,缺省是10,可以改成需要的值.
3) 修改 /etc/grub.d/30_os-prober文件:
把其中的多处 timeout=0 改为 =n (n 为GRUB_TIMEOUT=n 中的n秒数)
if [ ${timeout} != -1 ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=n
fi
else
if sleep$verbose --interruptible 3 ; then
set timeout=n
fi
fi
fi
EOF
else
cat << EOF
if [ ${timeout} != -1 ]; then
if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
set timeout=n
fi
fi
这里粗体红色部分n本来数值为零,n的数值与GRUB_TIMEOUT相同,保存文件后,运行:
sudo update-grub
系统主动生成 /boot/grub/grub.cfg 文件。
PS: 如果此时 reboot 你会发现grub启动菜单出现啦!
阅读(384) | 评论(0) | 转发(0) |