Miałem dobrą instalację Debiana Jessie, ale potem uruchomiłem apt-get update && apt-get upgrade && apt-get dist-upgrade
.
A potem po ponownym uruchomieniu przyszedł bezpośrednio do BIOS-u. Zdałem sobie sprawę, że Grub brakuje, więc uruchomiłem CD na żywo i wszedłem Rescue mode
, zamontowałem partycję root, + partycję rozruchową i uruchomiłem następujące polecenia:
Grub znajduje obraz linuksa:
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
A następnie 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
Czy zrobiłem coś złego? Czy na mojej /boot/efi
partycji jest za mało miejsca ?
root@debian:~# ls -l /boot/efi/EFI/debian/
total 120
-rwx------ 1 root root 121856 Jul 20 20:29 grubx64.efi
efibootmgr
nie pokazuje instalacji Debiana:
root@debian:~# efibootmgr --verbose | grep debian
Edytować :
Ten błąd pojawia się za każdym razem, gdy próbuję utworzyć moduł ładujący za pomocą 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.
Odpowiedzi:
Naprawiono błędy efibootmgr poprzez zamontowanie zmiennych Boot dla
efibootmgr
:A potem
efibootmgr
dał mi błędy dotyczące przestrzeni:Naprawiono to poprzez usunięcie plików zrzutu:
A potem pobiegł jak zwykle
i działało pomyślnie!
źródło
rm /sys/firmware/efi/efivars/dump-*
a bieganiemgrub-install
.Spróbuj określić dysk zawierający moduł ładujący, jeśli nie jest nim / dev / sda:
źródło
sudo apt install efibootmgr
i utwórz, aby zakończyć opcję rozruchu, muszę usunąć inne opcje rozruchu.Miałem ten sam problem na Ubuntu z moją płytą główną Asus. Nie znalazłem żadnych plików zrzutu do usunięcia. Lub coś dużego, co można bezpiecznie usunąć.
Byłem w stanie rozwiązać ten problem poprzez ponowne uruchomienie systemu z
efi_no_storage_paranoia
opcją wiersza poleceń jądra. Zgubiłem już pozycję rozruchową Ubuntu UEFI. Na szczęście nadal mogłem uruchomić system na mojej partycji Ubuntu, wybierając opcję rozruchu w ustawieniach BIOS. Następnie użyłem klawisza „e” w menu Grub, aby dodać tę opcję do wiersza poleceń jądra. Następnie byłem w stanie zakończyć moją poprzednio nieudaną aktualizację systemu, uruchamiającapt -f install
.Jeśli system jest w stanie nie do rozruchu, jedną z opcji jest uruchomienie z pamięci USB Ubuntu i stamtąd naprawić problem.
Jeśli problem pojawi się później, rozważę dodanie tej opcji jądra na stałe
/etc/default/grub
.Jądro jest bardzo paranoiczne w kwestii wypełniania przestrzeni zmiennej UEFI. Informuje, że jest pełna, nawet jeśli pozostało wolne miejsce. Jest to celowe, aby zapobiec trwałemu zapełnianiu miejsca na niektórych płytach głównych. Podejrzewam, że z moją płytą główną może to być zbyt paranoiczne. Być może BIOS nie rozpoczyna odśmiecania pamięci, chyba że przestrzeń się zapełni.
Wcześniej byłem w stanie wyjść z tej samej sytuacji, używając nagłówka „Clear CMOS” na mojej płycie głównej. Dobrze jest znaleźć rozwiązanie programowe.
źródło