마더보드에 Debian UEFI 파일을 어떻게 등록하나요?

마더보드에 Debian UEFI 파일을 어떻게 등록하나요?

데비안이 설치된 디스크를 다른 컴퓨터로 옮겼는데 부팅이 되지 않습니다. systemrescuecd를 사용하여 uefi 파티션(512MB, vfat 파일 시스템, EFI 디렉터리 포함)을 마운트하고 작업을 실행했는데 cd /mnt/sda1 && mkdir BOOT && cp debian/grubx64.efi BOOT/bootx64.efi정상적으로 부팅되었습니다. (제가 받은 조언은아쿠벤투) 이제 어떻게 등록하나요?데비안/grubx64.efi제거할 수 있도록 내 시스템에 파일을 등록하세요.부팅/bootx64.efi?

답변1

Linux에서는 EFI 부팅 항목을 나열하고 조작할 수 있습니다 efibootmgr.

시스템을 수동으로 성공적으로 부팅한 후 다음을 efibootmgr설치했는지 확인하십시오.

apt-get install efibootmgr

efivars그런 다음 의사 파일 시스템이 RW로 마운트되었는지 확인하십시오 .

mount -o remount,rw -t efivarfs efivarfs /sys/firmware/efi/efivars

명령이 실패하거나 efibootmgr유사한 메시지가 표시되면 EFI variables are not supported on this system.EFI 모드로 부팅하지 않는 것입니다. 재부팅하고 다시 시도해 보세요.

마지막으로 debian/grubx64.efiEFI 부팅 목록에 추가하고 이를 기본 부팅 목록으로 만듭니다.

efibootmgr -c -p 1 -d /dev/sda -L "GRUB" -l '\efi\debian\grubx64.efi'

-p 1및 옵션은 -d /dev/sdaBOOT 하위 디렉터리를 생성한 EFI 시스템 파티션을 포함하는 파티션 및 블록 장치를 지정합니다. -L은 생성되는 항목의 레이블이고 -l부트로더의 경로입니다.

를 사용하여 원하지 않는 항목을 삭제할 수 있습니다 efibootmgr -b <boot-entry> -B.

를 사용하여 현재 EFI 부팅 항목의 자세한 목록을 얻을 수 있습니다 efibootmgr -v.

man efibootmgr자세히보다. 주의 깊게 읽고 인터넷 검색을 하거나 여기에 설명을 요청하는 것이 좋습니다.앞으로위의 명령 중 하나를 실행하십시오.

답변2

읽고 나서https://wiki.archlinux.org/index.php/GRUB#UEFI_systemsman grub-install이렇게 했더니 sudo grub-install --efi-directory $MY_ESP_MOUNTPOINT --target=x86_64-efi이제 "debian" 부팅 대상이 나열되어 실행되고 있습니다.

답변3

나는 명령을 사용하는 것이 좋습니다

sudo grub-install --efi-directory $MY_ESP_MOUNTPOINT --force-extra-removable --recheck

Debian 의 경우 --force-extra-removableRedhat과 마찬가지로 EFI 디렉터리와 Debian 디렉터리에 BOOT 디렉터리가 생성됩니다. 대부분의 BIOS(예: HP BIOS, 최신 Dell BIOS인 것 같습니다)는 이 BOOT 디렉터리를 사용하여 파일을 찾고 BOOTX64.EFI자동으로 부팅 항목을 생성하므로 UEFI가 자동으로 부팅될 수 있습니다.

--target부팅하는 시스템과 동일한 바이너리 유형에서 grub-install을 실행하는 경우 데비안이 자동으로 올바른 값을 설정하므로 이 옵션은 필수가 아닙니다.

--recheck-B여기서의 목적은 UEFI 테이블을 다시 생성하고 의 옵션을 사용하여 더 이상 관련이 없는 이전 부팅 항목을 지우는 것입니다 efibootmgr.

관련 정보