Chinaunix首页 | 论坛 | 博客
  • 博客访问: 302433
  • 博文数量: 47
  • 博客积分: 2455
  • 博客等级: 大尉
  • 技术积分: 558
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-25 15:43
文章分类

全部博文(47)

文章存档

2016年(2)

2012年(10)

2011年(13)

2010年(1)

2009年(19)

2008年(2)

分类: LINUX

2011-08-04 10:43:45

前阵子要测试QNX6.5, 于是拿出一台机房的机器来, 重新设计了一下分区, 给QNX单独开了一个分区, 毕竟QNX不是天天用, 所以没有必要只装一个系统. 其他系统我是预留给Ubuntu的.

安装完QNX并测试了一段时间, 我打算在该机上再装一个Ubuntu10.10. 本以为Ubuntu的grub2能够自动识别出已经安装的QNX, 谁知不行, grub中根本没有相应条目.

于是, 根据 , 修改了一下grub的条目, 将/etc/grub.d/40_custom改为一下内容:

  1. #!/bin/sh
  2. exec tail -n +3 $0
  3. # This file provides an easy way to add custom menu entries. Simply type the
  4. # menu entries you want to add after this comment. Be careful not to change
  5. # the 'exec tail' line above.
  6. menuentry "QNX6.5" {
  7. set root=(hd0,msdos1)
  8. chainloader +4
  9. boot
  10. }
需要注意的是, grub2与grub不同, 已经没有rootnoverify命令, 而且命名分区的方式也发生了变化, 所以前的命令 "rootnoverify(hd1,1)"是错误. 其他grub2语法不累述.

而后执行update-grub重启, 但是却依然没有看到grub的菜单就直接进入Linux了. 后发现是grub设置的问题.

在我的/etc/grub/grub.cfg中, 默认的条目是0, 即Linux的条目, 且设置GRUB_HIDDEN_TIMEOUT_QUIET为TRUE来阻止产生一个计时, GRUB_HIDDEN_TIMEOUT为0使得不提供任何机会来进行条目选择. 如果想选择其他的作为默认条目, 可以直接用该条目的名字. 条目的准确名字可以通过update-grub获得, 因为update-grub本身会扫描所有的条目, 然后显示出来, 比如我要设置我个人台式机Linux/Windows双启动, Windows默认. 则运行update-grub会看到"Microsoft Windows XP Professional on /dev/sda1". 于是就可以把GRUB_DEFAULT设置为这个值(需要双引号).

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.

阅读(1758) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~