J'ai eu une bonne installation de Debian Jessie, mais j'ai ensuite couru apt-get update && apt-get upgrade && apt-get dist-upgrade
.
Et puis après le redémarrage, il est venu directement au BIOS. Je me suis rendu compte que Grub manquait, alors j'ai exécuté un cd live et entré Rescue mode
, monté ma partition racine, + la partition de démarrage et exécuté ces commandes:
Grub trouve l'image 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
Et puis 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
Est-ce que j'ai fait quelque chose de mal? Y a-t-il trop peu d'espace sur ma /boot/efi
partition?
root@debian:~# ls -l /boot/efi/EFI/debian/
total 120
-rwx------ 1 root root 121856 Jul 20 20:29 grubx64.efi
efibootmgr
ne montre pas d'installation Debian:
root@debian:~# efibootmgr --verbose | grep debian
Éditer :
Je reçois cette erreur chaque fois que j'essaie de créer un chargeur de démarrage en utilisant 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.
Réponses:
Correction des erreurs efibootmgr en montant les variables de démarrage pour
efibootmgr
:Et puis
efibootmgr
m'a donné des erreurs sur l'espace:Corrigé cela en supprimant les fichiers de vidage:
Et puis a couru l'habituel
et ça s'est bien passé!
la source
rm /sys/firmware/efi/efivars/dump-*
et la coursegrub-install
.J'ai eu le même problème sur Ubuntu avec ma carte mère Asus. Je n'ai trouvé aucun fichier de vidage à supprimer. Ou tout ce qui peut être supprimé en toute sécurité.
J'ai pu résoudre le problème en redémarrant le système avec l'
efi_no_storage_paranoia
option de ligne de commande du noyau. J'avais déjà perdu l'entrée de démarrage Ubuntu UEFI. Heureusement, je pouvais toujours démarrer sur ma partition Ubuntu en allant à la sélection de démarrage dans les paramètres du BIOS. Après cela, j'ai utilisé la touche "e" dans le menu grub pour ajouter cette option à la ligne de commande du noyau. Ensuite, j'ai pu terminer ma mise à niveau du système précédemment échouée en exécutantapt -f install
.Si le système est dans un état non amorçable, une option consiste à démarrer à partir de la clé USB Ubuntu et à résoudre le problème à partir de là.
Si le problème réapparaît plus tard, j'envisagerai d'ajouter définitivement cette option de noyau dans
/etc/default/grub
.Le noyau est très paranoïaque quant au remplissage de l'espace variable UEFI. Il signale qu'il est plein même s'il reste de l'espace. Ceci est intentionnel pour éviter de remplir définitivement l'espace sur certaines cartes mères. Je soupçonne qu'avec ma carte mère, cela pourrait être trop paranoïaque. Peut-être que le BIOS ne démarre pas la récupération de place à moins que l'espace ne soit plus plein.
Auparavant, je pouvais récupérer de la même situation en utilisant l'en-tête "Clear CMOS" sur ma carte mère. Bon pour trouver une solution logicielle.
la source
Essayez de spécifier le disque contenant le chargeur si votre disque n'est pas / dev / sda:
la source