Grub kurulumu başarısız


13

Debian Jessie'nin iyi çalışan bir kurulumu vardı, ama sonra koştum apt-get update && apt-get upgrade && apt-get dist-upgrade.

Ve sonra yeniden başlattıktan sonra, doğrudan BIOS'a geldi. Grub'un eksik olduğunu fark ettim, bu yüzden canlı bir cd çalıştırdım ve girdim Rescue mode, kök bölümümü + önyükleme bölümünü monte ettim ve şu komutları çalıştırdım:

Grub linux imgesini bulur:

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

Ve sonra 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

Ben yanlış bir şey mi yaptım? Bölümümde çok az yer var mı /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 yüklemesi göstermiyor:

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

Düzenle :

Ben her denemek ve kullanarak bir önyükleme yükleyici oluşturmak her zaman bu hatayı almaya devam 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.

ASUS dizüstü bilgisayarında tam olarak aynı sorun var.
Aubin

Yanıtlar:


33

Aşağıdakiler için Boot değişkenlerini bağlayarak efibootmgr hataları düzeltildi efibootmgr:

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

Ve sonra efibootmgrbana uzay hakkında hatalar verdi:

Could not prepare Boot variable: No space left on device

Döküm dosyalarını silerek düzeltildi:

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

Ve sonra olağan koştu

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

ve başarıyla koştu!


1
Bu benim için çalıştı, ancak adım rm /sys/firmware/efi/efivars/dump-*ve koşma arasında yeniden başlatmam gerekti grub-install.
Nick ODell

1

Diskiniz / dev / sda değilse yükleyiciyi içeren diski belirtmeye çalışın:

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

Bu seçenek benim için çalıştı, önce excute sudo apt install efibootmgrve önyükleme seçeneği sonlandırmak için oluşturmak, diğer önyükleme seçeneklerini silmek lazım.
Diego Mesa

0

Aynı sorunu Asunt anakartımla Ubuntu'da da yaşadım. Silinecek döküm dosyası bulamadım. Veya silinmesi güvenli olan büyük bir şey.

efi_no_storage_paranoiaÇekirdek komut satırı seçeneği ile sistemi yeniden başlatarak sorunu çözebildim . Ubuntu UEFI önyükleme girişini zaten kaybetmiştim. Neyse ki yine de BIOS ayarlarında önyükleme yaparak Ubuntu bölümüme önyükleme yapabilirim. Bundan sonra, bu seçeneği çekirdek komut satırına eklemek için grub menüsünde "e" tuşunu kullandım. Sonra daha önce başarısız olan sistem yükseltmesini çalıştırarak bitirebildim apt -f install.

Sistem önyükleme yapılamıyorsa, seçeneklerden biri Ubuntu USB çubuğundan önyükleme yapmak ve sorunu oradan düzeltmektir.

Sorun daha sonra tekrar ortaya çıkarsa, bu çekirdek seçeneğini kalıcı olarak eklemeyi düşüneceğim /etc/default/grub.

Çekirdek, UEFI değişken alanını doldurma konusunda çok paranoyak. Yer kalsa bile dolu olduğunu bildirir. Bu, bazı anakartlardaki boşluğun kalıcı olarak doldurulmasını önlemek için tasarlanmıştır. Anakartımla bunun çok paranoyak olabileceğinden şüpheleniyorum. Alan daha fazla dolmadıkça BIOS çöp toplama işlemini başlatmaz.

Daha önce anakartımdaki "Clear CMOS" başlığını kullanarak aynı durumdan kurtulabiliyordum. Bir yazılım çözümü bulmak güzel.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.