VirtualBox Die bereits vorhandene Festplatte kann nicht registriert werden


150

Ich habe eine virtuelle Festplattendatei VM_1_Ubuntu.vdi erstellt . Dann habe ich es in einen anderen Ordner verschoben. Ich habe versucht, die VM-Einstellungen zu aktualisieren (Rechtsklick auf virtuelle Maschine -> Einstellungen -> Speicher -> Registerkarte Controller-SATA, Pfad VM_1_Ubuntu.vdi ). Ich wollte einen neuen Weg einschlagen.

Es heißt, dass die bereits vorhandene Festplatte nicht registriert werden kann

Antworten:


219

Ich habe eine Lösung gefunden

Datei -> Virtual Media Manager -> Vorhandene Bilder entfernt (Hinweis, ich habe sie nur aus der Registrierung entfernt).

Ich habe diese Schritte befolgt.

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

Danach konnte ich den Pfad in den VM-Einstellungen aktualisieren.


2
Wenn das Laufwerk, auf dem die Festplatte gespeichert wurde, nicht verfügbar ist, geben Sie zuerst die Festplatte (Strg + L) von der VM frei und löschen Sie sie (Strg + D). Andernfalls können Sie die Festplatte vor dem Freigeben nicht löschen. Befolgen Sie anschließend die Schritte unter dem obigen Link oder öffnen Sie "Einstellungen" der virtuellen Maschine, gehen Sie zu "Speicher", klicken Sie auf "Anhang hinzufügen", wählen Sie "Festplatte hinzufügen" und "Vorhandene Festplatte auswählen" und wählen Sie dann die vdi-Datei und Sie aus sind fertig.
Syed Nasir Abbas

1
Sie müssen alle Snaphots löschen, damit die Schaltfläche zum Entfernen nicht ausgegraut ist.
Rishi

149

Es ist möglich, die UUID in der VDI-Datei mit dem folgenden Befehl zu ändern:

 VBoxManage internalcommands sethduuid <file.vdi>

Es scheint, dass dieser Befehl der Datei eine neue "zufällige" UUID zuweist. Es gibt jedoch nicht viel Dokumentation darüber.


2
Perfekt für meine Anforderungen (die Größenänderung einer virtuellen Festplatte funktionierte nicht, ohne sie zu verschieben).
Shiri

3
VBoxManage ist eine Exe, die sich für mich unter "C: \ Programme \ Oracle \ VirtualBox" befand. Führen Sie sie also einfach über ein Cmd-Fenster aus.
Giles

1
Dies ist die ideale Lösung, wenn Sie ein Basis-Betriebssystem-Image haben und Copes erstellen möchten, um mehrere Apps auf Kopien der Basis zu installieren, ohne die Basis selbst ändern zu müssen.
Jersey_Guy

Hat mir geholfen, die Größe eines Laufwerks zu
ändern

Diese Lösung löste auch eine Situation, in der ich die VM an einen anderen Speicherort kopiert, das Original aus VirtualBox entfernt und versucht hatte, die Festplatte zu komprimieren. Der Befehl: $ VBoxManage modifymedium Windows \ 7 \ Professional.vdi --compact Der Fehler: VBoxManage: Fehler: Die Festplatte '/ Users / c / VirtualBox-VMs / Windows 7 Professional / Windows 7 Professional.vdi' {a510ee0d- kann nicht registriert werden 2cef-47db-b25f-acae9e341d45}, da bereits eine Festplatte '/ Volumes / ramdisk / Windows 7 Professional / Windows 7 Professional.vdi' mit UUID {a510ee0d-2cef-47db-b25f-acae9e341d45} vorhanden ist
Zahnon

26
  1. Wählen Sie im Oracle VM VirtualBox Manager Datei aus
  2. Virtual Media Manager
  3. Entfernen Sie die Datei (gelb hervorgehoben) von der Registerkarte Festplatten.

7

Wenn es keine Möglichkeit gibt, den Pfad zu einer Festplattendatei mit Virtual Media Manager (in meinem Fall) zu entfernen oder zu ändern, dann:

  1. Öffnen Sie die Dateien ' .vbox' und ' .vbox-prev' (falls vorhanden) in einem beliebigen Texteditor.
  2. Bearbeiten Sie das Attribut 'location' des Elements 'HardDisk' in Ihrem Pfad, z. B. "d: /VM/VirtualBox/Win10/Win10.vmdk" ( Screenshot ).

4

In einigen Fällen müssen Sie zuerst freigeben, dann entfernen und über Virtual Media Manager erneut hinzufügen


3

1 - Öffnen Sie die Dateien '.vbox' und '.vbox-prev' (falls vorhanden) in einem beliebigen Texteditor und ersetzen Sie das erste Zeichen der Festplatten-UUID (beachten Sie, dass Sie diese Änderung in Schritt 6 rückgängig machen müssen).

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

Veränderung:

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

Zu:

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

2 - Starten Sie den Computer neu

4 - Stoppen Sie die virtuelle Maschine (falls gestartet).

5 - Am Terminal:

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

Ändern Sie die GRÖSSE für eine Zahl in Megabyte, z. B. 80000 (80 GB).

6 - Öffnen Sie die Dateien '.vbox' und '.vbox-prev' (falls vorhanden) in einem beliebigen Texteditor erneut und ersetzen Sie das erste Zeichen der Festplatten-UUID durch den ursprünglichen Wert

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

Veränderung:

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

Zu:

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

7 - Starten Sie den Computer neu


2

Ich schätze die Vorschläge hier sehr. Die Kommentare von Impaler und Oleg halfen mir, meine Lösung zusammenzusetzen.

Verwenden Sie die VBoxManage-CLI. Es gibt einen Modifymedium-Befehl mit einer --setlocationOption.

Ich schlage vor, die VBox-GUI zu öffnen (unter VM VirtualBox Manager 6.0)
- wählen Sie "Virtual Media Manager" (ich habe das Menü "Datei" verwendet)
- wählen Sie die Schaltfläche "Information" für die Festplatte, auf der dieser Fehler
auftritt - kopieren Sie die UUID.
Hinweis: Ich habe die entfernt Controller aus der Einstellung "Speicher" vor dem nächsten Schritt.
- Öffnen Sie Ihre Eingabeaufforderung und navigieren Sie zum Speicherort der .vdi-Datei.
Es ist eine gute Idee, VBoxMange einzugeben, um eine Liste der Optionen anzuzeigen. Dies ist jedoch der auszuführende Befehl:

VBoxManage modifymedium[ --setlocationMediumtyp hier einfügen] [UUID] [vollständiger Pfad zur .vdi-Datei]

Schließen Sie den Controller schließlich wieder an eine beliebige VM an - vorzugsweise an die, die Sie reparieren möchten.


0

Die Lösung, die für mich funktioniert hat, ist wie folgt:

  1. Stellen Sie sicher, dass VirtualBox Manager nicht ausgeführt wird.
  2. Sichern Sie die Dateien ~\.VirtualBox\VirtualBox.xmlund ~\.VirtualBox\VirtualBox.xml-prev.
  3. Bearbeiten Sie diese Dateien, um den <HardDisks>...</HardDisks>Abschnitt zu ändern und den doppelten Eintrag von zu entfernen <HardDisk />.
  4. Führen Sie nun VirtualBox Manager aus.

Beispiel:

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

Beachten Sie im obigen Fragment, dass sich die letzten beiden Einträge auf dieselbe VM beziehen, jedoch unterschiedliche UUIDs haben. Einer von ihnen ist ungültig und sollte entfernt werden. Welches ungültig ist, kann durch Treffer und Versuch herausgefunden werden - entfernen Sie zuerst den zweiten Eintrag und versuchen Sie es; Wenn es nicht funktioniert, entfernen Sie den dritten Eintrag.


0

Nachdem ich viele Tage gekämpft hatte, fand ich endlich eine Lösung, die perfekt funktioniert.

Mac OS öffnet den Ordner ~ / Library (in Ihrem Home-Verzeichnis) und löscht den VirtulBox-Ordner. Dadurch werden alle Konfigurationen entfernt und Sie können die virtuelle Box erneut starten!

Andere suchen in Ihrem Home-Verzeichnis nach dem Ordner .virtualbox. Entfernen Sie es und öffnen Sie VirtualBox, um Ihr Problem zu lösen.

Prost!!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.