독립형 Grub2 EFI 설치 - grub.cfg 배치?

독립형 Grub2 EFI 설치 - grub.cfg 배치?

독립형 모드에서 EFI 시스템의 부팅 관리자로 Grub2를 사용하려고 합니다. (유일한 영구 하드 디스크에는 OS X가 있습니다. Linux 및 Windows 드라이브는 때때로 존재할 수도 있고 존재하지 않을 수도 있으므로 독립 실행형 모드입니다.)

저는 EFI 실행 파일 중 하나인 SuperGrub2Disk를 사용하고 있으며, 제가 이해한 바에 따르면 이 모드의 Grub2 실행 파일에는 내부 구성 파일의 복사본과 함께 루트 파티션에 마운트되는 디스크 이미지가 내장되어 있습니다.

외부 grub.cfg를 사용하여 이 구성 파일을 재정의하거나 수정하고 싶습니다. grub EFI 실행 파일 옆이나 ESP 파티션의 루트에 배치하려고 했지만 인식되지 않습니다. 또한 다음 명령을 사용하여 grub 명령줄에서 로드하려고 시도했습니다.

configfile (hd3,gpt1)/grub.cfg

ls로 확인한 구성 파일이 있더라도 화면을 지우는 것 외에는 아무런 효과가 없는 것 같습니다.

EFI 독립 실행형 Blob과 함께 외부 구성 파일을 사용하는 방법이 있는지 알려주실 수 있나요?

답변1

GRUB 2 바이너리에는 구성 파일에 대한 하드 코딩된 참조가 포함되어 있습니다. 나는 실제로 모든 세부 사항을 추적하지는 않았지만 내가 이해한 바에 따르면 AMD64/x86-64 시스템에는 Ubuntu용 EFI GRUB 2 바이너리가 두 개 있습니다.

  • grub2-efi-amd64-- 다음을 수행하는 컴퓨터에서 사용되는 GRUB 2 버전입니다.~ 아니다보안 부팅을 사용하세요. 내가 이해하는 바에 따르면 바이너리 자체는 다음과 같이 연결되어 있습니다.당신의패키지에 포함된 사전 컴파일된 구성 요소의 컴퓨터입니다. 결과 바이너리는 grub.cfgLinux 설치 /boot/grub디렉터리의 파일을 참조합니다. 따라서 grubx64.efi이 패키지에서 설치된 바이너리는 한 컴퓨터에서 다른 컴퓨터로 사용할 수 없습니다 . 바이너리는 생성된 컴퓨터에 맞게 사용자 정의되기 때문입니다.
  • grub2-efi-amd64-signed-- 이 GRUB 2 버전은 Secure Boot 키로 서명할 수 있도록 Canonical 시스템에서 컴파일 및 링크되었습니다. 바이너리 서명 요구 사항의 한 가지 부작용은 시스템에 맞게 사용자 정의할 수 없다는 것입니다. 결과적으로 이 버전의 grubx64.efigrub.cfg. Ubuntu 시스템에서 이 grub.cfg파일은 를 검색 /boot/grub/grub.cfg하지만 원칙적으로는 다른 작업을 수행하도록 사용자 정의할 수 있습니다.

따라서 귀하의 경우에는 서명되지 않은 GRUB 2 바이너리를 사용할 수 없습니다. 기본 Ubuntu GRUB 2 바이너리를 사용하려면 서명된 바이너리를 사용해야 합니다. 또는 설명된 대로 자체 바이너리를 만들 수도 있습니다.여기,다른 곳들 중에서.

하지만 귀하의 경우에는 GRUB 2가 실제로 최적이라고 생각하지 않습니다. 둘 다수리(지금은 버려졌음) 그리고 내 포크,재정의,사용 가능한 부트 로더에 대한 동적 검색 기능을 제공합니다. 따라서 rEFIt 또는 rEFInd를 컴퓨터에 설치하면내부 디스크 EFI 시스템 파티션(ESP)OS용 부트 로더를 각각의 이동식 미디어에 넣으면 rEFIt/rEFInd는 적절한 디스크가 연결된 경우에만 해당 OS를 부팅할 수 있는 옵션을 제공합니다. 그러나 이 동작은 부팅의 적절한 관리에 따라 달라집니다. 로더는 해당 디스크의 ESP에 각각 배치됩니다. 부트 로더가 모두 내부 디스크의 ESP에 저장된 경우 rEFIt/rEFInd는 GRUB 2와 마찬가지로 항상 작동하지 않는 OS 옵션을 표시합니다. 두 경우 모두 rEFIt 또는 rEFInd를 사용하면 수동 GRUB 2 구성의 어려움을 탐구할 필요가 없습니다.

답변2

동일한 디렉토리에 있는 grub.cfg는 일반적으로 둘 다 ESP에 저장되는 GRUB UEFI 이미지에 의해 읽고 실행될 것으로 예상하지만 Mac 설정에 대해서는 그다지 잘 모릅니다. (다른 말로 임베디드 구성의 기능은 매우 제한적입니다.)

포함된 구성 없이 GRUB 이미지를 직접 생성하면 솔루션을 한 단계 더 발전시킬 수 있습니다. 다음 게시물이 도움이 될 수 있습니다.

답변3

애플리케이션 바이너리와 동일한 디렉터리에 있는 구성 파일을 읽는 격리된 GRUB 2 설치를 포함하는 독립형 GRUB 2 UEFI 애플리케이션을 생성할 수 있습니다.

이 과정은Arch Linux 위키에 설명되어 있음, 그러나 모든 배포에서 수행할 수 있습니다(경로가 그에 따라 조정되는 한).

관련 정보