web-dev-qa-db-fra.com

Après avoir supprimé un ancien noyau

J'ai supprimé certaines parties essentielles du noyau pour agrandir l'espace libre sur ma partition de démarrage. D'abord je procède comme dans ce lien . Cependant, le problème n'est pas exactement le même que dans le lien (voir la réponse d'Eliah ci-dessous). Ce que j'ai essayé en premier était la première sortie suivante de mon schéma de partition:

ubuntu@ubuntu:~$  Sudo parted -l
Model: ATA ST3500418AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      32.3kB  535MB   535MB   primary  ext4            boot
 2      535MB   5914MB  5379MB  primary  linux-swap(v1)
 3      5914MB  106GB   100GB   primary  ext4
 4      106GB   500GB   394GB   primary  ext4


Model: WD 5000AAC External (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  500GB  500GB  primary  ext4


Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0
has been opened read-only.
Error: Can't have a partition outside the disk!                           

ubuntu@ubuntu:~$ 

J'ai la partition de démarrage sur sda1, sda2 est ma partition d'échange, sda3 est mon répertoire racine et sda4 est ma partition d'origine. J'ai suivi les instructions sur la deuxième réponse (par Eliah). Ça signifie:

1.

     ubuntu@ubuntu:~$ Sudo mount /dev/sda3 /mnt 
ubuntu@ubuntu:~$ Sudo mount --bind /dev /mnt/dev 
ubuntu@ubuntu:~$ Sudo mount /dev/sda1 /mnt/boot
  1. Puis j'ai chrooté:

        ubuntu@ubuntu:~$ Sudo chroot /mnt
        root@ubuntu:/# mount -t proc none /proc
        root@ubuntu:/# mount -t sysfs none /sys
        root@ubuntu:/# mount -t devpts none /dev/pts
        root@ubuntu:/# export HOME=/root
        root@ubuntu:/# export LC_ALL=C
    
  2. J'ai essayé d'installer un nouveau noyau:

     apt-get update
     apt-get -y install linux-image-generic
    

Ici, j'obtiens l'erreur suivante:

root@ubuntu:/# apt-get -y install linux-image-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-image-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Internal Error: Could not find image (/boot/vmlinuz-3.8.0-29-generic)
dpkg: error processing linux-image-3.8.0-29-generic (--configure):
 subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-extra-3.8.0-29-generic:
 linux-image-extra-3.8.0-29-generic depends on linux-image-3.8.0-29-generic; however:
  Package linux-image-3.8.0-29-generic is not configured yet.

dpkg: error processing linux-image-extra-3.8.0-29-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-generic:
 linux-image-generic depends on linux-image-3.8.0-29-generic; however:
  Package linux-image-3.8.0-29-generic is not configured yet.
 linux-image-generic depends on linux-image-extra-3.8.0-29-generic; however:
  Package linux-image-extra-3.8.0-29-generic is not configured yet.

dpkg: error processing linux-image-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-imNo apport report written because the error message indicates its a followup error from a previous failure.
     No apport report written because the error message indicates its a followup error from a previous failure.
                               No apport report written because MaxReports is reached already
             age:
 linux-image depends on linux-image-generic; however:
  Package linux-image-generic is not configured yet.

dpkg: error processing linux-image (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-3.8.0-29-generic
 linux-image-extra-3.8.0-29-generic
 linux-image-generic
 linux-image
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ubuntu:/# 


umount /proc || umount -lf /proc
umount /sys /dev/pts
exit
Sudo umount /mnt/dev /mnt

J'ai aussi essayé de tout désinstaller et de courir

apt-get install linux-generic linux-image-generic linux-headers-generic

et bien sur

update-grub

Je reçois toujours le memtest lors du démarrage. Comme Eliah l'a souligné, la solution ci-dessus ne s'applique pas dans mon cas. J'ai donc suivi les instructions de sa réponse ci-dessous. Cependant, cela ne résout pas le problème. J'ai eu les sorties suivantes:

   ubuntu@ubuntu:~$ Sudo mount /dev/sda3 /mnt
ubuntu@ubuntu:~$ Sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ Sudo mount /dev/sda1 /mnt/boot
ubuntu@ubuntu:~$ Sudo chroot /mnt
root@ubuntu:/# mount -t proc none /proc
root@ubuntu:/# mount -t sysfs none /sys
root@ubuntu:/# mount -t devpts none /dev/pts
root@ubuntu:/# export HOME=/root
root@ubuntu:/# export LC_ALL=C

puis en exécutant apt-get update suivi de la suggestion:

root@ubuntu:/# apt-get -y --purge --reinstall install linux-image-3.8.0-29-generic linux-image-extra-3.8.0-29-generic linux-image-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 3 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/43.3 MB of archives.
After this operation, 0 B of additional disk space will be used.
dpkg: warning: files list file for package 'linux-image-3.8.0-29-generic' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'initramfs-tools' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'linux-image-extra-3.8.0-29-generic' missing; assuming package has no files currently installed
(Reading database ... 251414 files and directories currently installed.)
Preparing to replace linux-image-3.8.0-29-generic 3.8.0-29.42 (using .../linux-image-3.8.0-29-generic_3.8.0-29.42_AMD64.deb) ...
Done.
Unpacking replacement linux-image-3.8.0-29-generic ...
Preparing to replace linux-image-extra-3.8.0-29-generic 3.8.0-29.42 (using .../linux-image-extra-3.8.0-29-generic_3.8.0-29.42_AMD64.deb) ...
Unpacking replacement linux-image-extra-3.8.0-29-generic ...
Preparing to replace linux-image-generic 3.8.0.29.47 (using .../linux-image-generic_3.8.0.29.47_AMD64.deb) ...
Unpacking replacement linux-image-generic ...
Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Failed to symbolic-link /boot/initrd.img-3.8.0-29-generic to initrd.img:File exists at /var/lib/dpkg/info/linux-image-3.8.0-29-generic.postinst line 614.
dpkg: error processing linux-image-3.8.0-29-generic (--configure):
 subprocess installed post-installation script returned error exit status 17
dpkg: dependency problems prevent configuration of linux-image-extra-3.8.0-29-generic:
 linux-image-extra-3.8.0-29-generic depends on linux-image-3.8.0-29-generic; however:
  Package linux-image-3.8.0-29-generic is not configured yet.

dpkg: error processing linux-image-extra-3.8.0-29-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-generic:
 linux-image-generic depends on linux-image-3.8.0-29-generic; however:
  Package linux-image-3.8.0-29-generic is not configured yet.
 linux-image-generic depends on linux-image-extra-3.8.0-29-generic; however:
  Package linux-image-extra-3.8.0-29-generic is not configured yet.

dpkg: error processing linux-image-generic (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                          No apport report written because the error message indicates its a followup error from a previous failure.
                                                    Errors were encountered while processing:
 linux-image-3.8.0-29-generic
 linux-image-extra-3.8.0-29-generic
 linux-image-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ubuntu:/# 
4
math

Un ami a résolu le problème. Il a suggéré ce qui suit, qui a fonctionné pour moi:

apt-get purge grub grub-pc grub-common 
apt-get install grub-common grub-pc 
update-grub
1
math

Les réponses ici sont écrites pour les situations où il n'y a pas de noyaux car les paquets qui les fournissent ont été supprimés.

Votre situation est similaire mais un peu différente. Il semble que ce qui est arrivé sur votre système est qu'il n'y a pas de noyaux car leurs fichiers ont été supprimés manuellement (ou supprimés par un processus automatisé autre que la désinstallation du paquet). En ce qui concerne le gestionnaire de paquets, il semble que des noyaux soient toujours installés.

Pour résoudre ce problème, il suffit simplement de demander au gestionnaire de paquets de réinstaller le paquet du noyau.

Vous avez lancé cette commande:

apt-get -y install linux-image-generic

En utilisant la même procédure (y compris la commande apt-get update avant celle-ci), essayez en remplaçant cette commande apt-get -y install par celle-ci:

apt-get -y --purge --reinstall install linux-image-3.8.0-29-generic linux-image-extra-3.8.0-29-generic linux-image-generic

(L’indicateur --purge est facultatif, car ce problème n’est pas lié aux fichiers de configuration du système. Mais cela ne devrait pas faire de mal.)

Cela désinstallera les paquets qui ne fonctionnent pas (à cause des fichiers supprimés), puis les réinstallera en s'assurant que tous leurs fichiers sont copiés à partir des archives de paquets. Cela ne devrait pas dépendre de la présence de fichiers de paquet, il devrait donc fonctionner même si certains fichiers semblent avoir été supprimés manuellement.

linux-image-generic est un métapaquet; son installation entraîne l'installation du dernier noyau stable de votre système, car linux-image-generic déclare les packages fournissant ce noyau comme dépendances. Stipuler que linux-image-generic doit être réinstallé "à partir de zéro" ne provoque pas nécessairement la réinstallation de toutes ses dépendances, c'est pourquoi j'ai énuméré explicitement ses dépendances pertinentes dans la commande ci-dessus.

J'ai obtenu leurs noms (linux-image-extra-3.8.0-29-generic et linux-image-extra-3.8.0-29-generic) dans le résultat que vous avez inclus dans votre question. Quelqu'un d'autre rencontrant ce problème ne voudra pas nécessairement stipuler exactement ces paquets pour l'installation, mais devra plutôt voir quels paquets linux-image-generic dépendent de, et réinstaller explicitement au moins le paquet. il manque des fichiers.

Ainsi, la partie clé de la sortie qui m'a amené à suggérer que cette solution était:

Setting up linux-image-3.8.0-29-generic (3.8.0-29.42) ...
Internal Error: Could not find image (/boot/vmlinuz-3.8.0-29-generic)
dpkg: error processing linux-image-3.8.0-29-generic (--configure):

Il est possible que cela ne fonctionne pas. Cela pourrait arriver si les paquets sont cassés de manière à empêcher le gestionnaire de paquets de les désinstaller . Si cela ou tout autre problème survient, veuillez mettre à jour votre question avec des détails.

(Pour les personnes autres que l'auteur de cette question - si cela se produit et que les informations fournies ici ne vous permettent pas de la résoudre, postez une nouvelle question avec autant de détails que possible, ou ajoutez des détails à votre question si vous en avez déjà posté un sur le problème.)

1
Eliah Kagan

En utilisant les informations ci-dessus, j'ai utilisé ce qui suit

uname -r

Permet d’appeler quelle que soit la sortie de la commande ci-dessus CITROUILLE

Puis j'ai tapé:

dpkg --list | grep linux-image

J'ai parcouru la sortie de cette liste et noté le linux-image-PUMPKIN

Tout ce qui N'EST PAS mon linux-image-PUMPKIN peut être supprimé en remplissant la commande telle qu'elle vous concerne:

Sudo apt-get purge linux-image-(your non-PUMKIN entry goes here)

puis un

Sudo update-grub
Sudo update-grub2

et enfin

Sudo apt-get update
Sudo apt-get autoremove
Sudo apt-get upgrade

Et j'étais bon après un redémarrage.

0
Oscar Mansour