次回の起動時にのみgrub2に異なるオプションを起動させるにはどうすればよいですか?


19

デュアルブートヘッドレスLinux / Windowsマシンをセットアップしています。ほとんどの場合、Windowsで何かをテストする必要がある場合を除き、マシンを常にUbuntuで起動するようにします。

WindowsとUbuntuをインストールしましたが、現在は毎回Ubuntuを起動しています。次回の起動時にのみ Windowsに起動し、Windowsから再起動するとシステムがUbuntuの起動に戻るように指示できるようにしたいと思います。

Grub Legacy-セクション4.3.1-一度だけの起動を見つけましたが、新しいバージョンのgrubを備えたUbuntu 14.04サーバーを使用しています。私が読んだことから、Windowsを起動/etc/default/grubするsudo grub-set-defaultときに変更を加えて使用する必要があります。

これらの変更は、これを/etc/default/grub以下に追加することから始まると思います。

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=false

変更が加えられた場合はいつでも/etc/default/grub実行する必要があることがわかり
sudo update-grub、その結果は次のようになります。

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-43-generic
Found initrd image: /boot/initrd.img-3.13.0-43-generic
Found linux image: /boot/vmlinuz-3.13.0-32-generic
Found initrd image: /boot/initrd.img-3.13.0-32-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done

Windowsはそのリストの7番目のオプションであるため、私は実行すると信じていますsudo grub-set-default 6(0ベースのカウント)-これは正しいですか?システムが既にブートされた後にブートの選択肢の番号付きリストを取得する別の方法がありますか?

また、/etc/default/grubこの動作を達成するのに十分な行ですか、または追加の構成を追加する必要がありますか?

回答:


19

GRUB_DEFAULT=savedgrubの設定に含まれていることを確認する必要があります(これは自動生成されます。/etc/default/grubを編集して、この部分を変更します)。sudo update-grub変更をアクティブにしてからを使用しますsudo grub-reboot $1

grep -i "menuentry '" /boot/grub/grub.cfg

1ドルでカットアンドペーストできるメニュー項目を提供します。または、オプションのインデックスがゼロであることに注意してください。したがって、n番目のメニュー項目は、grub-rebootに(n-1)を渡すことで取得できます。

例参照

「Windows 7」をインストールしていないため、テストされていません。


おかげで私はこれは私が(私が見つけたことを詳細に必要なものだと思うhelp.ubuntu.com/community/Grub2
CWD

あなたが行を変更せずにこれを試して起こった場合GRUB_DEFAULT=saved、あなたは説明し、後のような手動でこれを行う必要がありGRUB2ための第二段落にここで、その後grub-set-default 0; grub-reboot 0
rubo77

1
エントリの番号を表示するコマンド:grep -i "menuentry '" /boot/grub/grub.cfg|sed -r "s|--class .*$||g"|nl -v 0
rubo77

1
あたりとしてaskubuntu.com/questions/838704/grub-reboot-to-specific-kernelmenuentry下のsubmenuでは/boot/grub/grub.cfgに渡さなければなりませんgrub-rebootようにSUBMENU>MENUENTRY。したがって、たとえば、@ rubo77のようなbash-fuを使用して、menuentry7 をブートしたかったのですが、このエントリはsubmenuトップレベルメニューの2番目のエントリであったため、'1>6'代わりに渡す必要がありますシェルの解釈>)。
トレントネルソン

1
警告:BTRFSパーティションから起動した場合、これは機能しません。Grubはウィンドウをブートするときにgrubenvに書き込むことができる必要がありますが、BTRFSに書き込むことはできません。ファイルは通常/ boot / grubに保存され、grub-editenvで表示できます。BTRFSを/に、EXT4パーティションを/ bootに、次にEFIパーティションを/ boot / efiにマウントして、システムを修正しました。
ネイサン

-2

Ubuntuシステムにgrub-customizer(以下のインストールガイド)をインストールしてみてください。このGUIツールは、ブートオプションの名前と順序、デフォルトシステム、画面解像度、フォント、背景などを含むGRUB設定を構成できる素晴らしいオプションセットを提供します。
私は確かにそれが持っている場合ではありませんよあなたが望むものを直接設定する能力が、少なくともそれはあなたにOS番号を表示することができます。それらは名前でも参照できると思います。

grub-customizerのインストール方法:

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

(ソース:launchpad-ダニエルリヒター


私はそのツールを見ましたが、Ubuntu 14.04サーバー(GUIなし)を使用しているので、コマンドラインソリューションが欲しいです。
cwd

ああ、これを知りませんでした。私は14.10標準(Unity)を使用しており、個人的にはこれらのようなジョブにはGUIを好みます。このサイトを知っていますか?質問で書いた内容について説明しますが、最初のソースと異なる場合は、必要なものが見つかるかもしれません。
バイトコマンダー

-1-質問をまったく読まないのかと思うので、私はあなたの答えを否定しています。そこに「ubuntuサーバー」を見逃しているかもしれないことを理解することができますが、最後のコメントで私の質問に含めたのと同じリンクを投稿しただけです
...-cwd

おっとっと。しかし、あなたが私が新しいコメントを書くか答えるたびに、私はすべての質問と以前の投稿を読み直して、すべてのリンクをチェックすると思いますか?さらに、サーバーディストリビューションにDEをインストールすることもできます!私は(まだ)専門家ではないことを認めていますが、少なくとも答えが常に100%正確または有用であるとは限らない場合でも、できる限り他の人を助けようとします。この問題を解決するのを手伝ってくれる人がいることを喜んでいるはずですが、私を怒らせたいなら成功しました。最後にGRUB_SAVEDEFAULT=false、あなたはについて話しましたが、私たちのリンクでこれを見つけることができません。そして、あなたはそこに言及された他の行を忘れました!
バイトコマンダー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.