GRUBのブート順序を変更するにはどうすればよいですか?


336

共有マシンにWindows 7とUbuntuの両方がインストールされています。多くの非開発者がWindowsを使用しているので、起動順序を変更して簡単にしたいと思います。

現在、起動順序は次のようになっています。

  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86(セーフブート)
  • 記憶力試験
  • 記憶力試験
  • Windows 7で /dev/sda6

Windows 7がリストの一番上になるようにデフォルトの順序を変更するにはどうすればよいですか?

  • Windows 7で /dev/sda6
  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86(セーフブート)
  • 記憶力試験
  • 記憶力試験


grubファイルを変更した後、「sudo update-grub」を実行しましたか?
ティネルス

はい、私はそれをするのを忘れているかもしれないと思います、ありがとう!結果を更新してみます。
jeffery_the_wind

kubuntu 14.04 sudo apt-get install kde-config-grub2その後、システム構成でgotoスタートアップシャットダウン
n611x007

回答:


295

Grub Customizerと呼ばれる使いやすいGUIアプリケーションを使用して、生活を少し楽にすることができます。名前が示すように、GRUBメニューエントリを並べ替えるだけではありません。

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

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

(「Ubuntuに質問する」を参照してください。PPAはシステムに追加しても安全ですか?また、注意すべき「レッドフラグ」は何ですか?

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

スクリーンショットは次のとおりです。

screen_1

screen_2

screen_3


トラブルシューティング:

Grubカスタマイザー設定は、Grubをインストールした最新のLinux / Ubuntuインストール内でのみ機能する場合があります。

たとえば、誰かが2つのOS-es(WindowsとUbuntu)をインストールしてから、3番目のOS(Manjaroなど)をインストールしてから上記の回答に従うようにすると、Grub Customizerの変更は2番目のOS( Ubuntu、例では)。Grub Customizerは、それ自体がインストールされているシステムのインストールによって作成されたGrubファイルのみを編集できるように見えるため、プログラムをthirs OSにインストールする必要があります。

Grubブートメニューを決定するファイルは、ほとんどの場合、最新のシステムがマシンにインストールされているため、Grub Customizerをその Linuxシステムからインストールして使用する必要があります。


4
大半は歓迎:)スクリーンショットは、上記にリンクされているブログ投稿から来る:P
ニティン・ベンカテッシュ

2
これは、最新のUbuntuでは機能しません。ここで更新された投稿を入手できますか?
AT

7
あなたの答えは良くて役立つと思うので、誤解しないでください。GUIツールは簡潔で簡単ですが、事実は隠されています。以下のMarveの回答では、使用中のファイルと、それらを手動で更新する方法について説明し、Grubの動作に関する洞察を提供します。GUIに障害が発生し、一部の人にとっては、少なくともその基盤を覗くことができます-結局のところそれほど難しくなく、長期的には手動操作がおそらく容易になります。
バリーピッカー14年

1
また、このツールを使用して問題が発生しました。/ etc / default / grub correcltyを更新しているように見えますが、その後コアダンプとアボートします。
マウリシオグラシアグティエレス

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

244

追加のツールをインストールすることなく、コマンドラインからgrubのデフォルトのブートエントリを変更することもできます。これはリスト内の順序を変更しませんが、デフォルトで別のOSを起動できるようにします。

まず、のバックアップコピーを作成します/etc/default/grub。何か問題が発生した場合は、既知の正常なコピーに簡単に戻すことができます。

sudo cp /etc/default/grub /etc/default/grub.bak

vimまたは、選択したテキストエディターを使用してファイルを編集します。

sudo vim /etc/default/grub

を含む行を見つける

GRUB_DEFAULT=0

に設定します

GRUB_DEFAULT=x

where xは、デフォルトで起動したいgrubメニュー項目のインデックスです。メニュー項目のインデックスはゼロであることに注意してください。これは、リストの最初のアイテムがで0あり、6番目のアイテムが実際にであることを意味し5ます。したがって、リストの6番目の項目から起動するには、次の行が表示されます。

GRUB_DEFAULT=5

アイテムの順序を忘れた場合は、をご覧ください/boot/grub/grub.cfg。各メニューエントリは、次のタイプの行で指定されます。

menuentry 'Ubuntu' [options] {

インデックスの代わりに名前でデフォルトを選択することもできます。例:

GRUB_DEFAULT='Ubuntu'

menuentry 'Ubuntu'行があった場合/boot/grub/grub.cfg。これは、変更される可能性のあるエントリの順序に依存しないため、より良い方法です。

「以前のLinuxバージョン」サブメニューでカーネルを使用するには、次を使用します。

GRUB_DEFAULT="Previous Linux Versions>x"

(引用符を必ず含めてください)、xサブメニューの古いカーネルのインデックス、またはに表示されるカーネルの名前です/boot/grub/grub.cfg。例えば、

GRUB_DEFAULT="Previous Linux Versions>4.13.0-43-generic"

次に、更新されたgrubメニューを作成します。

sudo update-grub

5
最後に、grub2がオンザフライで非常に多くのエントリを生成するので、エントリに使用する番号を把握するのは非常に困難です。
ジョー

52
インデックスの使用は非常に面倒です-OSのリストは更新後に変更される可能性があります。ただし、/ boot / grub / grub.cfgを調べて、目的のデフォルトOSの名前を検索できます。次に、インデックスの代わりに引用符で囲まれた名前を使用します。例:GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)"代わりにGRUB_DEFAULT=7
geekQ

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

5
あなたが起動するように、特定のカーネルを選択する場合のUbuntu 16.04の現在のバージョンでは、あなたがに追加する必要がありますAdvanced options for Ubuntu:このように、サブメニューGRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic'
ジェフ・ウィリアムス

1
@BandaMuhammadAlHelalそれはあなたのリストの7番目のアイテムを起動しようとします-それはあなたが望むものですか?リストの6番目のアイテムが必要な場合は、を使用しますGRUB_DEFAULT=5
ニック

39

tombuntuサイトから(Tomの記事):

GRUBは/etc/default/grubファイルを使用して構成できます。変更する前に、コピーを作成してバックアップすることをお勧めします。

sudo cp /etc/default/grub /etc/default/grub.bak

元のバックアップをコピーして復元できます。

sudo cp /etc/default/grub.bak /etc/default/grub

root権限でテキストエディターを使用してファイルを開きます。

gksu gedit /etc/default/grub

この行GRUB_DEFAULT=0は、GRUBが起動する最初のメニュー項目を選択することを意味します。これをに変更しGRUB_DEFAULT=savedます。この変更により、後でデフォルトのアイテムを簡単に変更できます。

ファイルを保存して閉じます。このコマンドを実行して、変更をGRUBの構成に適用します。

sudo update-grub

構成の変更により、grub-set-defaultおよびgrub-rebootコマンドをいつでも使用できます。これらを使用すると、それぞれデフォルトのブート項目を永続的に変更したり、次回のブート時にのみ変更したりできます。

起動するメニュー項目の番号で(grub-set-defaultまたは)を使用して実行します(最初の項目は0です)。このコマンドは、デフォルトを2番目の項目に変更します。grub-rebootsudo

sudo grub-set-default 1

15
この回答はtombuntu.com/index.php/2011/09/25/…からほぼ逐語的に取られています。クレジットが必要な場合はクレジットを入力してください。
ジェームズマクマホン

この回答は、ブートアイテムの順序を変更しないようです。
スパルホーク

Linux Mint Debian Editionを使用しています。/ etc / default / grubがありませんでしたが、変更するGRUB_DEFAULT値が/etc/grub.d/00_headerにあることがわかりました。00_headerのGRUB_DEFAULTを希望のブートエントリ名で変更した後、「sudo update-grub」を実行して成功しました。
ファジー分析

tipsonubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04でこれらの同じコマンドを見ました。これらのコマンドは、最初にブート順序0でシステムから発行された場合にのみ機能することに気付きました。
マレーグマ

-2

私は次のことを試して、良い結果を得ました。

ターミナルウィンドウを開きます(Ctrl+ Alt+ T)、

入力しsudo gksu nautilus、Enterキーを押します。ユーザーのパスワードを入力します。

ファイルに移動します/boot/grub/grub.cfg。ファイルをコピーして同じディレクトリに貼り付け、バックアップのためにgrub.cfgファイルのコピーを作成する必要があります。次に、grub.cfgをダブルクリックして、ファイルをテキストエディターで開きます。

ファイルには、行(set default="0")があります。ロードするGrubの行番号に0を編集します。私は6行目でしたので、最初の行は0と見なされるため、5を使用しました。ファイルを保存します。PCを再起動し、正しい行を選択した場合、Grubのロード時に強調表示されます。

幸運を


10
ファイルの最初にあるように、これを行うべきではないと書かれています。代わりに編集/etc/default/grubしてから実行しupdate-grubます。
サザリー

7
また、gksu nautilusもお勧めしません。そこからシステムに爆弾を落とすのは簡単すぎます。
シルヴァインウルグ

:この記事をチェックpsychocats.net/ubuntu/bootmenu
tqjustc

何らかの理由で、この答えは「grub change boot order」を検索すると、Googleで「自動回答」として表示されます。
lepe

@lepeは、私にとってデフォルトは、心配しないでくださいlinuxandubuntu.com/home/...
vladkras

-5

端末ウィンドウを開く(Ctrl+ Alt+ T)、またはAlt+を押しF2ます。

入力してgksu nautilusを押しEnterます。

これにより、ルートが所有するファイルを変更する権限でファイルブラウザーNautilusが開きます。

ファイルに移動し/boot/grub/grub.cfg、ダブルクリックしてテキストエディターでファイルを開きます。

異なるオペレーティングシステムに属するファイルのセクションを切り取り、移動して貼り付けます。これを行うときは、間違えた場合は起動できなくなるため、非常に注意する必要があります。Windowsブートは、Windowsインストールディスク(FIXMBR)のツールを使用していつでも修復できます。これにより、GRUB-MBRが一般的なWindows-MBRで上書きされます。

Ubuntu 9.04から12.04までテストしましたが、毎回問題なく動作しました。

しかし、Windowsブートセクションをリストの一番上に移動して、それをデフォルトにすることのみを試みました。

メモリが正しい場合、ファイル内の各ブートメニューセクションはbegin...で始まり...で終わりますend。そして、複数のテキスト行にまたがります。

そのファイルのテキストはもう少し複雑になり、最新のUbuntuバージョンでは以前のバージョンと同じようには見えません。だから、あなたの脳使って、あなたが間違いをしないようにしてください。


4
sudo update-grubある時点で実行する必要はありませんか?
エリアケイガン

4
/boot/grub/grub.cfgインストール/更新されるすべてのパッケージで上書きされ、Grubの更新をトリガーし、実質的にを呼び出しupdate-grubます。そして、それは新しいを生成しgrub.cfgます。したがって、Grubの構成は/etc、永続性を確保するために、他の回答で説明されているように、ディレクトリ内のファイルで実行されます。
gertvdijk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.