UEFI로 부팅하는지 어떻게 알 수 있나요?

UEFI로 부팅하는지 어떻게 알 수 있나요?

검색 중이지만 시스템 부팅 중에 GRUB이 UEFI, BIOS 호환 모드 또는 전체 BIOS를 사용하는지 알 수 있는 확실한 방법을 찾을 수 없습니다. 겨우 찾았어윈도우 방식. GRUB 또는 커널 부팅 로그에 UEFI, EFI 또는 BIOS를 사용하고 있는지 알려주는 내용이 있습니까?

답변1

첫 번째 방법:

좋아, 확인하기 위해 UEFI 상자를 부팅했습니다. 첫 번째 단서는 상단 근처에 있습니다 dmesg. BIOS를 통해 부팅하는 경우 이런 일이 발생하지 않아야 합니다.

[    0.000000] efi: EFI v2.31 by American Megatrends
[    0.000000] efi:  ACPI=0xd8769000  ACPI 2.0=0xd8769000  SMBIOS=0xd96d4a98 
[    0.000000] efi: mem00: type=6, attr=0x800000000000000f, range=[0x0000000000000000-0x0000000000001000) (0MB)


두 번째 방법:

$ sudo efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* debian

그렇지 않은 경우 다음이 나타나야 합니다.

$ sudo efibootmgr        

EFI variables are not supported on this system.

efibootmgr 패키지를 설치해야 합니다. EFI 변수를 나열해 볼 수도 있습니다.

$ efivar -l 
... over 100 lines of output ...


세 번째 방법:

다음 사항이 있는지 확인하세요 /boot/efi.

$ df -h --local | grep /boot
/dev/sda2       229M   31M  187M  14% /boot
/dev/sda1       120M  250K  119M   1% /boot/efi

이 파티션에는 UEFI 부팅을 위한 파일이 포함되어야 합니다.

이러한 방법을 사용해도 관련 항목이 하나도 나타나지 않으면 UEFI를 사용하고 있지 않을 가능성이 높습니다.

답변2

BIOS 펌웨어가 아닌 UEFI 펌웨어에서 부팅하는 경우 시스템에는 다음 위치에서 EFI NVRAM 변수를 사용할 수 있어야 합니다.

/sys/firmware/efi/vars/

또는

/sys/firmware/efi/efivars/

BIOS(또는 UEFI 펌웨어의 경우 BIOS 에뮬레이션 모드)를 사용하여 부팅할 때는 이러한 변수를 사용할 수 없습니다.

실제로 @Santropedro가 지적했듯이 경로는

/sys/firmware/efi

BIOS를 사용하여 부팅할 때 누락되어 확인하기가 더 쉽습니다.

관련 정보