デュアルブート設定があります:
- Ubuntu 16.04 LTS
- ウィンドウズ
reboot
現在、 Ubuntu から Windows に移行したいときは、grub-reboot
適切な番号を引数として使用します。これはうまく機能します。
ただし、特定のプログラムをインストールまたは更新するために Windows を再起動する必要がある場合があり、適切な grub ブート メニュー エントリを手動で選択する必要があります。どのエントリをブートするかを grub に指示する同様の方法 (Windows UI から) はありますか?
grub-reboot
コマンドは引数をファイルに渡し、それが grub によって読み取られると考えられますreboot
。
編集(私が選択した回答に関して): 現在、/boot を含む ext4 ドライブをマウントして、編集スクリプトを作成中です。これは、週 40 時間の非技術職の傍ら、自由時間に行うため、かなり時間がかかる可能性があります。^^
答え1
最も簡単な方法はGrubを使うことです
Windows から制御するのは面倒ですgrub
。Windows から Ubuntu にアクセスするにはサードパーティのアプリケーションとハッキングが必要です。ただし、この投稿の冒頭部分から:デュアルブートディストリビューションの順序を変更する方法最後のメニュー オプションに自動的に再起動するように設定できますgrub
。そのため、最初に Windows を起動し、午前 2 時に起動して更新を実行すると、grub
Windows が再読み込みされ、更新が正常に完了します。
手動で再起動し、次回の再起動時に Ubuntu を選択すると、Ubuntu が自動的にロードされます。この機能は、現在のカーネルにバグがあり、選択した古いカーネル バージョンに自動的に再起動したいgrub
場合にも同様に機能します。grub
Grub で最後のブート選択を繰り返す方法
これはかなり簡単です。powers を使って、次の項目sudo
を編集および変更します。/etc/default/grub
#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
最初の行をコメントアウトし、そのすぐ下に次の 2 行を挿入します。
ファイルを保存し、ターミナルに次のように入力します:
sudo update-grub
Windows を再起動するための Ubuntu コマンドライン
現在、次のようなものを使用しています:
sudo grub-reboot x # Where x is Windows zero-based grub menu number
sudo reboot now
この修正されたStack Exchangeから答えgrub のデフォルトを使用して Windows を再起動できます。次のコードを~/.bashrc
ファイルにコピーします。
function reboot-to-windows {
WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
sudo grub-set-default "$WINDOWS_TITLE"
sudo reboot
}
~/.bashrc
新しい機能を使用してファイルを保存しますreboot-to-windows
。- 現在のターミナルセッションを閉じます。
~/.bashrc
変更をロードするために新しいターミナル セッションを開きます。: ~/.bashrc
既存のターミナル セッションに再ロードするように入力することもできますが、これを行わないことを推奨する人もいます。
コマンドラインから Windows を再起動するには、次のコマンドを使用します。
reboot-to-windows
ユーザーが気付かないうちに Windows が自動的に再起動する場合は、Windows が再起動されます。これにより、Windows が時々使用する複数回の再起動サイクルで、Windows の自動更新が正常に処理されます。
答え2
実行した内容を再現できますgrub-reboot
。これは、最終的に以下を呼び出すだけのスクリプトです。
grub-editenv /boot/grub/grubenv set next_entry="Windows"
Windows
grubメニューエントリの名前はどこにありますか。そうではないかもしれません
next_entry=Windows
実行してみました。2行目に挿入するだけです/boot/grub/grubenv
。ファイルシステム上のファイルだけであれば、Windows内でも全く同じことができますこれは Windows の問題として解決する必要がありますが、概要は次のとおりです。
ブートが存在するディスクをマウントします。これはおそらく ext4 なので、最も難しい部分です。これ役立つかもしれませんが、編集するには Windows で Linux を実行する必要がある可能性も否定できません。
muru が指摘しているように、それほど難しいことではありません。
/boot
独自のFAT32パーティションに移動できますこれにより、Windows でのマウントが簡単になります。next_entry=Windows
コメントの後、ハッシュの前に、ファイルに (または何でも)挿入します。- アンマウントします。
- リブート。
スクリプトWindowsの場合これは私の得意分野から大きく外れており、ここで私たちが実際に行っていることではありません。しかし、必要なのはそれだけです。
答え3
grub-set-default
grub-reboot と同じことを行いますが、設定を永続化します。これは、あなたが尋ねたように Windows UI から正確に行うものではありませんが、おそらくうまくいくでしょう。
答え4
Windows のバージョンや UEFI を使用しているかどうかは指定されていません。
適切なUEFIブート(レガシーブートではない)を使用している場合は、一時的にWindows UEFIブートエントリで起動することができます。Linuxでは、などのツールを使用してこれを行うことができますefibootmgr
。Windowsでは、個人的には簡単UEFI個人、GUI使用は無料ですが、企業やCLI使用は無料ではありません。安全性は保証できません。また、やや遅いようですが、機能しているようです。
Arch Linux (カーネル EFI シム、GRUB なし) と Windows 10 を使用する私自身のセットアップでは、開始画面で「EFI ブート オプションの管理」を選択すると、次のようになります。
UEFI ブートを使用している場合は、Windows の場合と同様のものに加えて、Ubuntu の単一エントリ (GRUB をロード) とその他のデバイス固有のオプションが表示されます。ワンタイム ブート オプションを使用すると、Windows の UEFI ブート エントリに一度ブートし、その後 GRUB ブートに戻るように設定できます。設定後、通常どおり再起動します。