どのOS Grubが起動するかをリモートで制御する方法は?


10

次のデュアルブートセットアップを検討してください。

  • Grubがインストールされている /dev/sda
  • /dev/sda1 としてマウントされています /boot
  • /dev/sda6 としてマウントされています /
  • Windows 10がインストールされている /dev/sdb2

現在のところ、Grubは起動時にデフォルトでUbuntuを選択しており、SSH経由でリモートログインできます。Grubの起動時にWindowsを選択することも可能で、RDP経由でリモートログインできます。

問題は、私が物理的にいないときに起動するOSを選択する方法がないことです。

この質問は、Grubに最後に選択したオペレーティングシステムを自動的に起動させる方法について説明しています。ただし、これは機能しません。Windowsを選択した場合、リモートでPCを再起動してUbuntuを起動する方法がありません。

どのOSの起動をリモートで制御する方法はありますか?


Windows側から@Takkat?(Windowsを実行していて、何らかのプログラムまたはスクリプトでGrubにUbuntuを起動するように指示することはできますか?)
Nathan Osman

@Takkatああ、私はあなたの言っていることがわかります...それはうまくいくかもしれません。
Nathan Osman

PXE経由の起動について考えましたか?次に、いつでもアクセスして調整できる別のサーバーにブート構成を残してから、他のマシンを再起動して、指定したOSを起動できますか?
Ziazis

回答:


11

grub-rebootを使用して、特定のGrubメニューブートエントリで再起動できます。これは、SSHなどのリモートセッションからも実行できます。

別のOSで起動するには、Grubメニューで表される位置を以下から選択します0

sudo grub-reboot <num>

ここに画像の説明を入力してください

この場合、私のWindowsは正しい位置にあり4ます。だから発行するとき

sudo grub-reboot 4 && sudo reboot

マシンは、Grub設定で定義したタイムアウト後にWindowsで再起動します。

Windowsから再起動すると、マシンはデフォルトのOSで起動します。これは、

sudo grub-set-default <num>

この作品を作るために、我々は定義する必要がありGRUB_DEFAULT=saved、当社で/etc/default/grubはなく、それはまた、デフォルト設定で働いていた私のシステムで。

残念ながら、WindowsからWindowsを再起動することはできません。


3

タッカトの答えのおかげで別のアイデア:

  1. デフォルトのブートはUbuntuです
  2. grub-reboot NNWindowsブートエントリはどこにありますか
  3. Windowsを再起動すると、デフォルトの起動であるUbuntuに戻ります。

欠点:Windowsを再起動するには、2回再起動する必要があります。Windowsを再起動し、Ubuntuを再起動しますgrub-reboot N:-(


もっとアイデアをください。:)
AB

1

時間に応じてgrubでデフォルトOSを設定できます。GRUBをスケジュールできますか?を参照してくださいつまり、既定の「エントリ」(自動ログイン)を定義された期間に自動的に変更しますか?。したがって、たとえば、$ MINUTEが奇数の場合はWindowsで起動し、$ MINUTEが偶数の場合はLinuxで起動するようにgrubを構成できます。

insmod datehook
if [ $MINUTE -eq 0 -o $MINUTE -eq 2  -o $MINUTE -eq 4 -o $MINUTE -eq 6 -o $MINUTE -eq 8]; then
    set default="Ubuntu"
else
    set default="Windows"
fi

特定のOSにしたい場合; その時が来るまで待ちなさい。

この方法を使用する場合は、Grubに到達するまでの時間を考慮する必要があります。5分の時間枠を使用すると、おそらくより信頼性が高くなります。


ブートエントリを切り替えることも可能だと思います。何かのようなもの :

if [ $default = "Ubuntu" ]; then
  set default="Windows"
else
  set default="Ubuntu"
fi

最後に起動したOSを記憶するようにgrubが構成されている場合(grub2に最後の選択を記憶させる方法は?

PCが必要なOSで起動しない場合は、再起動してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.