web-dev-qa-db-ja.com

Ubuntu 14.04でGRUBメニューを非表示にする方法

Windows 8.1とUbuntu 14.04の2つのオペレーティングシステムがあります。 GRUBメニューを非表示にします。私はgrub 2.02〜beta2-9を使用しています。 /etc/default/grubの次の組み合わせを試しました。

  1. \#GRUB_HIDDEN_TIMEOUT=1  
    \#GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=0
    

    grubメニューは10秒間表示されます(タイムアウトが0より大きい値に設定されている場合、正しく表示されます:GRUB_TIMEOUT=5-5秒の遅延)

  2. GRUB_HIDDEN_TIMEOUT=1  
    GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=0 
    

    grubメニューが表示されているので、GRUB_HIDDEN_TIMEOUT=falseGRUB_TIMEOUTGRUB_HIDDEN_TIMEOUTの両方をゼロとゼロ以外の値に設定しようとしました

  3. \#GRUB_HIDDEN_TIMEOUT=1  
    \#GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=1  
    GRUB_TIMEOUT_STYLE=hidden
    

    grubメニューは1秒間表示されますが、GRUB_TIMEOUT_STYLE=countdownが0に設定されている場合、GRUB_TIMEOUTも同じ結果で10秒遅れて表示されます

変更するたびにupdate-grubと入力し、コンピューターを再起動して結果を確認します。

GRUBによれば、info -f grub -n 'Simple configuration'にあるドキュメントの2番目の方法は非推奨です。正しい方法は3番目の方法です。GRUB_TIMEOUT_STYLEを使用しますが、残念ながら機能しません。おそらく何らかのバグです。

8
ezpn

通常、オプションGRUB_TIMEOUT=0を実行しているOSが1つだけの場合は機能します。 GRUB 2のos-prober/etc/grub.d/30_os-proberスクリプトの実行中に追加のオペレーティングシステムを識別する場合、非表示メニュータイムアウト機能は条件ステートメントによって無効になります。これにより、使用する機能も無効になります Shift 起動中にメニューを表示するキー。メニューを非表示にする複数のオペレーティングシステムを持つユーザーは、さまざまなフォーラムでスクリプトの編集を見つけることができます。これにより、ブートシーケンスに非表示のタイムアウト機能を追加できます。

この回答 を確認してください。

6
cioby23

私は非常に迅速な解決策を見つけましたが、結果をまだ見ていません。

Update-grubのos_proberスクリプトには、設定したタイムアウトをバイパスし、他のOSが見つかった場合にブートメニューを強制的に表示するための行があります。これを簡単に無効にするには、「quick_boot」変数を0に設定します。

  • ファイル変更の最初の/etc/grub.d/30_os_prober

    quick_boot="1"からquick_boot="0"

  • 次にSudo update-grubを実行します

8
Motsah

30_os_proberを編集しようとしましたが、名前が10_os_proberに変更されていることがわかりました。

それ以外に Motsah によって上で提供されたソリューションは私にとって完璧に機能します。

私は今持っています:

GRUB_DEFAULT="0"   
GRUB_HIDDEN_TIMEOUT="1"   
GRUB_HIDDEN_TIMEOUT_QUIET="true"    
GRUB_TIMEOUT="0"

/etc/default/grub

隠されたタイムアウトをより高い設定に変更しても、効果はないようです。 0にすると、メニューに入ることができなくなります。

上からコピーし、10_os_proberに変更してこれを完了します。

/etc/grub.d/10_os_prober変更

quick_boot="1"

quick_boot="0"

ファイルの先頭。

実行:

Sudo update-grub
1
sligchop