명령줄에서 특정 장치를 재부팅하는 방법은 무엇입니까?

명령줄에서 특정 장치를 재부팅하는 방법은 무엇입니까?

다음과 같은 디스크가 있습니다.

/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는 기본적으로 두 번째 HDD에서 부팅되도록 설정되어 있으므로 Linux에서 부팅됩니다.

질문: Linux 명령줄에서 Windows로 재부팅하는 방법은 무엇입니까 /dev/sda2?(부트로더는 /dev/sda1, 더 정확하게는 에 있습니다 /EFI/Boot/bootx64.efi)

없이F12부팅 메뉴를 실행하려면 컴퓨터를 시작할 때 와 같은 작업을 수행해야 합니다 .없이Grub/부팅 메뉴에서 옵션을 선택합니다. 핵심요약: 단일 명령줄 명령으로
재부팅할 수 있는 방법이 있나요 ?/dev/sda2

답변1

먼저 sudo efibootmgr -v현재 UEFI 부팅 변수를 표시하려면 실행하세요. 부팅 항목의 이름은 BootXXXXXXXX=4자리 숫자(16진수일 수 있음)로 지정됩니다.

두 번째 열에 "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>

여기서는 Windows 부팅 관리자가 위치할 12345678-90ab-cdef-0123-456789abcdefESP 파티션의 PARTUUID가 됩니다 . \EFI\Microsoft\Boot\bootmgfw.efi귀하의 경우에는 디스크의 PARTUUID여야 합니다 /dev/sda1. lsblk -o +PARTUUID디스크 파티션의 PARTUUID를 보는 데 사용됩니다 .

Windows 부팅 항목의 XXXX 번호를 알고 나면 다음을 실행할 수 있습니다.

sudo efibootmgr --bootnext XXXX

이렇게 하면 지정된 부팅 항목(예: Windows)을 사용하여 시스템이 한 번만 부팅됩니다. Windows에 종료 또는 재부팅을 지시하면 다음 부팅 시 Linux가 자동으로 다시 시작됩니다.

명령을 사용한 후 sudo efibootmgr --bootnext시스템은 Windows로 부팅하도록 준비되며 일반 명령을 사용하여 시스템을 재부팅할 수 있습니다.

단일 명령으로 이를 수행하려면 간단한 스크립트를 작성할 수 있습니다.

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

답변2

systemctl reboot --firmware-setup

BIOS 설정 유틸리티로 재부팅됩니다.

관련 정보