"이 시스템은 EFI 변수를 지원하지 않습니다" 문제를 해결하는 방법은 무엇입니까?

"이 시스템은 EFI 변수를 지원하지 않습니다" 문제를 해결하는 방법은 무엇입니까?

"이 시스템은 EFI 변수를 지원하지 않습니다" 문제를 해결하는 방법은 무엇입니까?

sudo efibootmgr -v
EFI variables are not supported on this system.

Debian11을 UEFI 모드로 설치했는데 부팅 단계에서 문제가 발생해 시스템이 항상 Legacy BIOS 모드로 부팅되었습니다. (부팅 메뉴에서 UEFI 모드를 설정했음에도 불구하고)

편집 : blkid 출력

sudo blkid
/dev/sda1: LABEL_FATBOOT="BOOT" LABEL="BOOT" UUID="2F1D-01E6" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="c906677e-c2c2-42b5-b818-f0b19c046e95"
/dev/sda2: LABEL="swap" UUID="1274a782-676a-41b0-8509-92f73bd675c3" TYPE="swap" PARTUUID="4a555697-e713-400d-ae9e-613d028c7893"
/dev/sda3: LABEL="root" UUID="13503165-9c5f-498d-ab5f-0c13f11cbaa6" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5484dedd-6adf-45af-b7b0-ba105d14528b"
/dev/sda4: LABEL="home" UUID="93c98828-5fb8-4c0e-b6bf-de8d13a9d22e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ae15bbdb-4e29-4dfa-aa99-b39e5377a098"

답변1

귀하의 시스템은 이전 부트로더를 선호하는 것 같습니다(찾을 수 있는 경우).

그렇다면 BIOS 설정에서 이 기본 설정을 변경할 수 없으며 시스템 디스크의 블록 #0에 있는 이전 부팅 코드를 적극적으로 삭제하는 것이 답일 수 있습니다.

시스템 디스크가 이라고 가정하면 /dev/sda다음과 같이 하면 됩니다.

dd if=/dev/zero of=/dev/sda bs=446 count=1

이로 인해 기존 BIOS 의미에서 부팅이 발생 /dev/sda하지 않고 UEFI 부트 로더(디스크에 있는 경우)만 남게 됩니다.

시스템이 완전히 부팅되지 않으면 복구 모드의 Debian 11 설치 미디어와 같은 외부 미디어에서 부팅해야 할 수도 있습니다. 이렇게 하면,UEFI 모드에서 외부 미디어를 부팅하도록 선택했는지도 확인하세요.. 외부 미디어가 레거시 모드에서 부팅되면 UEFI 펌웨어 설정을 위한 런타임 인터페이스가 비활성화되고 UEFI 부트로더 설치 프로세스가 실패합니다.

GRUB 부트 로더의 UEFI 버전을 다시 설치해야 하는 경우 설치된 시스템으로 chroot할 때 다음 명령줄을 사용해야 할 수 있습니다.

grub-install --force-extra-removable --target=x86_64-efi /dev/sda

시스템에서 보안 부팅을 사용해야 하는 경우 이 --uefi-secure-boot옵션을 추가하세요.

--force-extra-removable옵션은 일반적으로 UEFI 부팅 가능 이동식 디스크에 사용되는 부트 로더의 추가 복사본을 설정하며 /boot/efi/EFI/BOOT/BOOTX64.EFI시스템에 결함이 있는 UEFI 구현이 있는 경우 유용할 수 있습니다.

UEFI 펌웨어 설정에 액세스하지 않고도 이동식 미디어 부트로더 위치를 설정할 수도 있으므로 이론적으로는 실제로 레거시 모드에서 부팅하더라도 복구 부팅이 성공해야 합니다. 이를 통해 UEFI 모드의 자체 디스크에서 시스템을 부팅할 수 있는 경우 efibootmgr시스템이 UEFI 모드에서 실행되면 UEFI 부트로더 등록 프로세스를 시도하고 완료할 수 있습니다.

관련 정보