Kopieren Sie einen VDI mit einer Größe von mehr als 4 GB

0

Ich habe gerade 4,6 GB VDI-Image. Ich muss es in ein FAT32-Dateisystem kopieren. Ich kann nicht das VMDK-Format und nur VDI-Images verwenden.

Wie kann ich die VDI in kleinere VDI-Blöcke aufteilen, um sie auf einen USB-Stick zu kopieren?

user907810
quelle
1
Müssen Sie es auf dem FAT32 FS ausführen oder nur dort (vorübergehend) speichern? Wenn es sich nur um Speicher handelt, können Sie eine beliebige Anzahl von Archivformaten verwenden, die das Teilen unterstützen. Warum können Sie VMDK nicht verwenden? Das ist de facto die Standardmethode, mit der von einem geteilten Bild ausgegangen wird.
Bob
Was ist ein Grund für die Verwendung von FAT32?
Woche
superuser.com/questions/334254/… kann Ihnen helfen
BlueBerry - Vignesh4303
1
@ Vignesh4303 Leider empfehlen alle Antworten auf diese Frage VMDK. Deshalb frage ich mich, warum diese Einschränkung besteht. Es ist möglich, dass VDI-Images einfach nicht geteilt werden können (weil sich niemand die Mühe gemacht hat, dies zu implementieren, da VMDK dies bereits tun könnte). Dies bedeutet, dass die VMDK-Einschränkung einfacher / nur aufgehoben werden kann. Bis wir wissen, warum es eingeschränkt ist, können wir nicht anders.
Bob
1
Wenn Sie die Datei nicht archivieren oder das VMDK-Dateiformat nicht verwenden können, sind Ihre Optionen auf beschränkt none. Die Datei ist zu groß, um sie auf einem FAT32-Volume abzulegen.
Ramhound

Antworten:

3

Müssen Sie es nur in Blöcke aufteilen, die klein genug sind, um auf ein FAT32-Dateisystem zu passen, damit Sie es transportieren oder kopieren können? In diesem Fall können Sie:

  • Verwenden Sie splitdiese Option , um eine Datei in Teile aufzuteilen.
  • Oder verwenden Sie dd, um dasselbe zu tun.
  • Oder archivieren Sie es (zB mehrteilige RARs oder mehrteilige ZIP-Dateien).

Wenn die VM tatsächlich vom USB-Stick ausgeführt werden soll:

  • Ändern Sie das Dateisystem. FAT32 ist auf 4 GB oder kleinere Dateien beschränkt, einfach weil dies eine Beschränkung dieses Dateisystems ist.
  • Oder wechseln Sie in ein Dateiformat, das geteilt werden kann. (Warum sind VMDKs keine Option?)
  • Oder gehen Sie mit einem Loop-Back-Dateisystem hässlich aus, RAIDen Sie mehrere 4GiB-Dateien auf dem FAT32-formatierten pendrive in eine einzige Partition, die groß genug ist, um damit umzugehen, und verwenden Sie ein anderes Dateisystem.


Bearbeiten 25-5-2014: Hinzufügen weiterer Informationen zur dritten Option.

Erstellen der ≤4GiB-Dateien mit dd:

dd if=/dev/null of=/mnt/myPenDrive/RAID_part_1.diskimage bs=1M count=3072
dd if=/dev/null of=/mnt/myPenDrive/RAID_part_2.diskimage bs=1M count=3072

Erläuterung:

  • Liest 1M Chunks aus / dev / null, was eine endlose Quelle von Nullen darstellt.
  • Tun Sie dies 3072 Mal.
  • Schreiben Sie die resultierenden 3 TB Nullen in eine Datei mit dem Namen RAID_part_1.diskimage

Beachten Sie, dass die Datei fast beliebig groß sein kann. Da wir jedoch in ein FAt32-Dateisystem schreiben, müssen sie kleiner als 4 GB sein. Erhöhen Sie die Anzahl also nicht auf mehr als 4095.


Als nächstes teilen wir dem Betriebssystem mit, dass wir diese Dateien als Blockgerät sehen möchten.

losetup /dev/loop0 /mnt/myPenDrive/RAID_part_1.diskimage
losetup /dev/loop1 /mnt/myPenDrive/RAID_part_2.diskimage

Wir können jetzt auf diese Dateien als reguläre Festplatte zugreifen. Führen Sie dann z. B. fdisk aus, formatieren Sie sie nach Belieben und hängen Sie die formatierten Volumes ein.

Noch einmal: Wir können dieses Loopback-Gerät in einem anderen Format als FAT32 formatieren. Daher gelten die FAT32-Grenzwerte nicht mehr. Da oder eine gefälschte 'Festplatte' kleiner als 4 GB ist, wird die Festplatte trotzdem voll, wenn wir versuchen, eine 6 GB-Datei zu erstellen. Erweitern wir also die Festplatte.

Wir können dies tun, indem wir mehrere Geräte verketten. Stellen Sie sich ein Notizbuch aus Papier vor, in dem Sie zwei Notizbücher zusammenkleben können. Die letzte Seite des ersten Notizbuchs zur ersten Seite des zweiten Notizbuchs. Jetzt haben Sie aus zwei kleineren Notizbüchern (Festplatte) ein großes Notizbuch gemacht.

Eine ausführlichere und ausführlichere Beschreibung finden Sie hier auf unserer Schwesterseite .

Für Linux möchten Sie wahrscheinlich mdadm verwenden .

Stellen Sie zunächst sicher, dass Sie mdadm zur Verfügung haben (z. B. versuchen Sie, es auszuführen, wenn es nicht gefunden wird, versuchen Sie den entsprechenden Befehl Ihrer Distribution, um es zu installieren. ZB apt-get install mdadmfür Ubuntu, yum install mdadmRedHat oder emerge mdadmGentoo).

mdadm --create /dev/md0 --level=linear --raid-devices=2 /dev/loop0 /dev/loop1 

Sie sollten jetzt ein neues 6GiB-Blockgerät mit dem Namen / dev / md0 haben. Formatieren und mounten Sie es wie gewünscht.

Hennes
quelle
@Vielen Dank. Das Problem war, dass ich gerade einen USB-Stick mit 8 GB hatte und nur mit dem FAT32-System arbeiten konnte. Ich habe eine modifizierte VirtualBox verwendet, die VMDK-Chunks nicht erkannt hat. Vielen Dank für alle Ihre Antworten
user907810