Comment supprimer une machine virtuelle dans VirtualBox lorsque le disque dur sur lequel se trouvait le fichier VDI est supprimé?

23

J'utilise VirtualBox hébergé sur Windows 7 et le disque dur physique sur lequel se trouvait l'un des fichiers VDI de ma machine virtuelle a été complètement falsifié et n'existe plus.

Le problème est que maintenant je ne peux supprimer ni disque dur virtuel ni VM car la tentative de suppression du fichier VDI me donne une erreur indiquant que VirtualBox ne peut pas trouver le fichier et bien sûr, je ne peux pas supprimer la VM sans avoir d'abord relâché ( ou en supprimant) le fichier VDI utilisé par cette machine.

MISE À JOUR: Notez que j'ai également supprimé toutes les pièces jointes de stockage et les instantanés ne peuvent pas être supprimés pour la même raison - il ne peut pas trouver les fichiers (en raison du disque dur inexistant).

Quelqu'un connaît-il une solution?

gvkv
la source

Réponses:

20

Supprimez vos fichiers VM xml sur le disque dur. Ils sont situés par défaut dans C:\Users\YOUR_NAME\.VirtualBox\Machines.

Après la suppression, vous recevrez toujours des messages d'erreurs étranges dans Virtualbox. C'est parce que certaines informations sur vos vms sont à l'intérieur C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml.

Si cela ne vous dérange pas de perdre une configuration globale dans votre VirtualBox, supprimez simplement ce fichier. Virtualbox en créera un autre s'il n'existe pas.

Si vous voulez simplement supprimer une VM spécifique, vous devez éditer Virtualbox.xmldans un éditeur xml (le bloc-notes est très bien. Notepad ++ est mieux car il a une coloration syntaxique).

Vous trouverez ces champs:

<MachineRegistry>
  <MachineEntry uuid="UUID" src="Machines\MACHINE_NAME\MACHINE_NAME.xml"/>
</MachineRegistry>
<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="UUID" location="HardDisks\DISC_NAME.vdi" format="VDI" type="Normal"/>
  </HardDisks>
  <DVDImages>
    <Image uuid="UUID" location="C:\IMAGES\IMAGE.iso"/>
  </DVDImages>
  <FloppyImages/>
</MediaRegistry>

Supprimez MachineEntry de la machine virtuelle souhaitée. Si vous n'avez qu'une seule machine virtuelle et que vous souhaitez tout supprimer, laissez simplement les balises vides. Par exemple:

<MachineRegistry/>
<MediaRegistry>
  <HardDisks/>
  <DVDImages/>
  <FloppyImages/>
</MediaRegistry>

...et tu as fini. Je viens de tester tout le temps ici et cela fonctionne parfaitement. Si vous souhaitez éviter les problèmes, sauvegardez vos fichiers de configuration xml à partir de VirtualBox et de machines virtuelles spécifiques.

(Je n'ai pas mentionné les instantanés, mais je pense que c'est le même principe.)

GmonC
la source
Vous n'avez pas besoin de supprimer les instantanés car ils sont contenus dans le répertoire C: \ ... \ Machines \ MyVM.
gvkv
3

Les instructions ci-dessus n'ont pas résolu le problème pour moi. Je voulais supprimer une machine spécifique, pas toutes. Je n'avais plus de MachineEntry pour la machine spécifique dans ce fichier:C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml

Cependant, la machine apparaissait toujours dans Virtual Media Manager, et je n'ai pas pu le supprimer d'ici.

Le redémarrage de VirtualBox n'a pas fonctionné non plus.

Ce qui a fonctionné: Redémarrage VBoxSVC.exeprocessus, puis en redémarrant VirtuaBbox.

afaf12
la source
1

Tout d'abord, supprimez tous les instantanés de cette machine virtuelle. Ensuite, ouvrez les paramètres de la machine virtuelle, allez dans l'onglet Stockage, faites un clic droit sur le fichier vdi sous IDE Controller et cliquez sur Supprimer la pièce jointe. Vous devriez maintenant pouvoir supprimer le VDI du Virtual Media Manager.

entrez la description de l'image ici

Om Nom Nom
la source
1
Je ne peux pas supprimer les instantanés et j'ai déjà supprimé les contrôleurs.
gvkv