EFI 디렉토리를 찾을 수 없음 : grub-install 관련 문제


14

나는 리눅스에서 GRUB을 구하려고했다. 이 튜토리얼에 따라 OS에 로그인 할 수있었습니다.

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

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

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

내 파일 시스템을 포함하고 sda4, sda5하고 sda6의 EFI 시스템, 리눅스 스왑, 리눅스 파일 시스템에 대한 각각.

mount 또는 다른 명령을 사용한 경험이별로 없습니다.

답변:


11

기본적으로 grub-install 을 실행 하면 EFI 시스템이 / boot / 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
에서 덕분에, grub-install --efi-directory=/boot/EFI같은 난에 chroot를 /mnt.
krishnakant

어리석은 Q 일 수도 있지만 EFI 디렉토리가 없습니다. 어디서 구할 수 있습니까? 파일이 포함되어 있어야한다는 것을 의미합니다. 어떤 명령으로 파일을 다시 만들 수 있습니까?
Lennart Rolland

@LennartRolland UEFI 호환 시스템을 사용하는 경우 시스템 드라이브가 GPT 파티션되고 "UEFI 시스템 파티션"이 포함됩니다. 일반적으로 첫 번째 파티션이며 EF00 유형입니다. GRUB 부트 로더가 파일을 업데이트 할 수 있도록 많은 배포판이 기본적으로 이것을 / boot / efi로 마운트합니다. 그렇지 않은 경우 직접 마운트하고 fstab에 추가해야합니다. UEFI 시스템이있을 수도 있지만 레거시 모드를 사용 중이므로 파티션이 msdos 유형이며 / boot / efi가 없습니다. Weirder 구성이 존재하지만 대부분 구성됩니다.
jdwolf

EFI가 마운트되지 않은 경우 지침이 잘못되었습니다. 내 편집을 참조하십시오. mount | grep /dev/sda6작동하지 않습니다. EFI가 마운트되지 않은 경우 파티션 유형을 확인해야합니다.
giusti

@giusti 아마도 특정 장치 이름을 참조하지 않는 것이 좋습니다.
jdwolf

1

그럽 구조 모드는

set root=(hd0,gpt6)
set prefix=(hd0,gpt6)/boot/grub
insmod normal
normal

로그인 한 후을 입력하십시오 sudo update-grub && sudo grub-install /dev/sda.


grub-install전에하지 말아야합니까 update-grub?
danger89
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.