web-dev-qa-db-fra.com

Comment restaurer un système virtuel après la suppression accidentelle de tous les noyaux?

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
1
gwalker

Vous pouvez résoudre ce problème très facilement, alors suivez les étapes ci-dessous une à une:

  1. Insérez une image ISO de Live CD dans le lecteur de disque Virtualbox.
  2. Modifiez l'ordre de démarrage des lecteurs Virtualbox à partir de cette image ISO et démarrez dessus.
  3. "Essayez Ubuntu" et ouvrez un terminal en appuyant sur Ctrl+Alt+T.
  4. Exécutez lsblk pour trouver le nom de périphérique approprié pour votre lecteur principal VM.
  5. Montez le lecteur dans /mnt, où XX représente l'étiquette de lecteur appropriée pour le lecteur à sauver:

    mount /dev/sdXX /mnt
    
  6. 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
    
  7. Chroot dans le point de montage avec Sudo chroot /mnt.

  8. 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
    
  9. Maintenant, vous pouvez réinstaller le noyau avec:

    apt-get install --reinstall linux-image-generic
    
  10. Exécutez update-grub pour vous assurer que grub pointe à nouveau vers un noyau installé.

  11. 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

0
Videonauth