시스템에 UEFI BIOS가 있는지 확인하는 명령이나 방법(RTFM 제외)이 있습니까?

시스템에 UEFI BIOS가 있는지 확인하는 명령이나 방법(RTFM 제외)이 있습니까?

이 질문을 하게 된 계기는이것은 또 다른 질문입니다존재하다우분투에 물어보세요.

제가 묻는 이유 중 하나는 단지 궁금해서입니다. 나는 이것에 대해 더 많이 알고 싶습니다. 미래에 그 가치가 무엇이든 간에 말입니다.

하지만 WTF사용자와 시스템에 어떤 문제가 있는지 알고 싶을 때 사용자에게 프로그램을 실행하도록 요청할 수도 있습니다. ;-)

처음에는 이 정보가 (또는 유사한) 도구로 감지되고 보고될 수 있는지 궁금했습니다 dmidecode. 하지만 UEFI BIOSa 가 a 를 시뮬레이션하면 어떻게 될까요 pre-UEFI BIOS?

나는 이 질문이 시간이 지날수록 더욱 흥미로워질 것이라고 기대합니다. 모든 주요 운영 체제 뒤에 있는 회사는 통과를 고집할 것 같습니다 EFI.같은 것들도 다를 뿐이지".<sigh/>

답변1

시스템에 UEFI 펌웨어가 있을 수 있지만 여전히 레거시 BIOS 모드에서 운영 체제를 부팅할 수 있습니다. 이 경우 BIOS가 UEFI와 호환되지 않기 때문에 부팅 운영 체제는 하드웨어가 실제로 UEFI를 지원하는지 여부를 확인할 수 없습니다.

UEFI와 관련된 것이 있는 경우에도 펌웨어 인터페이스를 볼 수 있지만 공급업체에 따라 다르며 일관성이 없습니다. 그래서 거기에는 명확한 대답이 없습니다.

x86(_64) 커널이 UEFI에서 부팅된다는 것을 증명하는 정식 방법:

    $ dmesg | grep 'EFI v'
    [    0.000000] efi: EFI v2.31 by EDK II

커널은 다음과 같은 메시지를 인쇄합니다.주요 진입점EFI 부팅. UEFI를 통한 커널 부팅만약에 그리고 만약에그런 뉴스가 존재합니다.

기타 정보 콘텐츠:

    $ dmesg | grep 'efi: mem'
    [    0.000000] efi: mem00: type=7, attr=0xf, range=[0x0000000000000000-0x00000000000a0000) (0MB)
    ...

이는 EFI 펌웨어에서 커널로 전달된 메모리 맵입니다.

    $ ls -F /sys/firmware/efi
    efivars/  systab  vars/

이는 EFI 관련 커널 ABI입니다. efivars(3.8+)이며 varsEFI NVRAM용 커널 ABI이므로 이를 사용하여 부팅 옵션을 변경할 수 있습니다.

그러나 이러한 단서가 없다고 해서 시스템이 단지 BIOS일 뿐이라는 것을 증명할 수는 없습니다.

경험상 최근 노트북에는 UEFI 펌웨어가 있습니다. 최신 서버가 UEFI 펌웨어로 마이그레이션되고 있습니다.

편집자: rEFInd의 저자는 다음과 같습니다.좀 더 철저한 설명. 단계는 동일합니다.

또한 Ubuntu의 펌웨어 테스트 제품군은 UEFI 펌웨어에이전 BIOS 버전에 대한 호환성 기능. BIOS 모드에서 UEFI 지원 펌웨어 부팅을 감지하는 문제는 해결되지 않습니다.

답변2

"BIOS"(실제로 EFI)를 입력하면 부팅 가능한 항목 목록의 항목 중 하나가 다음과 같아야 합니다.EFI 부팅 프롬프트, UEFI 시스템인 경우. 이를 EFI 셸이라고도 합니다. 이는 Unix 명령 프롬프트의 간단한 버전과 매우 유사합니다. 일반적으로 시작 목록에 표시되는 것을 원하지 않지만 초기 설정 및 문제 해결 중에 유용할 수 있습니다.

UEFI 시스템은 해당 기능 없이 만들 수 있다고 생각하지만 EFI가 제공하는 EFI의 많은 요소를 포기하게 될 것입니다.

관련 정보