web-dev-qa-db-fra.com

initramfs échoue après la mise à niveau vers 13.04, impossible de mettre à jour le système avec apt-get / dpkg

L'autre soir, j'ai reçu l'invite me suggérant de passer de 12h10 à 13h04. J'ai pensé pourquoi pas et j'ai accepté la mise à jour. J'ai eu très peu d'interaction, j'ai juste cliqué sur le bouton d'acceptation et je suis revenu à une machine mise à niveau en une heure environ.

initramfs échoue maintenant sur les anciens en-têtes Linux que je ne crois pas exister sur mon système, et je ne parviens pas à mettre à jour quoi que ce soit sur mon système (c'est-à-dire à peu près tout, y compris les pilotes graphiques, les mises à jour système, etc.). J'essaie de résoudre ce problème depuis près d'un mois et j'ai beaucoup appris sur Ubuntu/Linux, même si je ne suis toujours pas sûr de ce que je dois faire pour éviter l'erreur suivante.

Chaque fois que je lance des commandes telles que:

Sudo apt-get install  (with -f or not)
Sudo apt-get upgrade
Sudo apt-get dist-upgrade
Sudo apt-get remove
Sudo apt-get autoremove
Sudo update-initramfs -u

Je vais recevoir les messages/erreurs suivants et je ne pourrai plus continuer le processus:

Setting up initramfs-tools (0.103ubuntu0.7) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.8.0-31-generic
Fatal: open /boot/vmlinuz-3.5.0-21-generic: No such file or directory
run-parts: /etc/initramfs/post-update.d//runlilo exited with return code 1
dpkg: error processing initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

Sudo apt-get clean et Sudo apt-get autoclean semblent n'avoir aucun effet. L'utilisation de Sudo apt-get update semble fonctionner comme prévu, mais rien ne change pour ce qui est de recevoir l'erreur ci-dessus avec les commandes suivantes.

Lancer Sudo dpkg-reconfigure -a n'a pas fait de différence.

J'ai appris qu'il peut y avoir des restes de "3.5.0-21-generic" sur mon système. J'ai fait de mon mieux pour les localiser et les transférer dans un répertoire tmp de chez moi. J'ai examiné mon /etc/apt/sources.list pour trouver des références à ces en-têtes, et il n'y en a pas.

J'ai examiné le contenu de /var/lib/dpkg/info/linux-image-generic.list qui est comme suit:

/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/linux-image-generic
/usr/share/doc/linux-image-generic/copyright
/usr/share/doc/linux-image-generic/changelog.gz

J'ai vérifié le contenu de tous ces emplacements, et n'ai trouvé aucune référence à quoi que ce soit avec 3.5.0-21, et en fait, dans l'ensemble de mon système, les seuls fichiers avec cette chaîne dans le nom existent maintenant dans mon nouveau répertoire tmp qui J'ai tout déplacé dans. J'ai également déplacé les références à linux-image-3.5.0-21-generic.* et linux-image-extra-3.5.0-22-generic.* qui étaient dans /var/lib/dpkg/info dans mon nouveau répertoire tmp.

Il me semble qu’il n’ya pas d’endroit où vmlinuz-3.5.0-21-generic puisse se trouver sur mon système. Je ne trouve aucun fichier lors de la recherche de tous les fichiers contenant des éléments contenant 3.5.0-21. Je ne peux toujours pas utiliser initramfs, ce qui implique que je ne peux pas mettre à jour/mettre à niveau mon système, installer de nouveaux packages ou résoudre quelques autres problèmes qui sont apparus lors de la mise à niveau vers 13.04.

Ce qui suit est (une partie de) ma sortie de:

$ Sudo update-initramfs -u -v
Available versions:  3.8.0-31-generic 3.5.0-41-generic
Keeping /boot/initrd.img-3.8.0-31-generic.dpkg-bak
update-initramfs: Generating /boot/initrd.img-3.8.0-31-generic
Adding module /lib/modules/3.8.0-31-generic/kernel/drivers/hid/hid.ko
... (mostly adding/calling happening here, hundreds of lines of output, seems successful)
Calling hook busybox
Adding binary /usr/lib/initramfs-tools/bin/busybox
Calling hook dmsetup
Adding binary /sbin/dmsetup
Adding library /lib/i386-linux-gnu/libdevmapper.so.1.02.1
rm -f ./etc/ld.so.conf.d/nvidia_settings.conf 
rm -f ./lib/firmware/cxgb4/t4fw.bin 
Building cpio /boot/initrd.img-3.8.0-31-generic.new initramfs
Fatal: open /boot/vmlinuz-3.5.0-21-generic: No such file or directory
run-parts: /etc/initramfs/post-update.d//runlilo exited with return code 1

Quelqu'un pourrait-il m'aider à comprendre ce problème et à le résoudre? Que puis-je faire pour surmonter cela? Je ne souhaite vraiment pas recourir à la réinstallation complète de mon système. Existe-t-il un autre moyen de résoudre ce problème?

2
Todd

J'ai résolu le problème et je peux maintenant mettre à jour mon système normalement. Cependant, je ne comprends toujours pas comment ce problème a commencé.

Quoi qu'il en soit, je suis allé de l'avant et j'ai installé le premier noyau manquant répertorié, 3.5.0-21. Depuis, j'ai modifié cet aspect de la question, mais après avoir installé la version 3.5.0-21, initramfs a commencé à se plaindre de la version 3.5.0-17. J'ai donc décidé que j'avais résolu ce problème et que je lui avais permis de consommer beaucoup plus de temps. J'ai également sauvegardé toutes mes données et me suis préparé au pire, tout en espérant le meilleur.

J'ai compris comment télécharger les anciens/obsolètes noyaux Linux/en-têtes en les recherchant sur packages.ubuntu.com. J'ai ensuite édité mon fichier /etc/apt/sources.list afin de permettre le téléchargement des versions candidates associées à ces deux images linux. J'ai ensuite lancé 'Sudo apt-get update' pour mettre à jour les sources. Ensuite, j'ai pu exécuter "Sudo apt-get download linux-image3.5.0 - ## - generic" et installé avec succès les deux packages.

Après cela, toutes mes commandes apt-get ont continué à fonctionner, j'ai réussi à installer les dernières mises à jour de 13.04 et à mettre à jour tous mes autres logiciels utilisateur.

Puis, après le redémarrage, ma souris et mon clavier ne répondaient plus! Mon menu de grub a disparu! Je ne pouvais pas obtenir de terminal, ni faire quoi que ce soit vraiment. À partir de mon ordinateur Windows, j'ai téléchargé une image 13.10, créé un disque de démarrage USB Ubuntu et récupéré le fichier grub après le démarrage à partir de ce volume Flash. Après avoir sauvé grub, j'ai été en mesure de démarrer en mode de récupération et de réparer les mauvais paquets ou quoi que ce soit qui se soit passé. Après le redémarrage de ma machine, je pouvais me connecter avec la souris et le clavier. Maintenant, mon système semble stable et je suis émerveillé par l'expérience d'apprentissage que tout cela représente.

0
Todd