web-dev-qa-db-ja.com

スタックした起動メニューでUbuntuを強制的に起動するにはどうすればよいですか?

Ubuntu Server 11.04を使用していますが、ヘッドレス(モニターなし)です。アクセスできるようにする唯一の方法は、SSHを介してリモートで行うことです。ただし、電源が切れた後、サーバーを再起動すると、Grubのブートメニューにスタックし、カウントダウンしないことがあります。私が最初のブートエントリを選択するのを待っているだけです。つまり、そこに行ってモニターとキーボードを接続する必要があります。

しかし、私はそれをリモートで行うことはできません。電力損失などに関係なく、ブートエントリ1(デフォルト)までブートを継続させるにはどうすればよいですか?

31
nLinked

これに対する答えは、grubファイル/etc/grub.d/00_headerにあります。

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=${2}
fi
EOF
}

タイムアウト値を-1に設定すると、カウントダウンが停止します。値を0より大きい値に変更します。つまり、set timeout=10

ファイルのこのセクションは次のようになります

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=10
else
  set timeout=${2}
fi
EOF
}

次に実行する

Sudo update-grub2
10
fossfreedom

Ubuntu 12.04の時点では、より簡単ですが、文書化されていない解決策は、/etc/default/grubを使用してrecordfailタイムアウトをオーバーライドすることです。

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

そのようなオプションが完全に文書化されていないという事実は、あまりにも悪いです。

編集

実際、GRUB_RECORDFAIL_TIMEOUTのサポートは、バージョン1.99-21ubuntu3.3から始まる12.04サイクルの途中で追加されました。

  grub2 (1.99-21ubuntu3.3) precise-proposed; urgency=low

[ Ben Howard ]
* Parameterization of recordfail setting. This allows users to define the
  default time out of GRUB when recordfail has been set. The curren
  setting causes hangs on headless and appliances where access to the
  console is limited or prohibited.  (LP: #669481)  [1]

-- Louis Bouchard <[email protected]>  Tue, 21 Aug 2012 10:51:58 +0200

より詳細な情報 LaunchPadから

36
C2H5OH