grub-efi에서이 오류를 해결하려면 어떻게해야합니까?


15

Windows 10 및 Ubuntu 16.04를 사용한 이중 부팅 시스템 설정이 있는데, PC grub이 올바르게 표시되면 Windows 및 Ubuntu가 인식되며 아무런 문제가 없습니다. 업데이트가 있거나 무언가를 설치해야 할 때 마다이 오류가 계속 발생합니다.

Errors were encountered while processing:
 grub-efi-amd64-signed
 shim-signed
Setting up shim-signed (1.12+0.8-0ubuntu2) ...
Installing for x86_64-efi platform.
grub-install: errore: cannot find EFI directory.
dpkg: error processing package shim-signed (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up grub-efi-amd64-signed (1.66+2.02~beta2-36ubuntu3) ...
grub-install: errore: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 subprocess installed post-installation script returned error exit status 1

그냥 무시해도됩니까, 아니면 고치기 위해 할 수있는 일이 있습니까?


이것이 UEFI 시스템입니까? / etc / fstab이 / boot / efi에 EFI 파티션을 마운트합니까? / boot / efi에 디렉토리 EFI가 포함되어 있습니까?
ubfan1

예, UEFI 시스템입니다. / boot / efi에는 EFI 디렉토리가 포함되어 있습니다. / etc / fstab 비트를 이해하지 마십시오
BressanFranco

업데이트가 완전히 종료 구성이 때 dpkg --configure -a 시도 패키지 전에 약간의 시간에 중단 찍었을 수도 있습니다 것 같습니다
MttJocy

@MttJocy는 그것을 시도, grub-efi-amd64 서명 및 shim 서명 패키지와 동일한 오류를 발생
시킵니다

답변:


4

에 대한 참조 /usr/lib/grub/i386-pc/modinfo.sh는 BIOS 모드 GRUB 설치 를 나타냅니다. 특히 i386-pc해당 경로 의 섹션은 GRUB의 BIOS 모드 버전 을 나타냅니다 . (AMD64 / x86-64에 EFI 모드 설치의 경우 해당 경로는 /boot/grub/x86_64-efi/modinfo.sh.) OTOH, 패키지 이름은 EFI 모드 GRUB 설치를 명확하게 나타냅니다. 이 두 가지를 혼합해서는 안되지만 어떻게 든 귀하의 경우에 발생했습니다. 아마도 이전 BIOS 모드 설치에서 남은 GRUB 구성 파일을 가지고있을 것입니다.이 경우 파일을 추적하고 업데이트하면 문제가 해결됩니다. 아마도 Boot Repair 가 문제를 자동으로 해결할 수 있습니다. 그러나 복구를 시도하면 시스템을 부팅 할 수 없게하여 문제를 악화시킬 위험이 있습니다. 따라서 매우 신중하게 진행하는 것이 좋습니다!

쉽게 고칠 수 없다면 GRUB을 다른 것으로 바꿀 수 있습니다. 이 웹 페이지에 설명 된 것처럼 몇 가지 대안을 사용할 수 있습니다 . GRUB 2는 "레일을 벗어난"상태에서 조정하기 에 가장 어려운 부트 로더이기 때문에 교체하는 것이 좋은 선택입니다. 보안 부팅이 활성화 된 상태에서 PPA의 설치를 복잡하게하는 Ubuntu 16.04 버그가 있다는 경고와 함께 제 자신의 rEFInd 부팅 관리자 를 쉽게 설치할 수 있습니다. (이 문서에서 다룹니다.) 또한 새 패키지를 설치하는 것만으로는 문제가 해결되지 않습니다. GRUB 패키지 를 제거 해야하기 때문에 GRUB 패키지 를 제거 해야합니다. 여기서 구체적으로 다루겠습니다 .생각보다 쉽지 않기 때문입니다. GRUB을 제거하면 우분투는 계속 GRUB을 다시 설치하려고 시도합니다.


고급 옵션의 Boot-Repair에는 grub의 전체 제거 / 재설치가 있습니다. 구성 문제가 해결 될 수 있습니다. UEFI 설치시 UEFI 모드로 부팅하십시오.
oldfred

@oldfred UEFI 모드로 부팅하려면 어떻게해야합니까? 바이오스 설정이라면 이미 활성화되어 있어야합니다.
BressanFranco

UEFI 부팅 메뉴에서 선택합니다. 일반적으로 플래시 드라이브는 두 번 표시됩니다. UEFI : flashdrive로 한 번 그리고 flashdrive로 다시 한 번 BIOS 부팅입니다. 또한 grub 메뉴가 UEFI인지, 접근성 화면 (아래에 작은 아이콘)이 표시되면 BIOS임을 알 수 있습니다. 스크린 샷과 함께 설치를 표시합니다. BIOS 퍼플 접근성 화면 및 UEFI 블랙 그럽
oldfred

부팅 복구 라이브 디스크를 시도하고 자동 복구를 수행하면 모든 것이 이전과 같은 오류가 발생하지 않고 지금은 좋아 보입니다. 업데이트 그럽은 Windows 파티션을 다시 추가했습니다. 모든 좋은 것 같다
BressanFranco

40

시험

sudo apt-get purge grub\*
sudo apt-get install grub-efi
sudo apt-get autoremove
sudo update-grub

고치다.


부팅 복구 라이브 디스크로 수정
BressanFranco

이 명령은 매력 Xubuntu 16.04처럼 작동
guyfromfl

4
안전한가요?
Pithikos

1
두 가지 방법 모두 안전합니다. 위의 명령 또는 부팅 복구 라이브 디스크를 사용할 수 있습니다.
John

1
Ubuntu 17.04를 18.04로 업그레이드 Errors were encountered while processing: grub-efi-amd64 grub-efi-amd64-signed shim-signed E: Sub-process /usr/bin/dpkg returned an error code 한 후 오류가 발생했습니다 sudo apt upgrade. 귀하의 솔루션도 나와 함께 일했습니다. 감사.
마리오는

4

누군가 mbr과 grub을 모두 처리하기 위해 멀티 부트 USB 디스크를 설정하려는 경우 :

현재 시스템이 EFI 인 경우 다음이 누락됩니다.

sudo apt install grub-pc-bin

현재 시스템이 MBR 인 경우 다음이 누락됩니다.

sudo apt install grub-efi-amd64-bin
# You may also need grub-efi-amd64-signed

1

시험:

sudo apt-get -f install

1 단계 : 심 제거 시작

그런 다음이 터미널 명령은 shim 서명 된 아카이브를 제거합니다.

2 단계 : shim 제거

이후 : shim 아카이브가 성공적으로 제거 된 상태

3 단계 : 심 제거

마지막으로 : 적어도 우분투 소프트웨어 업데이트는 모두 제대로 작동하면 다시 작동해야합니다 (필자의 경우).

4 단계 : 시스템 업데이트 프롬프트

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