VirtualBox Impossible d'enregistrer le disque dur existe déjà

151

J'ai créé un fichier de disque virtuel VM_1_Ubuntu.vdi . Puis je l'ai déplacé dans un autre dossier. J'ai essayé de mettre à jour les paramètres de la VM (clic droit sur la machine virtuelle -> paramètres -> Stockage -> onglet Controller SATA, chemin VM_1_Ubuntu.vdi ). Je voulais tracer une nouvelle voie.

Il dit Impossible d'enregistrer le disque dur existe déjà

Yan Khonski
la source

Réponses:

220

J'ai trouvé une solution

Fichier -> Virtual Media Manager -> Suppression des images existantes (notez que je les ai supprimées uniquement du registre).

J'ai suivi ces étapes.

http://www.webdesignblog.asia/software/virtualbox-moving-vdi-file-re-linking-guest/#sthash.1QOHeiw5.dpbs

Après cela, je pourrais mettre à jour le chemin dans les paramètres de la VM.

Yan Khonski
la source
2
Si le lecteur sur lequel le disque a été stocké n'est pas disponible, libérez d'abord le disque (Ctrl + L) de la machine virtuelle et supprimez (Ctrl + D). Sinon, avant de libérer le disque, vous ne pourrez pas le supprimer. Après cela, suivez les étapes du lien ci-dessus ou ouvrez "Paramètres" de la machine virtuelle, allez dans "Stockage", cliquez sur "Ajouter une pièce jointe", sélectionnez "Ajouter un disque dur" et "Choisir un disque existant", puis sélectionnez le fichier vdi et vous sont fait.
Syed Nasir Abbas
1
vous devez supprimer tous les instantanés pour que le bouton de suppression ne soit pas grisé.
Rishi
151

Il est possible de changer l'UUID sur le fichier VDI en utilisant la commande:

 VBoxManage internalcommands sethduuid <file.vdi>

Il semble que cette commande attribue un nouvel UUID «aléatoire» au fichier. Pas beaucoup de documentation à ce sujet, cependant.

L'Impaler
la source
2
Parfait pour mes besoins (le redimensionnement d'un disque dur virtuel ne fonctionnait pas, sans le déplacer).
shiri le
3
VBoxManage est un exe qui pour moi était dans "C: \ Program Files \ Oracle \ VirtualBox", donc exécutez simplement à partir d'une fenêtre cmd.
Giles
1
C'est la solution idéale lorsque vous avez une image du système d'exploitation de base et que vous souhaitez faire des copies pour installer plusieurs applications sur des copies de la base sans avoir à changer la base elle-même.
Jersey_Guy
M'a
Cette solution a également résolu une situation où j'avais copié la VM vers un autre emplacement, supprimé l'original de VirtualBox et essayé de compacter le disque. La commande: $ VBoxManage modifymedium Windows \ 7 \ Professional.vdi --compact L'erreur: VBoxManage: error: Impossible d'enregistrer le disque dur '/ Users / c / VirtualBox VMs / Windows 7 Professional / Windows 7 Professional.vdi' {a510ee0d- 2cef-47db-b25f-acae9e341d45} car un disque dur '/ Volumes / ramdisk / Windows 7 Professional / Windows 7 Professional.vdi' avec l'UUID {a510ee0d-2cef-47db-b25f-acae9e341d45} existe déjà
EmpathicSage
27
  1. Sélectionnez un fichier dans Oracle VM VirtualBox Manager
  2. Gestionnaire de média virtuel
  3. Supprimez le fichier (surligné en jaune) de l'onglet Disques durs.
Syed Nasir Abbas
la source
7

S'il n'y a aucune possibilité de supprimer ou de modifier le chemin d'un fichier de disque dur à l'aide de Virtual Media Manager (dans mon cas), alors:

  1. Ouvrez les fichiers ' .vbox' et ' .vbox-prev' (le cas échéant) dans n'importe quel éditeur de texte.
  2. Modifiez l'attribut 'location' de l'élément 'HardDisk' sur votre chemin, par exemple: "d: /VM/VirtualBox/Win10/Win10.vmdk" ( capture d'écran ).
Oleg Tatarchuk
la source
4

Dans certains cas, vous devez d'abord libérer, puis supprimer et rajouter via Virtual Media Manager

Stefan Georgiev
la source
3

1 - Ouvrez les fichiers '.vbox' et '.vbox-prev' (s'ils existent) dans n'importe quel éditeur de texte et remplacez le premier caractère de HardDisk uuid (prenez note d'annuler cette modification à l'étape 6)

Exemple: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Changement:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

À:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

2 - Redémarrer la machine

4 - Arrêter la machine virtuelle (si démarrée)

5 - Sur le terminal:

su vbox
cd /home/virtualbox/WindowsServer/
VBoxManage modifyhd WindowsServer.vdi --resize SIZE
exit
exit

changer SIZE pour un nombre en mégaoctets, par exemple 80000 (80 Go)

6 - Ouvrez à nouveau les fichiers '.vbox' et '.vbox-prev' (le cas échéant) dans n'importe quel éditeur de texte et remplacez le premier caractère de HardDisk uuid par la valeur d'origine

Exemple: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Changement:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

À:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

7 - Redémarrer la machine

Lucas Catani
la source
3

J'apprécie vraiment les suggestions ici. Les commentaires d'Empaler et d'Oleg m'ont aidé à reconstituer ma solution.

Utilisez la CLI VBoxManage. Il existe une commande modifymedium avec une --setlocationoption.

Je suggère d'ouvrir l'interface graphique de VBox (sur VM VirtualBox Manager 6.0)
- sélectionnez "Virtual Media Manager" (j'ai utilisé le menu Fichier)
- sélectionnez le bouton "Information" pour le disque vous donnant cette erreur
- copiez l'UUID
Remarque: j'ai supprimé le contrôleur du paramètre «Stockage» avant l'étape suivante.
- ouvrez votre invite de commande et accédez à l'emplacement du fichier .vdi.C'est
une bonne idée de taper VBoxMange pour voir une liste d'options, mais c'est la commande à exécuter:

VBoxManage modifymedium[insérer le type de support ici] [UUID] --setlocation[chemin complet vers le fichier .vdi]

Enfin, rattachez le contrôleur à n'importe quelle machine virtuelle, de préférence celle que vous souhaitez réparer.

C Marshall
la source
0

La solution qui a fonctionné pour moi est la suivante:

  1. Assurez-vous que VirtualBox Manager n'est pas en cours d'exécution.
  2. Sauvegardez les fichiers ~\.VirtualBox\VirtualBox.xmlet ~\.VirtualBox\VirtualBox.xml-prev.
  3. Modifiez ces fichiers pour modifier la <HardDisks>...</HardDisks>section pour supprimer l'entrée dupliquée de <HardDisk />.
  4. Exécutez maintenant VirtualBox Manager.

Exemple:

  <HardDisks>
    <HardDisk uuid="{38f266bd-0959-4caf-a0de-27ac9d52e3663}" location="~/VirtualBox VMs/VM1/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{a6708d79-7393-4d96-89da-2539f75c5465e}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{bdce5d4e-9a1c-4f57-acfd-e2acfc8920552}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
  </HardDisks>

Notez dans le fragment ci-dessus que les deux dernières entrées font référence à la même VM mais ont des uuid différents. L'un d'eux n'est pas valide et doit être supprimé. Celui qui est invalide peut être découvert par hit et essai - supprimez d'abord la deuxième entrée et essayez; si cela ne fonctionne pas, supprimez la troisième entrée.

Sanjeev Sachdev
la source
0

Après avoir lutté pendant plusieurs jours, j'ai finalement trouvé une solution qui fonctionne parfaitement.

Mac OS ouvre le dossier ~ / Library (dans votre répertoire personnel) et supprimez le dossier VirtulBox. Cela supprimera toutes les configurations et vous pourrez redémarrer la boîte virtuelle!

D'autres recherchent le dossier .virtualbox dans votre répertoire personnel. Retirez-le et ouvrez VirtualBox devrait résoudre votre problème.

À votre santé!!

Lasithds
la source