Ist es möglich, virtuelle Maschinen in physische Umgebungen zu konvertieren?

Ist möglich, ein zu konvertieren .vdi-Datei in eine .iso, das auf eine CD oder DVD gebrannt werden kann und es wie ein Installationsprogramm macht. Oder ist es möglich, virtuelle Maschinen in physische Umgebungen zu konvertieren?

Author: quack quixote, 2010-02-28

7 answers

Ja und Nein.

Mit dem Werkzeug VBoxManage können Sie einen VDI in ein Disk-Image umwandeln. Dieser Befehl klont ein registriertes virtuelles Disk-Image in eine andere Image-Datei. Wenn Sie Ihre virtuelle Festplatte in ein anderes Format konvertieren möchten, ist dies das offizielle VirtualBox-Tool zur Verwendung von[*].

VBoxManage clonehd file.vdi output.img --format RAW
  • Wenn Sie ein dynamisches VDI verwenden und eine ältere Version von VirtualBox haben, funktioniert clonehd möglicherweise nicht ordnungsgemäß. VBoxManage ist internalcommands Werkzeug enthält converttoraw, die eine dynamische VDI in ein Raw-Disk-Image umwandeln kann (Quelle)[+].

VBoxManage internalcommands converttoraw file.vdi output.img

Aber... diese Ausgabe-IMG-Datei ist kein ISO-Image, und das installierte Betriebssystem wird nicht so konfiguriert, dass es von einer bootfähigen CD/DVD ausgeführt wird. Sie können das IMG auf eine Festplatte" brennen " (schreiben) und es kann auf blanker Hardware booten (z. B. nicht in einer virtuellen Maschine). Aber es könnte nicht, weil das Betriebssystem auf diesem IMG installiert ist sie erwarten, dass Sie die virtuelle Hardware sehen, die VirtualBox bereitstellt, und Sie booten sie auf echter Hardware, die sie nicht erwartet.

Einige Windows-Versionen gehen mit dieser Situation nicht gut um; einige Linux-Distributionen tun dies. Es ist manchmal möglich, ein Betriebssystem (vorher oder danach) so zu konfigurieren, dass es von einer Umgebung in die andere migriert wird, aber bestimmte Schritte hängen vollständig vom zu migrierenden Betriebssystem ab.


Unter Windows müssen Sie möglicherweise den vollständigen Pfad zum Programm:

"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]

Hinzufügen C:\Program Files\Sun\VirtualBox zu Ihrem PFAD, um die kurze Version zu verwenden.


[*] Ich gehe davon aus, dass die Option "--format RAW" in ein Standard-Disk-Image konvertiert wird, als hätten Sie den Befehl dd auf einer physischen Festplatte verwendet. Aber ehrlich gesagt habe ich keine Dokumentation gefunden, die dies sichert, also sei dir bewusst, dass dies möglicherweise nicht korrekt ist.

[+] Ich habe gerade beide Befehle unter VirtualBox 3.1.2 getestet. Beide ausgabedateien sind gemäß md5sum identisch, aber ich habe die Ausgabedateien nicht vollständig getestet.

Siehe auch die "Alles über VDIs" Tutorial in den VirtualBox-Foren.

 68
Author: quack quixote,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-02-28 06:07:57

Wenn Ihre VDI-Datei Partitionen enthält und Sie nur eine davon extrahieren möchten, verwenden Sie Folgendes:

Konvertieren Sie zunächst, wie Quack quixote bereits sagte, die VDI-Datei in eine RAW-Bilddatei:

# VBoxManage clonehd file.vdi file.raw --format RAW

Dann richten Sie ein Loop-Gerät für das Bild ein:

# loopdev=$(losetup --show -r -f file.raw)

Verwenden Sie kpartx, um Geräte für jede Partition in der RAW-Datei zu erstellen:

# apt-get install kpartx
# kpartx -a $loopdev

Sehen Sie, welche Geräte wir jetzt haben. In diesem Beispiel gibt es nur ein Gerät, da sich im Raw-Image nur eine Partition befindet:

# ls /dev/mapper/loop*
/dev/mapper/loop0p1

Jetzt montieren Sie es, um zu überprüfen, ob alles richtig funktioniert:

# mkdir /mnt/part1
# mount /dev/mapper/loop0p1 /mnt/part1
# ls /mnt/part1
# umount /mnt/part1

Verwenden Sie dd, um den Partitionsinhalt auf eine andere Zielpartition zu kopieren:

# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M

Nachdem Sie fertig sind, entfernen Sie die Gerätezuordnungen erneut:

# kpartx -d file.raw
 22
Author: dmoebius,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-06-08 19:44:22

Die Antwort ist ein definitives Ja, falls Ihr Host - und Gastsystem Linux ist. Dies geschieht mit den Paketen qemu und TKLPatch. Sie können sowohl VDI-als auch VMDK-Dateien verwenden.

Weiterlesen:

 13
Author: Alon Swartz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-08-23 14:57:56

Ich habe versucht, die VBoxManage clonehd file.vdi output.img --format RAW von die akzeptierte Antwort aber ohne viel Erfolg.

Was bei mir mit einer virtuellen Windows 8.1-Maschine auf einem Windows 7-Host funktioniert hat, ist Folgendes:

  1. Erstellen Sie einen Windows 8.1-Computer in VirtualBox, installieren und verwenden Sie ihn wie gewohnt mit einer VM.
  2. Konvertiert die virtuelle Box .vdi-Festplatte auf Windows VHD mit VBoxManage clonehd source.vdi target.vhd --format vhd
  3. Mounten Sie die VHD auf dem Host-Windows-Computer als Laufwerk (Sie können eine VHD auf der Festplatte mounten manager in der Computerverwaltung.
  4. Klonen Sie die VHD (als Laufwerk gemountet) auf eine andere neue Festplatte (in meinem Fall einen USB-angeschlossenen Laptop HD) DriveImage XML oder ein ähnliches Tool zum Klonen von Festplatten. Sie haben jetzt im Grunde die virtuelle Festplatte geklont .vdi zu bare metal.
  5. Installieren Sie die neue Festplatte auf einem Computer. (in meinem Fall tauschen Sie den laptop HDD)
  6. Legen Sie eine Windows 8.1 Install USB/CD ein, booten Sie von dieser, wählen Sie Erweiterte Optionen und automatische Reparatur. Die automatische reparatur wird machen die neue Festplatte bootfähig.
  7. Booten Sie von der neuen Festplatte mit dem geklonten Windows 8.1 und führen Sie Windows Update aus. Dadurch werden Treiber für die Hardware Ihres Computers heruntergeladen, die beim Ausführen von Windows in VirtualBox nicht bekannt waren. Sie müssen fehlende Treiber manuell installieren, falls vorhanden.
  8. Deinstallieren Sie VirtualBox Guest Additions. Installieren Sie VirtualBox optional, damit Ihr Bare Metal Windows 8.1 ein VirtualBox-Host sein kann.
 6
Author: Jan H,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:04:39

Ich mache diesen Prozess sehr schnell mit nur zwei Befehlszeilen unter Linux:

#VBoxManage internalcommands converttoraw your_disk_virtual.vmdk your_disk_virtual.img

ODER

#VBoxManage internalcommands converttoraw your_disk_virtual.vdi your_disk_virtual.img

# mv your_disk_virtual.img your_disk_virtual.iso -

Mein vollständiger Artikel: http://www.previsioni.com.br/jailsonjan/?p=389

 3
Author: JailsonJan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-09-10 15:25:35

Verwenden Sie den folgenden Befehl zum Konvertieren:

VBoxManage clonehd CactiEZ-disk1.vmdk output.iso --format VMDK

Hier ist die Ausgabe:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VMDK'. UUID: 7f297ac6-95eb-4814-9237-1acfd6be976c
 0
Author: Anupam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-10-18 17:22:14

Für neuere Virtualboxen hat der Befehl VBoxManage etwas geändert.

Nun ist die korrekte Syntax zum Klonen einer VHD in raw

VBoxManage clonemedium inputfile.vdi outputfile.img --RAW

Seien Sie geduldig während der Konvertierung!

Hinweis: Zur Kompatibilität mit früheren Versionen von Oracle VM VirtualBox, die Befehle clonevdi und clonehd werden weiterhin unterstützt und zugeordnet gehen Sie zum Befehl clonemedium.

 0
Author: abu_bua,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-10 16:34:35