대부분의 배포판은 UEFI 시스템에 추가 부트 로더를 설치합니다. UEFI 자체는 부트 로더이며 다른 운영 체제 또는 개별 커널을 선택할 수있는 메뉴를 제공합니다. 또한 UEFI 설정은와 같은 사용자 공간 도구를 사용하여 쉽게 변경할 수 있습니다 efibootmgr
.
3.3 이후 커널은 EFI_STUB를 지원합니다. 즉, UEFI에서 커널을 직접로드 할 수 있습니다. 배포판에서 추가 부트 로더를 사용하기로 결정한 이유는 무엇입니까? Linux / UEFI에 대한 대부분의 자습서는 EFI_STUB를 사용하여 Linux를 부팅하는 대신 추가 부트 로더 (rEFInd, grub2, ELILO 등)를 설정하는 방법에 중점을 둡니다.
배포판에서 누락 된 것은 지원뿐입니다. 대부분의 배포는 두 번째 부트 로더를 연결하므로 커널은 UEFI 부팅 메뉴에 추가되거나 EFI 시스템 파티션에 복사되지 않습니다.
세 가지 스크립트만으로도 모든 마법을 수행 할 수 있습니다. initramfs를 ESP에 복사하는 것. 두 번째는 커널을 ESP에 복사하고 UEFI 부팅 메뉴에 새 항목을 만듭니다. 세 번째 스크립트는 ESP에서 이전 커널과 initramfs를 제거하고 UEFI 부팅 메뉴 항목을 삭제합니다. 이를 통해 사용자 상호 작용없이 완전히 자동화 된 커널 / initramfs 업데이트 / 제거가 가능합니다. 나는 1 년 이상이 접근법을 사용하고 있으며 완벽하게 작동했습니다.
대부분의 배포에서 EFI_STUB 대신 grub을 사용하는 이유는 무엇입니까?
모래밭:
편집 : 나는 grub 지원을 완전히 제거하는 것이 아니라 다양한 이유로 그것을 사용하려는 사람들에게 선택을 제공하기 위해 이야기하고 있습니다. 배포판은 grub-efi
UEFI와 grub을 연결하려는 사람들을위한 패키지와 efistub-boot
위에서 언급 한 스크립트를 포함 하는 패키지를 제공 할 수 있습니다.