web-dev-qa-db-fra.com

Comment puis-je supprimer un VM dans VirtualBox lorsque le disque dur sur lequel se trouvait le fichier VDI était supprimé?

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 bouché et n'existe plus.

Le problème est que maintenant je ne peux ni supprimer le 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. VM sans d'abord publier (ou supprimer) le fichier VDI utilisé par cette machine.

UPDATE: Notez que j'ai également supprimé toutes les pièces jointes de stockage et que les instantanés ne peuvent pas être supprimés pour la même raison: les fichiers ne sont pas trouvés (en raison du disque dur inexistant).

Est-ce que quelqu'un connaît une solution?

23
gvkv

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

Après la suppression, vous recevrez toujours des messages d'erreur étranges dans Virtualbox. Ceci est dû au fait que certaines informations concernant votre vms se trouvent dans 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'en existe pas.

Si vous souhaitez simplement supprimer une machine virtuelle spécifique, vous devez éditer Virtualbox.xml dans un éditeur xml (le bloc-notes convient. Le bloc-notes ++ est préférable, car il contient la 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 le MachineEntry de la machine virtuelle souhaitée. Si vous avez juste un VM et que vous voulez tout supprimer, laissez les balises vides. Par exemple:

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

...et tu as fini. Je viens de tout tester 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 crois que c'est le même principe.)

20
GmonC

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'ai plus eu d'ordinateurEntry pour la machine spécifique dans ce fichier: C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml

Cependant, la machine apparaissait toujours dans le gestionnaire de média virtuel et je n'ai pas pu l'enlever d'ici.

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

Ce qui a fonctionné: Redémarrez le processus VBoxSVC.exe, puis redémarrez VirtuaBbox.

2
afaf12

Tout d’abord, supprimez les instantanés de cette machine virtuelle. Ensuite, ouvrez les paramètres de la machine virtuelle, allez dans l’onglet Storage, faites un clic droit sur le fichier vdi sous IDE Controller, puis cliquez sur Remove Attachment. Vous devriez maintenant pouvoir supprimer le VDI du Virtual Media Manager.

enter image description here

1
Om Nom Nom