Wie kann ich eine Festplatte direkt in ein VDI-Image klonen?

35

Ich möchte ein VirtualBox-VDI-Image von meiner Festplatte erstellen.

Ich habe eine Online-Anleitung gefunden, in der beschrieben wird, wie Sie dies tun, indem Sie zuerst mit DD ein .raw-Image erstellen und dann mit VBoxManage das .raw-Image in ein .vdi-Image konvertieren. Wenn meine Festplatte 1 TB groß ist, benötigt dieser Prozess (vorübergehend) 2 TB Speicherplatz, um sowohl die .raw- als auch die .vdi-Datei zu speichern.

Ich habe nur etwas mehr als 1 TB freien Speicherplatz. Gibt es eine Möglichkeit, ein VDI-Image einer Festplatte zu erstellen, ohne zuerst ein RRAW-Image erstellen zu müssen?

SuperElectric
quelle
Dies ist riskant, aber wenn Sie über eine P2V-Festplatte verfügen, können Sie das Image mit ca. 1 TB kostenlos auf Ihrer Ersatzfestplatte erstellen. Formatieren Sie dann Ihr ursprüngliches Laufwerk und kopieren Sie die RAW-Datei auf das ursprüngliche Laufwerk. Konvertieren Sie dann RAW in VDI zurück auf Ihr Hauptlaufwerk. Wenn es jedoch kaputt geht (könnte passieren), steckt man mit einem RAW-Bild und keinem Original fest.
Kobaltz
@kolbatz Ich dachte darüber nach, aber ich dachte, dass es eine hohe Ausfallwahrscheinlichkeit hatte. Wenn ich ein Image der Festplatte erstelle, entspricht die resultierende .raw-Datei der Größe der Festplatte. Aber bevor ich die Datei zurück auf das ursprüngliche Laufwerk kopiere, muss ich dem Laufwerk ein Dateisystem geben. Dazu müssen einige Metadaten auf das Laufwerk geschrieben werden, sodass nicht genügend Speicherplatz für die Datei in Laufwerksgröße vorhanden ist.
SuperElectric

Antworten:

49

Mit können Sie direkt ein Bild erstellen VBoxManage convertfromraw. Zuerst das Gerät aushängen, dann:

VBoxManage convertfromraw /dev/sda MyImage.vdi --format VDI

Ersetzen Sie sie /dev/sdadurch die Festplatte oder Partition, die Sie klonen möchten.

Möglicherweise müssen Sie dies als root ausführen, um Zugriff auf das Gerät zu erhalten. In diesem Fall sollten Sie den Eigentümer des fertigen Bildes ändern.

user235224
quelle
2
Funktioniert wunderbar und sofort unter OSX, wenn Sie VirtualBox installiert haben. Vielen Dank für den Hinweis auf diese Lösung
JosFabre
8

Ich habe die akzeptierte Lösung ausprobiert, aber für mich ist sie fehlgeschlagen:

# VBoxManage convertfromraw /dev/sdg /path/to/file.vdi --format VDI
Converting from raw image file="/dev/sdg" to file="/path/to/file.vdi"...
Creating dynamic image with size 0 bytes (0MB)...
VBoxManage: error: Cannot create the disk image "/path/to/file.vdi": VERR_INVALID_PARAMETER

Vielleicht konnte es die Größe nicht erkennen, weil die Festplatte über USB angeschlossen war?

Also bekam ich stattdessen die Größe der Festplatte mit fdisk -l

Disk /dev/sdg: 160.0 GB, 160041885696 bytes

Und dann habe ich die Standardform von convertfromraw verwendet

# dd if=/dev/sdg | VBoxManage convertfromraw stdin /path/to/file.vdi 160041885696 --format VDI
Converting from raw image file="stdin" to file="/path/to/file.vdi"...
Creating dynamic image with size 160041885696 bytes (152628MB)...
Daniel
quelle
2

Es gibt andere sicherere Möglichkeiten, eine Datei Ihres aktuellen Systems zu erstellen, mit der Virtualbox arbeiten kann. VDIs sind virtualbox-spezifische Dateien und werden normalerweise nur von VB aus einer neuen virtuellen Festplatteninstallation generiert.

Sie haben viele andere Möglichkeiten.

Ich habe kürzlich disk2vhd verwendet, um eine virtuelle Festplatte (Microsoft Virtual Hard Disk) zu erstellen, die Virtualbox auf wundervolle Weise importiert hat. (Obwohl es ein XP-System war) Ich denke nicht, dass es gut mit anderen Betriebssystemen funktioniert.

Alternativ gibt es das Vmwares-Konverter-Tool, mit dem Sie Ihr System in eine Vielzahl von Formaten exportieren können, die sowohl von VirtualBox als auch von anderen Plattformen verwendet werden können. Dafür gibt es offene Standards.

http://www.vmware.com/products/converter/features.html

Skandalist
quelle
2
Warum sind diese Methoden Ihrer Meinung nach "sicherer"?
Andcoz
disk2vhd verwendet einen Volume-Snapshot, mit dem ein laufendes System geklont werden kann.
Mwfearnley
"Ich glaube nicht, dass es mit anderen Betriebssystemen gut funktioniert."
Henrique de Sousa