grub "오류: 서명 없음" 문제를 해결하는 방법은 무엇입니까?

grub "오류: 서명 없음" 문제를 해결하는 방법은 무엇입니까?

나는 QEMU/KVM에서 Archlinux를 실행하는 가상 머신을 가지고 놀았습니다.

며칠 동안은 모든 것이 괜찮았고, 그 후 용량을 늘리기 위해 가상 머신에 새 디스크를 추가했습니다.

정확히 무슨 일이 일어났는지 잘 모르겠지만 이제 VM을 부팅하려고 하면 grub에서 오류가 발생합니다.

error: no signature

어디서부터 시작해야할지 모르겠습니다. 내 문제를 해결하는 데 도움을 주시면 매우 감사하겠습니다.


고쳐 쓰다 이 문제는 QEMU/KVM 버그이거나 다른 것일 수 있습니까? 내 위치로 이동할 수 있기 때문입니다.그럽 메뉴를 소유하고 정상적으로 시작라이브 USB를 사용하는 경우.

  • 설치 USB 사용
  • 부팅 메뉴가 나타나면 다음을 선택했습니다.UEFI Firmware Settings
  • 선택하다Boot Manager
  • 선택하다Grub
  • 이것은 나를 내 것으로 데려온다나만의 그럽 메뉴
  • 시스템이 정상적으로 시작됩니다.

답변1

GRUB_ERR_BAD_PART_TABLEGRUB 소스 코드를 검색한 후 "서명 없음" 오류 텍스트는 GRUB가 부팅할 디스크에서 유효한 파티션 테이블을 볼 수 없다는 오류와 함께만 나타납니다 . 보안 부팅은 여기에 포함되지 않습니다.

VM 펌웨어 검색 순서에 따르면 VM에 추가한 새 디스크가 원래 부팅한 디스크보다 먼저 종료되었으며 이제 GRUB(또는 시스템 펌웨어?)가 잘못된 디스크를 찾고 있는 것 같습니다. .

UEFI 펌웨어 부팅 관리자 메뉴를 사용하여 VM을 성공적으로 부팅했으므로 문제 해결의 다음 단계는 efibootmgr -vVM에서 실행하여 BootCurrent값이 무엇인지, BootXXXX어떤 부팅 변수를 참조하는지 확인하는 것입니다.

BootCurrent이 값은 변수의 첫 번째 값과 동일합니까 BootOrder?

  • 그렇다면 이는 VM 펌웨어 버그이거나 예상치 못한 상황(자가 복구 시스템???)일 수 있습니다.

  • 그렇지 않다면 이 두 부팅 옵션의 차이점은 무엇입니까? 즉, BootCurrent가 XXXX이고 BootOrder의 첫 번째 값이 YYYY인 경우 부팅 변수 BootXXXXBootYYYY무엇이 다른가요 ?

표시된 변수가 유효한 것 같으면 BootXXXX해당 변수를 첫 번째 항목으로 만들면 BootCurrent문제가 해결됩니다.XXXXBootOrder

efibootmgr -o XXXX,<other BootOrder values, if any>

관련 정보