web-dev-qa-db-ja.com

Grub2でブートタイムアウトを有効にする方法は?

Ubuntu9.10のgrub2でブートタイムアウトの選択を有効にしようとしています。

/ etc/default/grubを変更しました。

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
GRUB_CMDLINE_LINUX=""

と実行しましたupdate-grub、しかし私はまだブートタイムアウトカウンターを持っていません。これを有効にするために他に何ができますか?

4
cmcginty

http://ubuntuforums.org/showthread.php?t=1373965 からの回答

/etc/grub.d/00_headerファイルの最後で、次のような通常の設定タイムアウト行を除いて、if条件をコメントアウトします。

#if [ \${recordfail} = 1 ]; then
#  set timeout=-1
#else
  set timeout=${GRUB_TIMEOUT}
#fi

update-grubを実行して、新しい設定でgrub.cfgを再生成します。

Sudo update-grub

再起動すると、前回の起動に失敗した場合でも、タイムアウト後に常にデフォルトのオプションが起動するはずです。

5
Yariv

この問題は、grub env値:recordfailに関連していました。次のコマンドで解決できました。

grub-editenv /boot/grub/grubenv unset recordfail

タイムアウトが常に機能することを保証する別のオプション:

rm /boot/grub/grubenv

これを行わないと、grubがrecordfail値を書き換える可能性があります。組み込みシステムにはこれが必要でした。

4
cmcginty

以前の回答と非常によく似た結果を得るための少し侵襲性の低いオプションは、/etc/default/grubに次の行を追加することです。

GRUB_RECORDFAIL_TIMEOUT=5

...または必要な秒数。 0に設定するのは危険かもしれません。よくわかりません。

1
Carolus