J'ai vu des réponses pour les installations réelles mais je ne suis pas sûr que cela fonctionnerait pour Virtual.
Comme un imbécile, je n'avais pas sauvegardé les données sur un VM que j'avais utilisé au travail. Lorsque j'ai essayé de mettre à niveau, j'étais à court d'espace et, comme un grand imbécile, j'ai effacé tous les noyaux au lieu des anciens en essayant de libérer de l'espace. Maintenant, je démarre dans Memtest86 et je ne peux pas aller plus loin car grub (?) Ne voit aucun autre noyau.
La VM était Ubuntu 14.04 exécutée sous Oracle VM VirtualBox. Est-il possible de monter l'image à partir d'un autre Ubuntu VM et de réinstaller le noyau? Le répertoire contient un fichier Ubuntu.vbox et un fichier Ubuntu.vdi ainsi qu’un fichier Ubuntu.vbox.prev qui semble ne être que des données XML.
UPDATE: Monté à partir du bureau en mode "Try Ubuntu", chrooté dans /media/ubuntu/<diskname>
et a dû être remplacé manuellement pour écrire un nouveau /etc/resolv.conf
. Quand j'ai fait le apt-get install linux-image-generic
, il semblait avoir des problèmes d'écriture. Est-ce que j'ai mal monté?
Je suis monté simplement en sélectionnant le disque dur listé dans "Fichiers" et après
Sudo chroot /media/ubuntu/<diskname>
J'ai confirmé que les utilisateurs existants étaient répertoriés dans/home /. Je suis donc presque sûr que j'étais sur le bon lecteur, mais lorsque j'ai essayé de le monter de la manière la plus simple, le message suivant s'affiche:
Sudo mount /media/ubuntu/<long HD name>
mount: /media/ubuntu/<long HD name> is not a block device
Vous pouvez résoudre ce problème très facilement, alors suivez les étapes ci-dessous une à une:
lsblk
pour trouver le nom de périphérique approprié pour votre lecteur principal VM.Montez le lecteur dans /mnt
, où XX
représente l'étiquette de lecteur appropriée pour le lecteur à sauver:
mount /dev/sdXX /mnt
Maintenant, montez et liez les éléments suivants pour permettre une installation correcte:
Sudo mount -o bind /dev /mnt/dev
Sudo mount -o bind /dev/pts /mnt/dev/pts
Sudo mount -t sysfs /sys /mnt/sys
Sudo mount -t proc /proc /mnt/proc
Sudo cp /proc/mounts /mnt/etc/mtab
Sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
Chroot dans le point de montage avec Sudo chroot /mnt
.
Exécutez une mise à jour des listes de paquets:
apt-get update
# you might want to do an upgrade as well if you like
apt-get upgrade
Maintenant, vous pouvez réinstaller le noyau avec:
apt-get install --reinstall linux-image-generic
Exécutez update-grub
pour vous assurer que grub pointe à nouveau vers un noyau installé.
Maintenant, vous pouvez quitter l’environnement chroot en appuyant sur Ctrl+D et terminez avant de fermer le VM et de le redémarrer sur le lecteur normal:
Sudo umount /mnt/dev/pts
Sudo umount /mnt/dev
Sudo umount /mnt/sys
Sudo umount /mnt/proc
Sudo umount /mnt
Cela aurait dû être fait et votre VM a maintenant à nouveau un noyau pour démarrer