grubのタイムアウトとgrubのデフォルトのブートエントリを設定するにはどうすればよいですか?


191

Ubuntu 12.04(またはそれ以上)で、Windows(7/8)とUbuntu(12.04以降)をデュアルブートしているときにGRUB時間とデフォルトのOS(ブート時に表示される)を設定するにはどうすればよいですか?


詳細を教えてください。「grub time」とは何を意味し、デフォルトのOSは何ですか。GRUBメニューには、どのような行がありますか?
ジュリアンチャウ

1
グラブ時間は、BIOS起動画面でOSを選択する必要があるときのカウントダウン時間を意味します。申し訳ありませんが、そのos選択メニューの名前が正確にわからないため、grub時間として投稿しました。
流星

回答:


227
  • プレスAlt+ F2、型gksudo gedit /etc/default/grub押しEnter、パスワードを入力します。
  • 次の内容が表示されます。

    GRUB_DEFAULT = 0
    GRUB_HIDDEN_TIMEOUT = 0
    GRUB_HIDDEN_TIMEOUT_QUIET = true
    GRUB_TIMEOUT = 10
    GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || Debian`のエコー
    GRUB_CMDLINE_LINUX_DEFAULT = "静かなスプラッシュ"
    GRUB_CMDLINE_LINUX = ""
    
  • デフォルトを0からGrubブートアップメニューのエントリに対応する任意の番号に変更できます(最初のエントリは0、2番目のエントリは1など)。

  • 「隠しタイムアウト」(メニューなし)を変更できます。カウントダウン(GRUB_HIDDEN_TIMEOUT_QUIET=false)も表示します
  • GRUB_HIDDEN#の先頭にを付けて2 行をコメントアウトすることにより、grubメニューを強制的に表示できます。
  • GRUBメニューのタイムアウトを設定します(デフォルトは10秒です)

  • 変更を加えるには、Ctrl+ Sを押して保存し、Ctrl+ Qを押して終了します

  • 重要Ctrl+ Alt+でターミナルを開き、T入力sudo update-grubしたばかりの変更を適用します
  • 再起動すると、タイムアウト/デフォルトエントリの変更が表示されます。

リンクされた質問:


@Rajaに感謝しますが、grub / grub2が主な違いでした。あなたが正しいgrub2を持っているなら、私は別の答えを作る代わりに喜んであなたの答えを編集したでしょう:)
ish

あなたの答えが働いたことに感謝しますが、2番目と3番目のポイント(隠されたタイムアウトと隠された行をグラブする)の意味を説明してください。
流星

2
任意のインデックスを設定してデフォルトのgrubオプションを変更することを誰にもお勧めしないでください。それは非常に直感的ではなく、災害を引き起こす可能性があります。ユーザーが間違ったものを入力したり、アップグレード中に変更されたりして、予期しない動作が発生する場合があります。
セリン

2
これには、現在のgrubメニューのデュアルレベルに関連する更新が必要です。
ハヌ

1
@Cerinそれでは、あなたの提案は何ですか?
phil294

30

上記の例で編集しているファイル(/ etc / default / grub)を読むと、最初の数行でupdate-grub、grubが読み取る実際のファイルを更新するために変更を加えた後に実行するよう指示されていることがわかります。その指示を取得します」(/boot/grub/grub.cfg)。sudoコマンドを実際に実行するにはroot権限が必要なので、最初にコマンドで実際に実行する必要があることに注意してください(上記のポスターがを入力するように言った理由sudo update-grubです)。これにより、行った変更が/boot/grub/grub.cfgに書き込まれます。次の数行は、を入力することにより、そのファイル(再び、/ etc / default / grub)のオプションの完全なドキュメントを読むことができることを示していますinfo -f grub -n 'Simple configuration'

ただし、「grub time」を無期限に設定する場合は、GRUB_TIMEOUTを-1に設定します。つまり、自動的に起動することはありません。選択する必要があります。

最後に、質問に答えるために、上記のドキュメントから直接「隠線をグラブ」する説明を示します。

GRUB_HIDDEN_TIMEOUT
    Wait this many seconds for a key to be pressed before displaying
    the menu.  If no key is pressed during that time, boot
    immediately.  Unset by default.

GRUB_HIDDEN_TIMEOUT_QUIET
    In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to
    suppress the verbose countdown while waiting for a key to be
    pressed before displaying the menu.  Unset by default.

これがお役に立てば幸いです!


14

Grub Customizerというアプリケーションを使用できます。はるかに簡単です。

次の方法でインストールできます。

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

これに関するHow-To Geekの記事「Linux GRUB 2ブートメニューを簡単な方法で構成する方法」があります。また、Ubuntuフォーラムには、このツールに言及しているGRUB 2のブート順序の変更に関する解決済みのスレッドがあります。

このソフトウェアのスクリーンショットは次のとおりです。

screen_1

screen_2

screen_3


1
これには、現在のgrubメニューのデュアルレベルに関連する更新が必要です。
ハヌ

5

最初の回答に従いましたが、Windows 7 ProとUbuntu 16.04でデュアルブートしている場合は更新する必要があるようです。また、BIOSでセキュアブートがオフになっていることを確認してください。

a)最初に、ターミナルウィンドウを開くために使用したいと思うときに、use Alt+ と言いF2ます。私の場合はCtrl+ Alt+ Tです。

b)最初のエントリでgksudo gedit /etc/default/grubは、gksudoコマンドはデフォルトでUbuntu 16.04にインストールされません。これを回避するには、ターミナルで次の手順を実行します。

sudo -iを押しEnterてパスワードを入力し、Enterもう一度入力します。

次に入力:

gedit /etc/default/grubを押しEnterます。

c)回答1に示すように、GRUB変更メニューが表示されます。変更を保存するには、Ctrl+ に到達するまで回答に従ってくださいS。これはUbuntu 16.04では機能しませんが、画面の右上隅に保存ボタンが表示されるはずです。それをクリックしてください。

d)Ctrl+ Q終了します。

e)次にタイプsudo update-grubEnter

f)を入力しexitます。これを2回行う必要があります。

g)再起動

私のコンピューターでは、数回のログオン後、起動プロセスで起動時にgrub画面が表示されないため、Windowsをデフォルトの起動として設定していたため、Ubuntuにアクセスできませんでした。 Ubuntuに。

この問題を修正するには、Windowsに入る必要があります。

  1. [スタート]メニューをクリックしてCMD、検索ボックスに入力します。

  2. 右クリックで生成された画面の上部にあるはずのCMD行を右クリックします。

  3. 管理者として実行をクリックします

  4. コマンドラインでタイプしbcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efiます。このエントリには、grubメニューをWindowsブートマネージャーに登録する効果があります。(クレジット:Windows 8.1 Ubuntu 13.10デュアルブートの起動時にGrubが表示されない

  5. 最後に、Windowsに再起動しました。

これがお役に立てば幸いです。


「回答1に示されている」にリンクしてください。意味がわかりませんでした。
トム・ヘイル

また、「最初の答えに従いました」。例として、「Credit to:」フォーマットを使用できます。素晴らしい最初の投稿。AskUbuntuへようこそ。
トム・ヘイル

geditのようなグラフィカルアプリケーションをsudoとして実行すると、Xウィンドウが奇妙な方法で壊れてしまいました。代わりにnanoのようなテキストベースのエディターを使用することをお勧めします。
アーサータッカ

2
Alt+F2バックグラウンドでコマンドを実行するための単一のショートカットです。開いたメニューで、ターミナルで行うのと同じように任意のコマンドを入力できます。しかし、ターミナルを開かないため、ターミナル出力は表示されず、ターミナルと対話することはできません。そのため、通常はgeditのようなGUIプログラムの起動などに使用します。また、そのための端末が必要なため、sudoを使用できません。それが彼らが使用する理由ですgksudo(GUI sudo)。あなたはターミナルでコマンドを実行する場合は、あなただけの通常使用することができますsudo。このようなsudo gedit /etc/default/grubの必要はありませんがsudo -i
セバスチャン

グラフィックアプリを起動するための@Sebastian、sudo -H優れている、すなわちsudo -H gedit /etc/default/grub
wjandrea

2

数値に基づいたデフォルトのエントリを使用すると、GRUBに導入されてから驚いた。これは本当に悪い考えです。カーネルの更新とgrubの自動再構成はどうですか?リストの最後に入力することを好む知らないユーザーはどうですか?更新すると、そのデフォルトの数値ベースの構成が壊れます。

代わりに、ここでSAVEDオプションを使用して、最後に選択したエントリを記憶します。

GRUB_DEFAULT=SAVED
GRUB_SAVEDEFAULT=TRUE

次に、GRUBを適用します

sudo update-grub

1
大きな問題ではありませんが、これらの変更をどのようにまたはどこで行うかについては説明しません。別の答えにリンクすることもできます。
wjandrea

1

16.04でもこれは機能しません。

しかし、ファイル/boot/grub/grub.cfgを変更して修正しました

sudo vim /etc/default/grub

グラブを編集する

sudo update-grub
sudo chmod u+w /boot/grub/grub.cfg
sudo vim /boot/grub/grub.cfg

タイムアウト値を変更する

###segment in /boot/grub/grub.cfg:
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  #set timeout=10 # comment this original
  set timeout=0 # add this
fi

sudo chmod -w /boot/grub/grub.cfg
reboot

0

コードなしで簡単に実行できます。次の手順に従ってください。

  1. ファイルシステムを開きます。
  2. /etcフォルダーを開きます。
  3. defaultフォルダーを開きます。
  4. grubファイルを見つけてleafpad(または他のテキストエディターで)開きます。
  5. GRUB_TIMEOUT必要に応じて設定して保存します。
  6. ターミナルを開いて、と入力しupdate-grubます。
  7. システムを再起動します。

それでおしまい。


0

次のような行があると思います:GRUB_TIMEOUT_STYLE = hidden

GRUB_TIMEOUT_STYLE = menuに変更します

そして、隠し機能に関するすべての行をコメントします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.