Größe eines Partitionsabbildes mit GParted ändern?

12934
endolith

Ich habe die Partitionen in GParted bereits geändert. Nun möchte ich eine große, aber meist leere Partition auf ein kleineres Laufwerk verschieben. Anstatt die Größe an Ort und Stelle zu ändern, möchte ich lieber eine Kopie auf einem dritten Laufwerk erstellen (Image mit dd), die Größe der Kopie ändern und dann die Kopie auf das neue Laufwerk kopieren. Aber ich glaube nicht, dass Gparted Laufwerksabbilder verwendet? Wie würde ich das machen? Kann ich die von GParted verwendeten Tools direkt verwenden?

Oh! Oder kann ich eine Loopback-Funktion verwenden, um die Image-Datei wie ein physisches Laufwerk aussehen zu lassen, auf dem gparted arbeiten kann?

10
https://softwarebakery.com/shrinking-images-on-linux x29a vor 7 Jahren 0

4 Antworten auf die Frage

7
user7455651

Ich bin nicht sicher, wie die Situation vor 5 Jahren war, aber heute ist es Kuchen.

$ sudo udisksctl loop-setup -f disk.img Mapped file disk.img as /dev/loop0. $ sudo gparted /dev/loop0 

Jetzt kannst du den Kuchen essen.

3
Patches

Mit GParted ist dies nicht möglich. Sie können den ntfsresizeBefehl jedoch direkt auf einem Image der Festplatte verwenden.

Klonen Sie zunächst das Image der Festplatte. Sie können den Plattengerätenamen mit blkidoder gParted finden und dann Folgendes ausführen:

sudo dd if=<disk device> of=<image file> 

Zum Beispiel:

$ sudo dd if=/dev/sda2 of=disk.img 1000000+0 records in 1000000+0 records out 512000000 bytes (512 MB) copied, 9.33361 s, 54.9 MB/s 

Überprüfen Sie dann, ob Sie die Größe auf die gewünschte Größe ändern können, indem Sie Folgendes ausführen:

ntfsresize -i <image file> 

Zum Beispiel:

$ ntfsresize -i disk.img ntfsresize v2011.4.12 (libntfs-3g) Device name : disk.img NTFS volume version: 3.1 Cluster size : 4096 bytes Current volume size: 511996416 bytes (512 MB) Current device size: 512000000 bytes (512 MB) Checking filesystem consistency ... 100.00 percent completed Accounting clusters ... Space in use : 4 MB (0.6%) Collecting resizing constraints ... You might resize at 3035136 bytes or 4 MB (freeing 508 MB). Please make a test run using both the -n and -s options before real resizing! 

In diesem Beispiel kann ich die Größe bis auf 4 MB verkleinern, da ich zu Illustrationszwecken ein leeres Festplatten-Image erstellt habe!

Sie können jetzt den Testlauf durchführen, wenn Sie möchten, obwohl dies nicht unbedingt erforderlich ist, da Sie ein Image verwenden. Sie können die Größe in Kilobyte, Megabyte oder Gigabyte geben ein durch Anhängen k, Moder Gjeweils:

ntfsresize -cnvs <size> <image file> 

Zum Beispiel:

$ ntfsresize -cnvs 256M disk.img  ntfsresize v2011.4.12 (libntfs-3g) 

Kein Output ist guter Output! Jetzt mache es wirklich:

ntfsresize -vs <size> <image file> 

Letztes Beispiel:

$ ntfsresize -vs 256M disk.img  ntfsresize v2011.4.12 (libntfs-3g) Device name : disk.img NTFS volume version: 3.1 Cluster size : 4096 bytes Current volume size: 511996416 bytes (512 MB) Current device size: 512000000 bytes (512 MB) New volume size : 255996416 bytes (256 MB) Checking for bad sectors ... Checking filesystem consistency ... 100.00 percent completed Accounting clusters ... Space in use : 4 MB (0.6%) Collecting resizing constraints ... Needed relocations : 625 (3 MB) WARNING: Every sanity check passed and only the dangerous operations left. Make sure that important data has been backed up! Power outage or computer crash may result major data loss! Are you sure you want to proceed (y/[n])? y Schedule chkdsk for NTFS consistency check at Windows boot time ... Resetting $LogFile ... (this might take a while) Relocating needed data ... Relocate record 1:0x80:00000001:0x00000000:0x0000f423 --> 0x00007a11 Relocate record 2:0x80:00000624:0x00000000:0x0000f424 --> 0x00007a12 100.00 percent completed Updating $BadClust file ... Updating $Bitmap file ... Updating Boot record ... Syncing device ... Successfully resized NTFS on device 'disk.img'. You can go on to shrink the device for example with Linux fdisk. IMPORTANT: When recreating the partition, make sure that you 1) create it at the same disk sector (use sector as the unit!) 2) create it with the same partition type (usually 7, HPFS/NTFS) 3) do not make it smaller than the new NTFS filesystem size 4) set the bootable flag for the partition if it existed before Otherwise you won't be able to access NTFS or can't boot from the disk! If you make a mistake and don't have a partition table backup then you can recover the partition table by TestDisk or Parted's rescue mode. 

Das ist es! Jetzt können Sie dieses Image auf das neue Gerät kopieren.

Hmmm ... die logische Partition befindet sich in einer erweiterten Partition. Soll ich die logische Partition selbst erstellen, wenn ich die Kopie mache? endolith vor 12 Jahren 0
Ich habe letzte Nacht resize2fs für eine ext3-Image-Datei verwendet, und die Datei selbst wurde danach verkleinert! :) Ich dachte, das wäre ein separater Schritt, weil das Dateisystem nicht mit der Partition identisch ist. endolith vor 12 Jahren 0
@endolith: Ja, `dd` die logische Partition. Wenn Sie die erweiterte Partition erstellt haben, erhalten Sie alle logischen Partitionen darin! Patches vor 12 Jahren 0
@Patches: Nun, es gibt nur eine logische Partition derselben Größe. :) endolith vor 12 Jahren 0
@endolith: Trotzdem denke ich, dass die erweiterte Partition zusätzliche Informationen enthält, die e2fsprogs und ntfsprogs verwirren werden. Sie wissen nichts über Partitionen, wie Sie zuvor festgestellt haben. Patches vor 12 Jahren 1
@Patches: Ja, das habe ich mir gedacht endolith vor 12 Jahren 0
0
uSlackr

Könnten Sie die Größe mit GParted ändern und dann Clonezilla verwenden, um die Partition auf die neue Festplatte zu verschieben?

Ich möchte die Größe nicht ändern. Ich will das Original nicht vermasseln, wenn ich nicht muss. endolith vor 12 Jahren 2
0
Mawg

Ich verwende GParted seit vielen, vielen Jahren und habe nie etwas verloren. Ich mag auch Easus Free Home Edition für Windows.

Wie groß / klein ist deine Partition? Können Sie die Daten auf USB / DVD / ein kostenloses Online-Speichersystem kopieren, um sie nicht zu verlieren - und anschließend die Größe zu ändern? Die beiden oben genannten Werkzeuge werden nicht Ihre Daten verlieren, wenn man sie vollständig ausgeführt lassen.

Du sagst I've resized partitions in GParted before- also warum die Sorge jetzt? Und DD macht ein bisschen für etwas kopieren ... also müssen Sie die Größe ändern (defrag zuerst).

Ich konvertiere eine Partition von Laufwerk A (die schreibgeschützt sein soll) in eine Image-Datei auf Laufwerk C, ändere deren Größe und verschiebe sie dann auf eine Partition auf Laufwerk B, die kleiner als A ist (daher muss ich die Größe ändern) zuerst). endolith vor 12 Jahren 0