그럽 설치 실패

그럽 설치 실패

내 Debian Jessie 설치가 제대로 실행되고 있었지만 apt-get update && apt-get upgrade && apt-get dist-upgrade.

그런 다음 재부팅 후 BIOS로 직접 들어가게 됩니다. Grub이 없다는 것을 깨달았기 때문에 live cd를 실행하고 를 입력 Rescue mode하고 루트 파티션, + boot 파티션을 마운트하고 다음 명령을 실행했습니다.

Grub은 Linux 이미지를 찾았습니다.

root@debian:~# update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.9.0-3-amd64
Found initrd image: /boot/initrd.img-4.9.0-3-amd64
Found linux image: /boot/vmlinuz-4.9.0-0.bpo.3-amd64
Found initrd image: /boot/initrd.img-4.9.0-0.bpo.3-amd64
Found linux image: /boot/vmlinuz-3.16.0-4-amd64
Found initrd image: /boot/initrd.img-3.16.0-4-amd64
Found Ubuntu 16.10 (16.10) on /dev/sdb2
Adding boot menu entry for EFI firmware configuration
done

그런 다음 grub-install:

root@debian:~# grub-install /dev/sda
Installing for x86_64-efi platform.
Could not prepare Boot variable: No such file or directory
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.

lsblk:

root@debian:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 223.6G  0 disk 
├─sda1   8:1    0  92.6G  0 part /
├─sda2   8:2    0 130.4G  0 part 
└─sda3   8:3    0   573M  0 part /boot/efi

내가 뭐 잘못 했어요? 내 파티션 공간이 너무 작은가요 /boot/efi?

root@debian:~# ls -l /boot/efi/EFI/debian/
total 120
-rwx------ 1 root root 121856 Jul 20 20:29 grubx64.efi

efibootmgrDebian 설치를 표시하지 않습니다:

root@debian:~# efibootmgr --verbose | grep debian

편집하다:

다음 명령을 사용하여 부트로더를 생성하려고 할 때마다 다음 오류가 발생합니다 efibootmgr.

grub-install: info: executing efibootmgr -c -d /dev/sda -p 3 -w -L grub -l \EFI\grub\grubx64.efi.
Could not prepare Boot variable: No such file or directory
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.

답변1

부팅 변수를 설치하여 efibootmgr 오류를 수정했습니다 efibootmgr.

# mount -t efivarfs efivarfs /sys/firmware/efi/efivars

그런 다음 efibootmgr공간에 대한 오류가 발생합니다.

Could not prepare Boot variable: No space left on device

덤프 파일을 삭제하여 문제를 해결했습니다.

# rm /sys/firmware/efi/efivars/dump-*

그런 다음 평소대로 실행하십시오.

update-grub 
grub-install -v --target=x86_64-efi --recheck /dev/sda

그리고 성공적으로 실행됩니다!

답변2

디스크가 /dev/sda가 아닌 경우 로더가 포함된 디스크를 지정해 보십시오.

efibootmgr --create --disk /dev/nvme0n1 --part 1 --label Ubuntu

답변3

Asus 마더보드의 Ubuntu에서도 동일한 문제가 발생했습니다. 삭제할 덤프 파일을 찾지 못했습니다. 또는 안전하게 제거할 수 있는 큰 것.

커널 명령줄 옵션을 사용하여 efi_no_storage_paranoia시스템을 재부팅하여 문제를 해결할 수 있었습니다. Ubuntu UEFI 부팅 항목을 잃어버렸습니다. 다행히도 BIOS 설정의 부팅 선택을 통해 Ubuntu 파티션으로 부팅할 수 있습니다. 그런 다음 grub 메뉴의 "e" 키를 사용하여 커널 명령줄에 옵션을 추가했습니다. 그런 다음 를 실행하여 이전에 실패한 시스템 업그레이드를 완료할 수 있었습니다 apt -f install.

시스템이 부팅할 수 없는 상태인 경우 한 가지 옵션은 Ubuntu USB 스틱에서 부팅하고 거기에서 문제를 해결하는 것입니다.

나중에 문제가 다시 발생하면 이 커널 옵션을 /etc/default/grub.

커널은 UEFI 가변 공간을 채우는 데 매우 편집증적입니다. 아직 공간이 남아 있는데도 꽉 찼다고 보고됩니다. 이는 일부 마더보드에서 공간이 영구적으로 채워지는 것을 방지하기 위한 것입니다. 나는 이것이 내 마더보드에 너무 편집증적일 수 있다고 생각합니다. 공간이 더 채워지지 않으면 BIOS가 가비지 수집을 시작하지 않을 수도 있습니다.

이전에는 마더보드의 "Clear CMOS" 헤더를 사용하여 동일한 상황에서 복구할 수 있었습니다. 소프트웨어 솔루션을 찾게 되어 정말 기쁩니다.

관련 정보