次のディスクがあります。
/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-456789abcdef
Windowsブートマネージャを持つESPパーティションのPARTUUIDになります\EFI\Microsoft\Boot\bootmgfw.efi
。あなたの場合は、diskのPARTUUIDでなければなりません/dev/sda1
。lsblk -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