GRUB 2가 UEFI의 여러 Linux 파티션에서 작동하는 방식

GRUB 2가 UEFI의 여러 Linux 파티션에서 작동하는 방식

새 Linux를 설치할 때 설치 프로그램은 EFI 파티션에 부트로더(efi 파일)를 설치하고 NVRAM의 메뉴 항목을 업데이트하며 새로 추가된 부트로더를 기본값으로 설정할 가능성이 높습니다. 부트로더는 /boot/grub/grub.cfg커널과 initrd를 로드하기 위해 읽을 것입니다 .

제 질문은 ESP에 여러 개의 부트로더(.efi)가 있는 경우 동일한가요?입니다. 둘 다 GRUB2이기 때문입니다. 각각이 시스템의 모든 코어를 검색할 수 있습니까?

각 운영 체제의 파티션에 대한 파일이 있으므로 /boot/grub/grub.cfg기본 부트로더는 어떤 파티션을 읽습니까?

답변1

제 질문은 ESP에 여러 개의 부트로더(.efi)가 있는 경우 동일한가요?입니다. 왜냐하면 그들은 모두 grub2이기 때문입니다. 모두 시스템의 모든 코어를 검색할 수 있나요?

디스크에 UEFI Linux 설치가 여러 개 있는 경우 일반적으로 동일한 EFI 시스템 파티션(ESP)을 사용하지만 해당 EFI 실행 파일은 ESP의 다른 하위 디렉터리에 EFI/bootloader-id64-의 경우 동일한 이름을 갖습니다. 비트 설치에서는 grubx64.efiEFI 변수가 입니다.EFI/bootloader-id/grubx64.efi

이러한 실행 파일은 해당 파티션을 가리켜 grub-install야 할 수도 있지만 해당 시스템에서 실행하여 설치 됩니다 . 그리고 with 값을 선택해야 할 수도 있습니다 . Linux 배포판마다 기본값이 다릅니다 . 예를 들어 Debian의 기본값은 입니다 . 옵션에 대한 자세한 내용은 을 참조하세요 .grub-install--efi-directorybootloader-id--bootloader-idbootloader-iddebiangrub-installman grub-install

grub-install부팅/루트 장치의 이름은 UUID를 사용하여 이러한 실행 파일에 내장되어 있습니다.

이러한 EFI 실행 파일은 마더보드의 EFI 펌웨어에 의해 실행됩니다. EFI 실행 파일은 Linux 설치의 부팅/루트 장치를 인식하고 정의에 따라 grub.cfg부팅/루트 장치를 기준으로 고정된 위치를 가지므로 EFI 실행 파일은 /boot/grub/grub.cfg해당 설치에 해당하는 작업을 수행할 수 있습니다. 물론 grub.cfg시스템에 설치된 커널 이름을 포함하여 부팅에 필요한 모든 정보도 포함됩니다.

아치 위키 GRUB 페이지이러한 문제에 대한 내용이 잘 나와 있습니다. 당신은 또한 볼 수 있습니다데비안 위키 UEFI 페이지.

관련 정보