Efibootmgr이 NVRAM이 꽉 찼다고 보고합니다. 새 ESP를 추가하는 방법은 무엇입니까?

Efibootmgr이 NVRAM이 꽉 찼다고 보고합니다. 새 ESP를 추가하는 방법은 무엇입니까?

나는 문제가 무엇인지 알고 있다고 믿으며, 위험할 수도 있다는 것을 알지만 문제를 해결하려고 시도할 수 있는 것이 하나 더 있다는 것을 알고 있으므로 먼저 여기에 물어보아야 합니다. 저는 개인적으로 Linux를 설치하고 이를 기본 운영 체제로 여러 번 실행했지만 이와 같은 문제는 겪어본 적이 없습니다.

질문

저는 친구가 오래된 노트북(삼성 노트북 NP-R580H라고 생각합니다)에 Manjaro(Windows 7의 듀얼 부팅 설정)를 설치하는 것을 돕고 있습니다. 하지만 이 문제는 Manjaro에만 국한된 것이 아닙니다(우리는 재고 Arch Linux도 확인했으며 이 문제는 설치하려는 모든 운영 체제에 적용된다고 가정합니다).

GRUB 설치 시도가 실패할 때까지 첫 번째 시도에서는 모든 것이 잘 진행되었습니다. GRUB은 ESP가 EFI 파티션처럼 보이지 않는다고 불평하며 다음과 같이 말합니다 /boot/efi doesn't look like an efi partition.

이는 ESP를 NTFS에서 vFAT로 포맷한 후 GRUB가 이를 유효한 ESP로 인식하기 때문에 사소한 문제일 뿐입니다. ESP의 내용을 포맷하기 전에 백업했지만(그래서 원래 Windows 7 EFI 파일이 있었습니다) UUID는 눈치채지 못했지만(당시에는 전혀 의미가 없어 보였기 때문에).

불행하게도 GRUB은 새로운 오류를 반환하여 오늘에 이르게 되었습니다: Failed to create EFI Boot variable entry: No space left on device. 많은 조사 끝에 NVRAM이 꽉 찬 것으로 보고되어 efibootmgr이 새 부팅 항목을 생성할 수 없다는 사실을 발견했습니다.

나는 List Startup Items를 사용할 수 있다고 생각했지만 efibootmgr -v불평을 했습니다 No BootOrder is set; firmware will attempt recovery. 더 자세히 조사한 결과 이러한 부팅 항목은 부팅 가능한 파일이 알려진 위치에 있는 경우에만 표시되는 것으로 보입니다.아니요, ESP가 다시 포맷되었기 때문입니다(이것은https://wiki.archlinux.org/title/GRUB#Default/fallback_boot_path). 이 발견 후 efibootmgr을 사용하여 UEFI 부팅 항목을 직접 추가하려고 시도했지만 동일한 오류가 발생했습니다.

가능성

이 시점에서 NVRAM을 올바르게 읽을 수 없다면 efi_no_storage_paranoia제안된 대로 커널 매개변수 사용이라는 한 가지 옵션을 생각해 볼 수 있습니다.https://askubuntu.com/a/1073318, 걱정이 되긴 하지만. 노트북이 완전히 벽돌로 덮여 있으면 어떻게 되나요?

이 기사를 작성하는 과정에서 이 bcfg도구가 도움이 될 수 있다는 사실을 발견했습니다(https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface#bcfg), 하지만 다른 작업을 수행하기 전에 나보다 경험이 많은 분들의 의견을 기다리겠습니다.

이 시점에서는 원래 ESP를 복원하는 방법을 찾고 있습니다. NVRAM에서 이전 값을 읽을 수 있다면 ESP를 다시 만드는 데 필요한 UUID를 알 수 있을 것이라고 생각합니다. 비록 아직 값을 얻지는 못했지만 말이죠.

더 많은 정보가 필요하면 제공하도록 노력하겠습니다.

관련 정보