11 votes

Il manque vmlinuz dans /boot

Je fais tourner un ordinateur portable avec Windows 7 et Ubuntu 12.04. J'ai eu des problèmes de grub après un redimensionnement de partition qui ont finalement été trouvés être des problèmes dus à des fichiers kernel manquants. (Ces problèmes n'ont pas commencé avant une semaine après le redimensionnement, pendant laquelle l'ordinateur continuait à fonctionner parfaitement).

En chrootant dans mon installation sur le disque dur depuis un LiveCD de 12.04 LTS, j'ai finalement pu restaurer /boot/initrd-3.2.0.24-generic.img. En copiant vmlinuz du dossier /casper/ du LiveCD vers /boot/vmlinuz-3.2.0.24-generic, j'ai constaté que update-grub reconnaissait enfin et ajoutait mon installation Ubuntu au menu grub, ce qui était mon problème initial.

Cependant, mon nouveau problème est que lorsque je démarre cette installation, je suis confronté à toutes sortes de modules échoués et de messages d'erreur, souvent bien trop rapidement pour que je puisse même les lire ou me les rappeler ; finalement, on me donne la possibilité de démarrer Ubuntu en mode faible graphique, de dépanner, d'ouvrir un terminal, de me connecter au réseau, etc. Choisir le mode faible graphique me redirige simplement vers le terminal en me demandant de me connecter, mais mon nom d'utilisateur et mon mot de passe ne fonctionnent pas.

Peut-être que simplement copier le vmlinuz du LiveCD a causé ces erreurs ? Mon problème est qu'un vmlinuz approprié n'a pas été installé par le même processus d'installation du kernel qui a restauré mon 'initrd-....'.img

J'aimerais vraiment éviter de devoir réinstaller entièrement la partition Ubuntu car j'avais beaucoup de paramètres personnalisés pour divers environnements de programmation que j'utilise pour mon travail de recherche et je suis actuellement à l'étranger, limitant ma bande passante qui est très nécessaire pour restaurer une grande partie de ce logiciel.

Cependant, j'ai une image complète et un clone complet de la partition qui ne démarre pas (tous deux via CloneZilla) ; je ne sais juste pas si ceux-ci ont effectivement acquis mon dossier 'Home' privé, qui prétend être illisible lorsque je monte le clone.

11voto

Kthevar Points 686

Avez-vous essayé d'utiliser apt-get pour (re-)installer le noyau ?

Essayez de démarrer le Live CD ou USB qui correspond à votre installation Ubuntu, puis chroot, et enfin la commande ci-dessous.

apt-get -V install linux-generic linux-image-generic linux-headers-generic
  • Note : Si ce qui est mentionné ci-dessus ne fonctionne pas, vous pourriez également essayer soit --reinstall ou faire un remove des packages mentionnés ci-dessus, puis essayer de les install à nouveau.

Si aucune des solutions ci-dessus ne fonctionne, veuillez mettre à jour votre question avec des détails sur comment cela a échoué.

La suggestion ci-dessus est basée sur ce que apt-get a fait pour mettre à jour le noyau d'une installation propre d'Ubuntu 12.04 LTS 64-bit dans une machine virtuelle. Les packages que apt-get a décidé d'installer pour mettre à jour le noyau étaient linux-generic, linux-image-generic et linux-headers-generic.

J'ai inclus ci-dessous la sortie que j'ai obtenue en exécutant la commande apt-get précédente au cas où cela serait d'une quelconque utilité.

Il me semble que à la fois vmlinuz-3.2.0-25-generic et initrd.img-3.2.0-25-generic ont été générés en exécutant le script update-initramfs pendant le post-traitement de l'installation. Il est donc peu probable que simplement copier les fichiers d'une installation à une autre fonctionnerait sauf si les installations étaient identiques (assez).

irrational@VB64Too:~$ sudo apt-get -V install linux-generic linux-image-generic linux-headers-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
   linux-headers-3.2.0-25 (3.2.0-25.40)
   linux-headers-3.2.0-25-generic (3.2.0-25.40)
   linux-image-3.2.0-25-generic (3.2.0-25.40)
Suggested packages:
   fdutils (5.5-20060227-5)
   linux-doc-3.2.0 ()
   linux-source-3.2.0 (3.2.0-25.40)
   linux-tools (3.2.0.25.27)
The following NEW packages will be installed:
   linux-headers-3.2.0-25 (3.2.0-25.40)
   linux-headers-3.2.0-25-generic (3.2.0-25.40)
   linux-image-3.2.0-25-generic (3.2.0-25.40)
The following packages will be upgraded:
   linux-generic (3.2.0.23.25 => 3.2.0.25.27)
   linux-headers-generic (3.2.0.23.25 => 3.2.0.25.27)
   linux-image-generic (3.2.0.23.25 => 3.2.0.25.27)
3 upgraded, 3 newly installed, 0 to remove and 247 not upgraded.
Need to get 50.6 MB of archives.
After this operation, 216 MB of additional disk space will be used.
Do you want to continue [Y/n]? 
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-image-3.2.0-25-generic amd64 3.2.0-25.40 [38.2 MB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-generic amd64 3.2.0.25.27 [1,710 B]                          
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-image-generic amd64 3.2.0.25.27 [2,648 B]                    
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-headers-3.2.0-25 all 3.2.0-25.40 [11.4 MB]                   
Get:5 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-headers-3.2.0-25-generic amd64 3.2.0-25.40 [958 kB]          
Get:6 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-headers-generic amd64 3.2.0.25.27 [2,644 B]                  
Fetched 50.6 MB in 36s (1,398 kB/s)                                                                                                
Selecting previously unselected package linux-image-3.2.0-25-generic.
(Reading database ... 141202 files and directories currently installed.)
Unpacking linux-image-3.2.0-25-generic (from .../linux-image-3.2.0-25-generic_3.2.0-25.40_amd64.deb) ...
Done.
Preparing to replace linux-generic 3.2.0.23.25 (using .../linux-generic_3.2.0.25.27_amd64.deb) ...
Unpacking replacement linux-generic ...
Preparing to replace linux-image-generic 3.2.0.23.25 (using .../linux-image-generic_3.2.0.25.27_amd64.deb) ...
Unpacking replacement linux-image-generic ...
Selecting previously unselected package linux-headers-3.2.0-25.
Unpacking linux-headers-3.2.0-25 (from .../linux-headers-3.2.0-25_3.2.0-25.40_all.deb) ...
Selecting previously unselected package linux-headers-3.2.0-25-generic.
Unpacking linux-headers-3.2.0-25-generic (from .../linux-headers-3.2.0-25-generic_3.2.0-25.40_amd64.deb) ...
Preparing to replace linux-headers-generic 3.2.0.23.25 (using .../linux-headers-generic_3.2.0.25.27_amd64.deb) ...
Unpacking replacement linux-headers-generic ...
Setting up linux-image-3.2.0-25-generic (3.2.0-25.40) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-25-generic /boot/vmlinuz-3.2.0-25-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-25-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.2.0-25-generic /boot/vmlinuz-3.2.0-25-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 3.2.0-25-generic /boot/vmlinuz-3.2.0-25-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.2.0-25-generic /boot/vmlinuz-3.2.0-25-generic
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-25-generic
Found initrd image: /boot/initrd.img-3.2.0-25-generic
Found linux image: /boot/vmlinuz-3.2.0-23-generic
Found initrd image: /boot/initrd.img-3.2.0-23-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done
Setting up linux-image-generic (3.2.0.25.27) ...
Setting up linux-generic (3.2.0.25.27) ...
Setting up linux-headers-3.2.0-25 (3.2.0-25.40) ...
Setting up linux-headers-3.2.0-25-generic (3.2.0-25.40) ...
Setting up linux-headers-generic (3.2.0.25.27) ...
irrational@VB64Too:~$

1voto

David Grant Points 8477

En chrootant dans mon installation sur mon disque dur à partir d'un LiveCD 12.04 LTS, j'ai finalement réussi à restaurer /boot/initrd-3.2.0.24-generic.img. En copiant vmlinuz du dossier /casper/ du LiveCD dans /boot/vmlinuz-3.2.0.24-generic, j'ai constaté que update-grub reconnaîtrait enfin et ajouterait mon installation Ubuntu au menu grub, ce qui était mon problème initial.

Cependant, mon nouveau problème est que lorsque je démarre cette installation, je suis confronté à toutes sortes de modules échoués et de messages d'erreur...

Je vous aurais initialement suggéré la même chose mais j'ai dû trouver une meilleure réponse que de copier des fichiers à partir d'un média live ou simplement d'installer linux-image-generic en chroot.

Ma suggestion est de regarder dans /lib/modules/ de votre installation et de choisir le numéro de version de noyau le plus récent que vous pouvez trouver, puis d'installer l'image de noyau correspondante en chroot. Pour générer initrd s'il n'a pas été créé automatiquement, vous devez exécuter mkinitramfs qui aurait sinon été appelé par update-initramfs, mais pourrait refuser de fonctionner à partir d'un média live.

J'ai posté des instructions complètes ici: Comment restaurer les fichiers supprimés dans /boot? (vmlinuz manquant, le système ne démarre pas)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X