Erstellen Sie ein Virtualbox-Image einer physischen Partition

13

Ich habe ein Laufwerk mit Fedora und Windows 7 auf verschiedenen Partitionen mit Dual Boot.

Während ich Fedora ausführe, möchte ich die Windows-Partition aufsaugen und ein Image erstellen, das ich in VirtualBox ausführen kann. Wie kann ich das tun?

nos
quelle
2
Mit einigen Tricks können Sie die Partition direkt booten.
Shellholic
@shellholic: Wie geht das? : können Sie es hier beantworten superuser.com/q/463591/74616
Tamer Shlash

Antworten:

10

Es gibt eine dokumentierte "interne" Funktion, die Sie interessieren könnte. Sie können ein "Raw Disk" -Image erstellen, das im Grunde alle Befehle an die Partition auf Ihrer Festplatte weiterleitet. Auf diese Weise können Sie Ihre Windows-Partition behalten und versuchen, sie auch von VirtualBox zu starten.

Sie können ein Rohbild wie folgt erstellen:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5

wobei 1,5Mittel Trennwände 1 und 5 auf/dev/sda

Wohlgemerkt, die Chancen, dass dies fehlerfrei funktioniert, sind ziemlich gering. Windows ist nicht gerade dafür bekannt, dass es sich an extreme Änderungen in der Hardware anpasst.

Weitere Informationen zu Raw-Festplatten finden Sie hier: 10.8.1. Verwenden einer Raw-Host-Festplatte von einem Gast

Delyan
quelle
Ich habe das schon mal gemacht, aber anders herum. Verwenden einer Mint-Raw-Festplatte für eine VM in Windows. Es hat einwandfrei funktioniert, bis auf ein kleines Problem mit dem Video.
Keltari
5

Wie Matt sagte, verwenden Sie den VBoxManage-Befehl, der Windows möglicherweise nicht gefällt. Es gibt jedoch einen schnelleren Weg, der weniger Speicherplatz beansprucht. Sie können stdin als Eingabe für den convertrawBefehl verwenden (was, wenn Sie Matts Antwort lesen, dasselbe ist wie der convertddBefehl:

# dd if=$WinDevice | VBoxManage convertfromraw stdin windows.vdi $Bytes

Dabei ist $ WinDevice das Gerät der Windows-Partition (z. B. / dev / sda2) und $ Bytes die genaue Anzahl von Bytes (z. B. 1488581554176). Sie können dies in Windows ermitteln, indem Sie mit der rechten Maustaste auf das Laufwerk C: klicken Unter Arbeitsplatz und "Eigenschaften" ist dies die Zeile Kapazität: unter den Zeilen Verwendeter und Freier Speicherplatz und über dem Kreisdiagramm.

Beachten Sie, dass ich dies nicht selbst ausprobiert habe und dass Sie möglicherweise / dev / sda anstelle von / dev / sda2 verwenden müssen, vorausgesetzt, Sie schreiben nicht auf das Laufwerk, auf dem Windows ausgeführt wird. Auf diese Weise erfassen Sie die Partitionstabelle und den Bootloader.

Daniel H
quelle
Ab sofort (derzeit 22. Februar 2014) folgt die Anzahl der Bytes dem Ausgabedateinamen.
Echristopherson
Huh, du hast recht. Fest. Wissen Sie, ob dies schon immer der Fall war und bis jetzt niemand etwas davon mitbekommen hat oder ob die Reihenfolge innerhalb der letzten drei Jahre geändert wurde? Ich würde vermuten, dass sie die Reihenfolge nicht ändern würden, aber ich hätte auch erwartet, dass jemand dies inzwischen bemerkt.
Daniel H
Ich bin mir nicht sicher, ob es jemals anders war ... Das ist ein Teil des Grundes, warum ich die Antwort nicht einfach bearbeitet habe.
Echristopherson
2

Ich habe nur versucht, fast dasselbe zu tun, allerdings von Ubuntu. Ich wollte kein Image der gesamten Festplatte erstellen, und es schien mir keine gute Idee zu sein, die physische Festplatte mit der VM zu verwenden. Ich habe endlich die Lösung gefunden:

  1. (Empfohlen) Wenn Sie keine Windows-CD oder ISO haben, laden Sie eine ISO herunter. Ich habe X17-59465.iso verwendet

  2. Wenn gewünscht, verkleinern Sie die Windows-Partition, damit das Bild kleiner wird. Ich bevorzuge es, dies unter Linux mit GParted zu tun (um "umovable" -Dateien zu vermeiden, die verwendet werden), dann unter Windows neu zu starten, eine chkdsk auszuführen und wieder unter Linux zu starten.

  3. Hängen Sie die gemountete Windows-Partition aus, um sicherzustellen, dass sie sich während des Imaging nicht ändert

    sudo umount /windows
    
  4. Installieren Sie das MBR-Paket. Auf Ubuntu:

    sudo apt-get -y install mbr 
    
  5. Erstellen Sie ein Image des MBR (ändern Sie das Gerät nach Bedarf)

    sudo dd if=/dev/sda of=mbr.img bs=512 count=1
    
  6. Installieren Sie einen neuen MBR im Image, um GRUB zu entfernen

    sudo install-mbr mbr.img
    
  7. Erstellen Sie ein unformatiertes VMDK-Image, das das vorhandene Partitionslayout widerspiegelt (ändern Sie das Gerät und die Partition nach Bedarf).

    sudo vboxmanage internalcommands createrawvmdk -filename windows.vmdk -rawdisk /dev/sda -partitions 2 -mbr mbr.img
    
  8. Erstellen Sie ein VDI-Image, das die Daten von den im vorherigen Schritt ausgewählten Partitionen kopiert

    sudo vboxmanage clonehd windows.vmdk windows.vdi --format VDI
    
  9. Ändern Sie den Eigentümer der neuen Bilddatei

    sudo chown $USER. windows.vdi
    
  10. Aufräumen

    sudo rm mbr.img windows.vmdk windows-pt.vmdk
    
  11. (Optional) Komprimieren Sie das neue Disk-Image

    vboxmanage modifyhd windows.vdi --compact
    
  12. Erstellen Sie eine neue Windows 7-VM mit dem Image, das Sie gerade für die Festplatte erstellt haben

  13. Sie können versuchen, die VM zu starten, dies kann jedoch fehlschlagen. Starten Sie in diesem Fall die VM von der Windows-CD / ISO → Reparieren Sie Ihren Computer , und klicken Sie bei entsprechender Option auf Reparieren und neu starten

Quellen:

Bmaupin
quelle
Ich fürchte, 8. wird nicht das tun, was Sie erwarten. clonehd erstellt eine vdi, die auf eine rohe Festplatte zeigt. Das heißt, es klont den "Zeiger" und nicht die eigentlichen Daten. Es sieht so aus, als wäre dd ein Muss für Partitionen.
Mlt
Man könnte das denken, aber es machte einen Klon der tatsächlichen Daten. In Schritt 7 wurde ein Image mit ~ 1 KB erstellt (das lediglich auf die Raw-Festplatte verweist), die Größe des in Schritt 8 erstellten Images entsprach jedoch der Größe aller enthaltenen Partitionen, in diesem Fall 40 GB. Ich weiß auch, dass es sich um eine Kopie handelt, da sie sich beim Booten auf meiner Windows-Partition von der VM unterscheidet, die ich darauf basierend erstellt habe und an der ich Änderungen vorgenommen habe. -rw------- 1 root root 40G Feb 4 09:28 windows.vdi -rw------- 1 root root 722 Feb 4 09:11 windows.vmdk
Bmaupin
0

Ich hatte eine Festplatte mit Windows 10 und habe sie in eine VirtualBox-Maschine gesteckt. Um dies zu erreichen, habe ich folgende Schritte ausgeführt:

  • Erstellen Sie eine VirtualBox-Maschine für Windows 10.
  • Wichtig : Wählen Sie beim Erstellen der Festplatte den VHD-Typ.
  • Mit dem Windows-Partitionsmanager ist es möglich, eine virtuelle Festplatte wie ein Laufwerk zu mounten. Montiere es.
  • AOMEI Partition Assistant Standard herunterladen ( http://www.disk-partition.com/ )
  • Verwenden Sie AOEMI, um eine Festplattenkopie von der Festplatte unter Windows 10 auf die neu bereitgestellte virtuelle Festplatte zu erstellen.

Das ist alles, starten Sie Ihre neue VirtualBox-Maschine.

Nemonem App
quelle