オペレーティング システム内から boot_drive/operating_system を変更するにはどうすればよいでしょうか?

オペレーティング システム内から boot_drive/operating_system を変更するにはどうすればよいでしょうか?

次回の起動時にPCが起動するブートドライブまたはオペレーティングシステムを、BIOSのブートメニューに入って起動ディスクを変更するのではなく、そのオペレーティングシステム内から変更できるかどうかを調べています。

私の設定は少し面倒ですが、ご容赦ください。私は 2 つのドライブを搭載した PC を持っています。

  1. ウィンドウズ10
  2. リナックスミント

私が実現しようとしている動作は、Windows 10を起動できるようにすることです。そして、Windows 10内から[何かをする]これにより、PCは再起動後にLinuxで起動するようになります(Windowsで起動するのではなく)、その逆も同様です(つまり、Linx Mintで起動すると、[何かをする]次回の起動時に PC が Windows 10 で起動するようになります)

BIOS のブート メニューを起動できない理由は、この PC がヘッドレス サーバーであり、別の PC から LAN (Sunshine/Moonlight) 経由で「リモート ログイン」できるためです。

これが私の現在の考え方です。Windows の「ブートローダー」は Linux を起動できませんが、Linux のブートローダー (grub) は Windows を起動できます。つまり、(Linux 内で) /etc/default/grub ファイルを編集し、GRUB_DEFAULT="Win10" エントリ (もちろん update-grub) を変更して、次回の起動時に Windows を起動するようにできます。つまり、ソリューションの 50% はすでに機能しています。しかし、(Windows 10 内で作業しているときに) 次回の起動時に Linux を起動したいことを PC に伝えるにはどうすればよいでしょうか。

Windows は Linux の ext4 ファイルシステムを (過度で潜在的に危険な不正行為なしでは) 読み取ることができません。また、たとえ grub ファイルを変更できたとしても、Windows 内からそれを再構築するにはどうすればよいでしょうか。

私が何を達成しようとしているのかお分かりですか? 誰か何かアイデアをお持ちですか? どのような助けでも大歓迎です、ありがとうございます!

ありますgrubchoosedefaultこのような機能を約束するツールですが、これは grub が ext2/3 ファイルシステム上にあることを前提としています (これは当てはまりません)。また、Linux のファイルシステムにアクセスするためにサードパーティのツールを使用する用意があることも前提としています (これは当てはまりません。以前、suhc ツールを使用した経験があり、ドライブ全体とそのインデックスが台無しになりました)。

答え1

コマンドを試してくださいgrub-reboot

Set the default boot menu entry for GRUB, for the next boot only.

正しくセットアップするには、いくつかの面倒な手順を踏む必要がありますが、これを呼び出すと、次のブートがどこに行くべきかが grub に指示されます。したがって、Linux では、これを呼び出してから再起動すると、Windows または任意の他の OS が起動します。そして、別の OS が再起動すると、grub は標準構成に戻り、Linux を通常どおり起動します。

他のオプションとしては、Linux や Windows などの別の OS を起動するように設計された Linux ビルドの 1 つを見つけて、それを通常の起動にすることです。次に、そのビルドにネットワーク接続して、どの他の OS を起動するかを指定します。私はこのようなビルドを 1 つ見たことがありますが、現時点では名前を言うことはできません。

PS 個人的には、GRUB に VNC コンソール モードがあればいいのにと思います。:-)

関連情報