Mac OS X virtualbox ホスト内に複数の Ubuntu ゲストがあります。起動すると正常に起動し、ログイン画面に移動するか、すべてのサービスを開始する時間が約半分です。残りの半分の時間に座って、私はオペレーティングシステムを選択するのを待ちます。前に座っているときは大丈夫ですが、マシンが起動したときに仮想マシンを自動的に起動したいと思います。
ゲストOS内で再起動しても同じ問題は発生しないようです。
私が試したこと:
GRUB_HIDDEN_TIMEOUT
コメントを削除して実行しようとすると、update-grub
ゲストOSがより頻繁に正しく起動するようになりましたが、問題は解決されませんでした。ヘッドレスで起動することも役に立ちません。
詰まる部分:
/etc/default/grub
:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
バージョン:
Grub 1.99-21ubuntu3.9
Ubuntu Server LTS
Virtualbox 4.2.10
答え1
@nickの答えを拡張すると、これは実際にロギング失敗機能です。
ただし、/etc/grub.d/00_header
次の行を追加できます。/etc/default/grub
GRUB_RECORDFAIL_TIMEOUT=2
(またはタイムアウトを望むだけ)次を実行します。sudo update-grub
答え2
だから、これは次のようなことがわかりました。grubの文書化された機能。コンピュータが異常終了すると、自動的にオペレーティングシステムが起動しません。そのため、OS内で再起動したときに問題は発生しませんでした。
無効にする方法
そのリンクが機能しない場合に備えて、次の手順を実行してください。
Grub2の記録失敗機能を無効にする
ほとんどの人にとって、Grub 2のこの新機能は間違いなく良いことです。しかし、これらのバグの1つに苦しんでいる場合、または他の理由でそのバグを無効にしたい場合:
/etc/grub.d/00_header
次の方法でファイルを開きます。
sudo nano /etc/grub.d/00_header
探す
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=${GRUB_TIMEOUT}
fi
それに変える
set timeout=5
ファイルを保存して実行します。
sudo update-grub
答え3
/boot/grub/menu.lstを修正し、タイムアウトを0に設定してみましたか?
答え4
必要なのは、/etc/default/grubでGRUB_TIMEOUTを0に設定することです。詳細については、以下を実行してください。info -f grub -n "Simple configuration"
vi /etc/default/grub
GRUB_TIMEOUT=0に設定
sudo update-grub
今再起動