!!! Sichern Sie Ihr Disk-Image, bevor Sie Folgendes versuchen !!!
Wenn Sie ein spärliches Rohbild verwenden, tun Sie dies
dd if=/dev/zero of=hdd.img seek=N obs=1MB count=0"
Dabei ist hdd.img das Rohformatbild, dessen Größe Sie ändern möchten, und N die neue Größe in Megabyte, die das Bild haben soll. Um die Einheiten von N zu ändern, ändern Sie obs in etwas anderes wie 1 GB für Einheiten in Gigabyte (1000x1000x1000).
Wenn Sie die Größe eines Rohbilds ändern möchten, aber nicht möchten, dass es spärlich wird (Sie möchten tatsächlich diese Nullen in der Datei), führen Sie "dd if = / dev / zero von = image seek = S count = NS obs = 1" aus. Stattdessen ist N die neue Größe und S die alte Größe (in Bytes).
Wenn Sie die Größe eines qcow2-Images ändern möchten, wird dies noch nicht unterstützt.
Diese E-Mail zeigt einige Experimente zum Ändern der Größe von qcow-Bildern mit einem Hex-Editor.
Das Ändern oder Vergrößern von Bildern in anderen Formaten (VMware, Bochs, Cow oder Cloop) wird nach meinem besten Wissen nicht unterstützt.
Auf einem Windows-Host ist es möglich, die Größe eines Disk-Images im Rohformat mit dem Befehl 'copy' zu ändern. Sie können qemu-img verwenden, um Ihr vorhandenes Bild bei Bedarf in das Rohformat zu konvertieren. Wir verwenden ein temporäres Raw-Format-Disk-Image, das an das Ende Ihres vorhandenen Raw-Format-Disk-Images angehängt wird. Die Größe dieses temporären Bildes entspricht der Größe, um die das vorhandene Bild erweitert wird:
qemu-img create -f raw temp.img 300M
Sie sollten dann den folgenden Befehl ausführen: orig.img ist Ihr vorhandenes Rohformatbild, das Sie vergrößern möchten, temp.img ist die zuvor erstellte temporäre Bilddatei und new.img ist das resultierende resultierende Bild in der Größe:
copy /b orig.img+temp.img new.img
Anschließend müssen Sie die vorhandenen Partitionen und Dateisysteme auf dem neuen Image neu partitionieren und deren Größe ändern. Eine Methode hierfür ist das Booten von gparted in QEMU mit der gparted livecd iso und dem neuen Disk-Image.
Andere Links, die Sie möglicherweise überprüfen möchten, wenn die oben genannten nicht funktionieren:
qemu-img: This image format does not support resize
Kurze Antwort für 2017: Um zB 30 GB zu einem vorhandenen Rohbild hinzuzufügen, habe ich gerade diesen Befehl verwendet:
Dadurch werden Ihrer vorhandenen Bilddatei 30 GB hinzugefügt (es ist nicht erforderlich, eine neue Datei zu erstellen). Dann können Sie in Ihrer Gast-VM Ihre vorhandenen Partitionen, in Windows 10, z. B. mit "Datenträgerverwaltung", einfach erweitern.
Weitere Infos und Optionen:
Siehe auch: qemu wiki> qemu-img
quelle
Ja, du kannst. Und nein, es wird die Partitionen oder die Tabelle nicht ändern. Die Partitionstabelle muss möglicherweise aktualisiert werden, um die volle Festplattengröße zu erhalten. Wenn Sie sie vergrößern, wird am Ende nicht genutzter Speicherplatz frei sein. Sie werden eine Partition zerhacken und verlieren oder den letzten Teil ihrer Daten, wenn Sie sie verkleinern .
Wenn Sie sich im qemu-Monitor befinden (oder wahrscheinlich QMP verwenden ) und die Schnittstelle dies unterstützt (z. B. virtio-scsi-pci mit rbd, das ich hier getestet habe), können Sie dies ohne Neustart der VM tun:
Außerdem wird die Größe des Images auf die in MiB angegebene Größe geändert, und die VM zeigt die neue Größe an.
Ich habe folgendes auf qemu 2.7.0 getestet:
quelle