Question Comment puis-je relancer le chargeur de démarrage?


Fonctionnement sudo apt-get -f install dit que The link /vmlinuz.old is a damaged link et:

you may need to re-run your boot loader[grub]

Voici la sortie complète:

user@chrubuntu:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
user@chrubuntu:~$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 270 MB disk space will be freed.
Do you want to continue? [Y/n] y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en
en",
    LC_ALL = (unset),
    LC_TIME = "en",
    LC_MONETARY = "en",
    LC_ADDRESS = "en",
    LC_TELEPHONE = "en",
    LC_NAME = "en",
    LC_MEASUREMENT = "en",
    LC_IDENTIFICATION = "en",
    LC_NUMERIC = "en",
    LC_PAPER = "en",
    LANG = (unset)
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 232120 files and directories currently installed.)
Removing linux-headers-3.13.0-32-generic (3.13.0-32.57) ...
Removing linux-headers-3.13.0-32 (3.13.0-32.57) ...
Removing linux-image-extra-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
The link /initrd.img.old is a damaged link
Removing symbolic link initrd.img.old 
 you may need to re-run your boot loader[grub]
Removing linux-image-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]
user@chrubuntu:~$

Comment ré-exécuter le chargeur de démarrage?


148
2017-09-02 02:44


origine


Je reçois le même problème lorsque j'utilise apt-get autoremove, mais comme le dit Eliah Kagan dans sa réponse grub semble bien fonctionner au redémarrage. - Mark Mikofski


Réponses:


Selon réponse de womble à Liens symboliques endommagés / vmlinuz et /initrd.img après la désinstallation du noyau (sur Erreur de serveur), vous n'avez rien à faire dans cette situation lorsque votre chargeur de démarrage est GRUB / GRUB2 - ce qui est le cas ici.

Pour certains autres chargeurs de démarrage (au moins LILO), il est / était apparemment parfois nécessaire d’exécuter manuellement la configuration du chargeur de démarrage.

Si vous fait besoin de dire à GRUB de vérifier les noyaux existants et de mettre à jour sa configuration, en cours d'exécution sudo update-grub le ferait. Et il n'y a pas de mal à faire fonctionner ça. Mais cela ne devrait pas être nécessaire dans ce cas.


187
2017-09-02 02:49



ok je les ai couru tu - TevinYoungz
@TevinYoungz C'est bien. sudo update-grub ne devrait pas faire de mal. - Eliah Kagan
Le mot "parfois" est un euphémisme. - Simon Richter
En pensant que cette paire d’erreur et la résolution pourraient recevoir un prix pour les erreurs de conception les plus stupides: avoir une commande grub nommée update-grub au lieu de grub-update ce qui est logique et ne spécifie pas le correctif (commande) qui fonctionne dans 99,99% des cas. - sorin
@sorin Je me demande ce qu'il y a un rapport de bogue pour cela quelque part. - Mateusz Konieczny


L'erreur est un peu étrange en cas de grub.

Lorsque apt installe une nouvelle version du noyau, il déplace / vmlinuz et /initrd.img vers /vmlinuz.old et /initrd.img.old (qui pointent toujours vers le noyau actuellement actif). qui est différent de l'histoire liée dans "Liens endommagés après la désinstallation du noyau") et crée deux nouveaux fichiers / vmlinuz /initrd.img.

Quand tu cours apt-get autoremove (les messages n’ont pas été générés par apt-get -f install) il supprime le noyau précédemment actif (vous avez redémarré après l'installation, avant d'exécuter autoremove, non?), ce qui rend les liens invalides.

Lorsque la suppression du noyau a été effectuée, l'autoremove appelle lui-même update-grub:

run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic

Par conséquent:

The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]

Donc, autoremove fait:

  1. supprimer l'ancien noyau
  2. lancez update-grub
  3. update-grub supprime les fichiers .old liés aux fichiers supprimés.

Pas d'inquiétudes à avoir :-)

Cordialement.


31
2017-08-19 14:08



Que se passe-t-il si vous n'avez pas redémarré après la dernière dist-upgrade? Alors quoi? Je ne redémarre jamais C'est pour les newbs. - Evan Carroll
Il n'y a aucun moyen de mettre le nouveau noyau en mémoire à moins de redémarrer. - simpleuser
Aussi sage de noter si vous avez /vmlinuz && /initrd.img lié à la zone du noyau (généralement / boot) avant de redémarrer. Comme réponse aux notes - le "lien endommagé" des fichiers ".old" n’a rien à craindre. Voté ^ - bshea


$ sudo update-grub

Et si vous voulez supprimer / purger les anciens paquets, vous pouvez aussi faire

$ dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge


11
2018-06-14 16:38



Si vous n'avez que des images 3.X, vous supprimez tout, est-ce que j'ai raison? - Harkály Gergő
Techniquement, votre première commande répond à la question. Aucune raison d'ajouter plus sur la maintenance de pkg. - bshea