web-dev-qa-db-ja.com

Grubは、12.10へのアップグレード後にデフォルトオプションを自動起動しません。

最近Ubuntuを12.04から12.10にアップグレードしましたが、それ以降、システムは自動的に起動しません。常にブートメニューが開きます。Enterキーを押してUbuntuをブートする必要があります。

タイムアウト値を無視し、「永久」タイムアウトを使用しているようです。

他のシステムはありません(デュアルブートはありません)。デフォルトではUbuntu 12.04のインストールで最初にインストールされたオプションのみです。

私の/etc/default/grubには次の効果的なオプションしかありません。

GRUB_DEFAULT='Ubuntu'
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_TERMINAL=console

私はGRUB_DEFAULTを試し、値に「0」、「1」、「Ubuntu」を指定しましたが、何も役に立ちません。

はい、その後は常にupdate-grubを実行します。

システムを再起動するにはどうすればよいですか?

12
Petr Kozelka

以下を/etc/default/grubに追加します

GRUB_RECORDFAIL_TIMEOUT=0

保存して実行

Sudo update-grub
10
shiv

/etc/grub.d/00_headerを見ると、次の行が表示されます。

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

基本的に、grub2はブートプロセスのエラーと手動ブートへのフォールバックを検出できます。

これらの行を次のように変更します

make_timeout ()
{
    cat << EOF
  set timeout=${2}
EOF
}

Sudo update-grubを使用してgrub設定を再生成すると、問題が修正されます。興味深い質問ですが、手動でEnterキーを押した後、grubがブートに失敗したと考える理由です。

2
Dmitry Vyal

/etc/default/grubファイルに次の値セットがあります。

GRUB_DEFAULT=5
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10

コンピューターに他のオペレーティングシステムがいくつかあり、GRUB_DEFAULT設定は、リストで0から始まり上向きにカウントされる特定の初期強調表示項目を設定するようです。 10秒のカウントダウン時間中に、リスト上の他のエントリ間で変更できます。

次の設定を試して、GRUB_HIDDEN_TIMEOUTパラメーターにコメントすることをお勧めします。

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10

その後、逆方向に作業を行い、GRUB_TIMEOUTまたはGRUB_HIDDEN_TIMEOUTパラメーターを徐々に1または2にして、デフォルトで選択されたシステムでの待機時間を短縮します。

ファイルのSudo geditのターミナルに到達するには、Ctrl + Alt + Tが必要になる場合があることに注意してください。

2
xxx