grubx64.efi가 누락되었습니다

grubx64.efi가 누락되었습니다

슈퍼마이크로 서버를 다시 시작했지만 Linux 디스크가 부팅되지 않습니다.

BIOS/EFI에서 OS 디스크로 이동하여 EFI 파티션과 .efi나열된 모든 파일을 볼 수 있지만 grubx64.efi.

자신만의 부팅 옵션을 수동으로 추가하거나 EFI 셸에서 수동으로 부팅하려는 경우(예를 들어) 이것이 바로 선택이라고 생각합니다.

fs0:\EFI\EFI\redhat\grubx64.efi

그런데 이 파일이 없어졌어요. 이 문제를 어떻게 해결하나요?

이 시간은RHEL 7.6

답변1

이 상황은 EFI 변수가 올바르게 저장되지 않은 시스템에서 가끔 발생합니다. (특히 VirtualBox의 CentOS에서 이런 경우를 많이 봤습니다.) 제가 사용하는 해결 방법은 이미 존재하지 않는 경우 생성한 후 생성하는 것입니다 cp redhat/grubx64.efi BOOT/BOOTX64.EFI. BOOT/단일 부팅 시스템을 사용하지 않고 항상 GRUB으로 부팅하려는 경우 올바른 수정 사항을 사용해야 합니다. efibootmgr하지만 EFI가 손상된 경우 수정 사항이 유지되지 않는다는 점에 유의하세요.

답변2

이는 약간 복잡한 과정이므로 지금 당장 모든 단계를 자세히 설명할 수는 없습니다. 나중에 필요하면 기꺼이 할게요. 요약하면 다음 단계가 필요합니다.

  1. RHEL 부팅 디스크를 사용하여 복구 모드로 들어갑니다.

  2. 시스템의 root, boot및 파티션을 , , 및 EFI와 같은 임시 디렉토리 트리에 마운트하고 각각 해당 위치에 배치 합니다 (예: )./tmp/tmp/boot/tmp/boot/efichrootchroot /tmp

  3. 인터넷에 연결되어 있는지 확인하세요. 그렇지 않은 경우 nmtui또는 유사한 도구를 사용하여 연결하십시오.

  4. 패키지를 설치 grub2-efi하고 shim[인용하다].

  5. grub[를 발행하여 grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg 다시 빌드하십시오 .인용하다].

시스템을 다시 시작하십시오. RHEL 또는 EFI 파티션이 있는 디스크가 BIOS의 부팅 옵션으로 선택되어 있는지 확인한 다음 운영 체제를 부팅해 보십시오.

이 작업이 가능해야 합니다.

관련 정보