부트로더를 ESP 파티션의 EFI 디렉터리 외부에 배치할 수 있습니까?

부트로더를 ESP 파티션의 EFI 디렉터리 외부에 배치할 수 있습니까?

EFI 디렉토리는 EFI 표준의 필수 부분입니까, 아니면 부트 로더를 다른 디렉토리에 배치할 수 있습니까?

전체 파티션을 ESP 파티션으로 옮기는 것을 고려하고 있습니다 /boot(ESP 파티션이 충분히 큰지 확인). Debian 기반 배포판(및 기타 배포판)에는 이제 ESP 디렉터리가 /boot/efi/EFI 디렉터리를 /boot/efi/EFI.

그래서 두 가지 옵션이 있습니다.

  • ESP를 마운트한 /boot다음 마운트를 바인딩하여 운영 체제 스크립트의 요구 사항을 충족합니다 /boot/EFI./boot/efi/EFI
    이를 위해서는 FAT32 형식의 파티션에 efi및 디렉토리가 필요하므로 EFI그다지 만족스럽지 않습니다.
  • ESP 파티션 에 부트로더를 설치 /efi/EFI하고 BIOS에 부트로더를 다른 곳에 설치하라고 지시합니다(예: /efi/EFI/ubuntu/grubx64.efi).

EFI 디렉토리가 사양의 필수 부분인지, BIOS에 문제가 있을 수 있는지, 안전하게 이동할 수 있는지는 모르겠습니다.

답변1

UEFI 부트 로더는 비휘발성 저장소의 EFI 변수에 저장된 경로를 기반으로 검색합니다. 일반적으로 변수에는 ESP의 루트 디렉터리를 기준으로 EFI 디렉터리 아래 위치에 대한 경로가 포함됩니다(예: ) /EFI/ubuntu/grubx64.efi. 나는 이 관례에서 벗어나는 것이 좋은 생각이 아니라고 생각합니다. 펌웨어("BIOS")는 Linux에 ESP가 설치된 위치나 설치 여부에 상관하지 않습니다. 예를 들어 ESP는 기존 Linux 디렉터리와 ESP를 /boot결합한 에 마운트될 수 있습니다. /boot이는 /bootFAT32를 의미하며, 이는 가능하지만 아마도 최선의 선택은 아닐 것입니다. 일부 배포판을 설치할 수 없는 경우 ESP 를 별도의 부팅 파티션이나 루트 파티션 /boot에 설치할 수도 있습니다 ./boot/esp/boot

운영 체제 스크립팅 요구 사항을 수용하려면 /boot/efi/EFIESP를 에 마운트하거나 /boot/espESP를 에 마운트한 /efi다음 /boot/efi심볼릭 링크를 생성할 수 있습니다 /efi.

관련 정보