私たちのシステムには、2つのUbuntuオペレーティングシステムがインストールされています。
起動時に、GRUBはどのUbuntuから起動するかを尋ねますが、今度は新しいメニュー項目をGRUBに追加する必要があり、そのメニュー項目により、ユーザーはデフォルトのLinuxを変更して起動できます。
上の図では、3番目のメニュー項目を追加する必要があります。このメニューを使用すると、ユーザーは新しいデフォルトのブートオペレーティングシステムを選択できます。ユーザーが「Linux2をデフォルトとして設定」を選択した場合、次回の再起動時の起動順序は次の図のようになります。
起動順序の変更に関するドキュメントを見つけましたが、それらのドキュメントはUbuntu内のプロセスを説明しているので、GRUB自体の中でこれを実現したいと思います。どうやってやるの?
これは、GrubのEnvironment-blockを使用して実現できます。環境ブロックはに保存され/boot/grub/grubenv
、このファイルは少し特殊で、1024バイトのサイズが事前に割り当てられています。このファイルをテキストエディタで開いてコンテンツを表示できる場合でも、このファイルをテキストエディタで編集しないでください。
/boot/grub/grubenv
さまざまなツールで編集できます。
ターミナルコマンドsudo grub-editenv [OPTION...] FILENAME COMMAND
、関連項目man grub-editenv
Menu-entry-command save_env [-f file] var
、GNUGrubマニュアルの詳細を参照してください
ファイル/boot/grub/grubenv
が終了しない場合は、次のコマンドで作成できます。
sudo grub-editenv / boot / grub / grubenv create
いくつかのカスタムメニューエントリを作成する必要があります。https://help.ubuntu.com/community/Grub2/CustomMenusには、その方法に関する役立つ情報が記載されています。/etc/grub.d/40_custom
次のように編集します。
#!/ bin / sh exec tail -n +3 $ 0 #このファイルは、カスタムメニューエントリを追加する簡単な方法を提供します。単に入力 あなたはこのコメントの後に追加したい#メニュー項目を。 #上記の「exectail」行を変更しないように注意してください。 # サブメニュー'SET起動デフォルト' { menuentry 'デフォルトとして設定された第1のエントリ' { セットsaved_entry = 0 save_env saved_entry リブート } menuentry 'デフォルトとして設定された第2のエントリ' { セットsaved_entry = 1 save_env saved_entry リブート } }
ファイルにカスタムメニューエントリがすでにある場合は、コメント行の後に行をファイルに追加するだけです。menu-entriesのコマンドは次のように機能します。
setsaved_entry環境変数saved_entryを指定された値に設定します。 Save_env saved_entryは、変数saved_entryを/ boot / grub / grubenvに格納します。 再起動マシンを再起動します
さらに/etc/default/grub
、基本的なGrub構成を保持するものを編集する必要があります。繰り返しになりますが、GNU Grubマニュアルには、詳細情報が記載されています。
では/etc/default/grub
、の値をGRUB_DEFAULT
に変更する必要がありますGRUB_DEFAULT=saved
。これにより、Grub/boot/grub/grubenv
は起動時からdefault-menu-entryをロードします。が付いた行を見つけた場合はGRUB_SAVEDEFAULT=true
、この行を削除してください。
Grubのメイン構成ファイル/boot/grub/grub.cfg
に加えた変更を適用するには、を実行する必要がありますsudo update-grub
。
次のステップとしてsudo grub-editenv - set saved_entry=0
、ターミナルで実行します。私たちは、ときにGrubブート次回、GRUBがために検索します、競合を避けるためにそれを行うsaved-entry
で/boot/grub/grubenv
、それを見つけることができます。
これで再起動できます。Grubメニューが表示されたら、リストに追加されたサブメニューが表示されます。それを開いて、エントリの1つを選択します。Grubはsaved_entryを指定された値に設定し、保存してから/boot/grub/grubenv
再起動します。Grubメニューが再び表示され、新しいデフォルトが自動的に選択されていることがわかります。
考えるべきもう一つのこと
これらの変更を行う必要があるオペレーティングシステムはどれですか?2つのLinuxディストリビューションがインストールされており、どちらもGrubに同梱されています。Boot-Info-summaryとterminal-commandからの情報findmnt
を使用して、構成ファイルを保持および制御するディストリビューションを識別できるはずです。このディストリビューションでは、上記の手順を実行する必要があります。他のディストリビューションでは、Grubは不要であり、あらゆる種類の競合を回避するために、削除するか、パージする必要があります。
追加情報:
Grubバージョンを使用して私のシステムでこれをテストしました2.02~beta2-36ubuntu3.8
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加