내 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
efibootmgr
Debian 설치를 표시하지 않습니다:
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" 헤더를 사용하여 동일한 상황에서 복구할 수 있었습니다. 소프트웨어 솔루션을 찾게 되어 정말 기쁩니다.