實現Linux和QNX雙系統啟動
阿新 • • 發佈:2019-01-27
前陣子要測試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.