Après avoir essayé de passer de 10h10 à 11h04, tout semblait aller bien jusqu'au redémarrage. Ce message d'erreur est ce qui apparaît:
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Comment pouvons-nous résoudre ce problème?
Il vous manque les initramfs pour ce noyau. Choisissez un autre noyau dans le menu GRUB sous Options avancées pour Ubunt et exécutez Sudo update-initramfs -u -k version
pour générer l'initrd pour version
(remplacez version
par la chaîne de version du noyau telle que 4.15.0-36-generic
) puis Sudo update-grub
.
Commencez avec un livecd, ouvrez un terminal
Sudo fdisk -l
Sudo mount /dev/sdax /mnt
Sudo mount --bind /dev /mnt/dev
Sudo mount --bind /dev/pts /mnt/dev/pts
Sudo mount --bind /proc /mnt/proc
Sudo mount --bind /sys /mnt/sys
Sudo chroot /mnt
et maintenant vous pouvez créer update-initramfs
et update-grub sans erreur.
update-initramfs -u -k 2.6.38-8-generic (or your version)
Si vous ne connaissez pas votre version. Utilisation:
dpkg --list | grep linux-image
Et juste mettre à jour Grub.
update-grub2
Redémarrez votre système.
Dans ma situation, le problème était que /boot
avait une capacité de 100%. Par conséquent, les 2 dernières mises à jour du noyau ne s'étaient pas terminées correctement. Par conséquent, au redémarrage, GRUB2 a sélectionné le dernier noyau, il a échoué.
J'ai résolu le problème en démarrant dans le noyau le plus ancien installé et en supprimant certains noyaux inutilisés à l'aide d'aptitude. En utilisant aptitude, après la désinstallation, dpkg a automatiquement essayé de configurer les paquets cassés et a réussi cette fois-ci.
Au cas où cela se produirait après une mise à jour du noyau abandonnée (par exemple, un plantage du système alors que aptitude safe-upgrade
),
dpkg --configure -a
.La mise à niveau sera terminée, y compris la configuration des paramètres d’amorçage en tant que explique Psusi .
Les messages de démarrage du noyau vous indiquent les disques que vous pouvez utiliser
Par exemple, si dans mon configuration de la machine virtuelle Linux 4.17 test je remplace le root=/dev/vda
correct par le root=/dev/vdb
, le dernier message est le suivant:
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)-
Cependant , quelques lignes plus haut, il affiche des messages de type:
VFS: Cannot open root device "vdb" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
fe00 524288 vda
driver: virtio_blk
en gros, cela me dit tout de suite que vdb
n'a pas été trouvé, mais qu'il existe un /dev/vda
qui peut être lu grâce au pilote virtio_blk
(CONFIG_VIRTIO_BLK=y
).
En plus des instructions de Tomeu, avant de me lancer dans le chroot, je devais:
Sudo mount --bind /dev /mnt/dev
De plus, après le chroot:
cp -r /usr/lib/i386-linux-gnu/pango /usr/lib/
J'ai eu ce problème parce que ma partition/boot était pleine donc mes mises à jour du noyau ont échoué. J'ai réussi à résoudre ce problème en démarrant depuis un ancien noyau dans le menu GRUB.
Quand j'ai réussi à démarrer, j'ai commencé à purger les anciens noyaux, mais j'avais des problèmes de dépendance, donc j'ai d'abord dû désinstaller le paquet linux-server.
apt-get remove linux-server
apt-get update
apt-get -f install
apt-get upgrade
Puis j'ai redémarré et tout fonctionnait bien!
Vous pouvez également démarrer le serveur en mode de secours et ne réinstaller que le fichier grub.
http://info.w3calculator.com/free-code/linux/recover-from-corrupted-boot-image/