コマンドラインから特定のデバイスを再起動するには?

コマンドラインから特定のデバイスを再起動するには?

次のディスクがあります。

/dev/sda 
  /dev/sda1 EFI partition
  /dev/sda2 Windows
/dev/sdb
  /dev/sdb1 EFI partition
  /dev/sdb2 Linux                    <-- currently mounted as /

そして現在Linuxを使用しているので、/dev/sdb2現在/

私のBIOSはデフォルトで2番目のHDDから起動するように設定されているため、Linuxで起動します。

Q:LinuxコマンドラインからWindowsで再起動するにはどうすればよいですか/dev/sda2(ブートローダは/dev/sda1、より正確にはにあります/EFI/Boot/bootx64.efi

いいえF12コンピュータの起動時に起動メニューを実行するなどの作業を実行する必要があります。いいえGrub / Bootメニューからオプションを選択します。重要な要約:単一のコマンドラインコマンドを使用して再起動する
方法はありますか?/dev/sda2

ベストアンサー1

まず、sudo efibootmgr -v現在のUEFIブート変数を表示するには実行してください。起動エントリの名前BootXXXXは、XXXX = 4桁(16進数である場合があります)で指定されます。

2 番目の列に「Windows ブート マネージャー」という開始項目がある場合は、Windows 開始項目です。次のようにする必要があります。

BootXXXX* Windows Boot Manager  HD(2,GPT,12345678-90ab-cdef-0123-456789abcdef,0x109000,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{ <UTF-16 representation of an UUID here>

ここでは、12345678-90ab-cdef-0123-456789abcdefWindowsブートマネージャを持つESPパーティションのPARTUUIDになります\EFI\Microsoft\Boot\bootmgfw.efi。あなたの場合は、diskのPARTUUIDでなければなりません/dev/sda1lsblk -o +PARTUUIDディスクパーティションのPARTUUIDを表示するために使用されます。

WindowsのスタートアップエントリのXXXX番号がわかったら、次のことを実行できます。

sudo efibootmgr --bootnext XXXX

これにより、システムは指定された起動エントリであるWindowsから起動します(一度だけ)。 Windows にシャットダウンまたは再起動するよう指示すると、次回の Linux の起動時に Linux が自動的に再起動します。

このsudo efibootmgr --bootnextコマンドを使用すると、システムはWindowsから起動する準備ができ、通常のコマンドを使用してシステムを再起動できます。

単一のコマンドでこれを行うには、簡単なスクリプトを作成できます。

#!/bin/sh
sudo efibootmgr --bootnext XXXX
sudo reboot

おすすめ記事