EFI 디렉터리를 찾을 수 없습니다: grub 설치 문제

EFI 디렉터리를 찾을 수 없습니다: grub 설치 문제

Linux에서 GRUB를 구출하려고 합니다. 이 튜토리얼을 따라 OS에 로그인할 수 있었습니다.

https://www.liisenet.com/2014/grub2-rescue-mode-error-unknown-filesystem/

이 문제를 해결하려면 GRUB을 업그레이드해야 했습니다. 그러나 실행하면 grub-install오류가 발생합니다.

$ grub-install /dev/sda
grub-install: error: cannot find EFI directory.

내 파일 시스템에는 각각 EFI 시스템, Linux 스왑 영역 및 Linux 파일 시스템을 나타내는 sda4, sda5및 가 포함되어 있습니다.sda6

저는 mount나 다른 명령을 사용해 본 경험이 없습니다.

답변1

당신이 달릴 때그럽 설치기본적으로 EFI 시스템이 /boot/efi로 마운트되어 있다고 가정합니다.

이는 EFI 시스템을 설치하는 배포판에 따라 다르며 일부 배포판에서는 부팅 후 EFI 시스템이 설치되지 않습니다.

먼저 /boot/efi가 마운트되었는지 확인하세요.

mount | grep /boot/efi

그래도 문제가 해결되지 않으면 먼저 다음을 시도하여 다른 곳에 설치되어 있는지 확인하세요.

mount | grep /dev/[efi device]

이들 중 아무것도 작동하지 않는 경우:

mount /dev/[efi device] /mnt

이제 다음을 실행하세요.

grub-install --efi-directory=[efi dir]
grub-mkconfig -o /boot/grub/grub.cfg

여기서 [efi dir]은 /boot/efi 또는 /mnt이고 [efi device]는 EFI 시스템 파티션이 있는 장치입니다. 사용할 명령어를 모르는 경우lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

답변2

efi 디렉터리는 다음 위치에 있어야 합니다./시작/efi/

어떤 파티션 efi가 있는지 알려면 파티션 테이블을 확인해야 합니다. 따라서 메인 디스크가 /dev/sda라면 다음과 같습니다.

fdisk -l /dev/sda
Device             Start        End   Sectors   Size Type
/dev/sda1           2048     309247    307200   150M EFI System
/dev/sda2         309248  964843519 964534272 459.9G Linux filesystem
/dev/sda3      964843520 1000214527  35371008  16.9G Linux filesystem

유사한 콘텐츠에 대한 검색결과EFI 시스템또는EFI(FAT-12/16/32)

파티션 번호(이 경우 sda1)를 알고 나면 이를 마운트해야 합니다./시작/efi.

어떤 이유로 /boot/efi/ 디렉터리가 존재하지 않으면 디렉터리를 생성하십시오:

mkdir /boot/efi

그리고 efi를 이 디렉터리에 마운트합니다.

mount /dev/sda1 /boot/efi/

그게 전부라고 생각합니다. 디스크에 grub을 설치할 수 있어야 합니다.

답변3

방금이 문제가 발생했습니다. 복구 USB 스틱을 부팅했습니다. 나에게 도움이 된 수정 사항을 설명하겠습니다.

검색해 보면 gdisk -l /dev/sda원래 루트 파티션이 이라는 것을 알 수 있습니다 /dev/sda2. 이에 액세스하려면 다음을 입력합니다.sudo mount /dev/sda2 /mnt

여태까지는 그런대로 잘됐다. 무엇인지 먼저 설명하자면아니요작업한 다음 솔루션을 선택하세요. 일부 페이지에서는 chroot /mntthen 을 제안 grub-install하지만 오류가 발생합니다 grub-install: error: cannot find EFI directory..

다른 제안에 따라 EFI 파티션이 이와 같은 것을 보고 다시 chroot를 /dev/sda1시도했습니다 sudo mount /dev/sda1 /mnt/boot/efi. 이제 grub은 /dev나 때문에 실종되었다고 불평합니다 mount --bind /dev/ /mnt/dev. ...하지만 그럽은 다른 것에 대해 불평했습니다. 상황이 걷잡을 수 없이 눈덩이처럼 불어났습니다. chroot대답이 아닙니다.

작동하는 것은 다음과 같습니다.grub-install -d /mnt/usr/lib/grub/x86_64-efi --boot-directory=/mnt/boot /dev/sda

이 플래그는 필수입니다. 그렇지 않으면 grub은 올바른 콘텐츠가 포함되지 않은 복구 이미지를 -d사용하려고 시도합니다 ./usr/lib/grub/i386-pc

응, 응! 이제 시스템이 다시 부팅됩니다!

답변4

sudo apt-get --purge autoremove  grub-efi-amd64-signed

관련 정보