实现Linux和QNX双系统启动 (2011-08-04 10:43)
分类:
Unix/Linux
前阵子要测试QNX6.5, 于是拿出一台机房的机器来, 重新设计了一下分区, 给QNX单独开了一个分区, 毕竟QNX不是天天用, 所以没有必要只装一个系统. 其他系统我是预留给Ubuntu的.
安装完QNX并测试了一段时间, 我打算在该机上再装一个Ubuntu10.10. 本以为Ubuntu的grub2能够自动识别出已经安装的QNX, 谁知不行, grub中根本没有相应条目.
于是, 根据https://help.ubuntu.com/community/Grub2 , 修改了一下grub的条目, 将/etc/grub.d/40_custom改为一下内容:
- #!/bin/sh
- exec tail -n +3 $0
- # 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.
- menuentry "QNX6.5" {
- set root=(hd0,msdos1)
- chainloader +4
- boot
- }
而后执行update-grub重启, 但是却依然没有看到grub的菜单就直接进入Linux了. 后发现是grub设置的问题.
在我的/etc/grub/grub.cfg中, 默认的条目是0, 即Linux的条目, 且设置GRUB_HIDDEN_TIMEOUT_QUIET为TRUE来阻止产生一个计时, GRUB_HIDDEN_TIMEOUT为0使得不提供任何机会来进行条目选择.
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
于是我把该内容改为显示计时以便进行条目选择.
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=20
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=60
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
执行update-grub更新grub后, 再重启, 就看到了grub的菜单, 里面有QNX的条目, 可以选择性的启动QNX了. 如果没有任何动作的话, 在20+60秒后, 系统仍将默认进入Ubuntu.