Funktionieren ntfsresize und gparted auf einem Festplatten-Image, das über das Loop-Gerät geladen wird?

3242
laramichaels

Ich muss die Größe einer NTFS-Partition auf einer Platte ändern, für die ich ein Image habe (mit dd gesichert).

Ich habe es durch das Loop-Gerät unter Linux gemountet:

# losetup -o 32256 /dev/loop0 disk.img # I got the offset from looking at fdisk's output # mount /tmp/t /dev/loop0 # ls /tmp/t [Content of NTFS partition shows correctly] # umount /tmp/t # gparted /dev/loop0 

gparted zeigt mir die Platte richtig an; Es enthält nur eine große NTFS-Partition, die ich verkleinern möchte.

Ich habe es jetzt eine Stunde laufen lassen.

Ob das funktioniert? Es gibt viel Plattenzugriff, aber der Zeitstempel und die Größe der zugrunde liegenden Datei disk.img bleiben unverändert.

6
Haben Sie eine Ahnung, wie gut die Festplatte defragmentiert wurde, bevor Sie den `dd`-Dump erstellt haben? (Alliteration ftw!) Das Verkleinern der Partition kann bedeuten, dass Daten von der Rückseite der "Festplatte" weggeschoben werden. Dies kann erklären, warum es so lange dauert. Wie groß ist die "Festplatte" und wie voll ist das Dateisystem? quack quixote vor 14 Jahren 0
Im Fenster "Anstehende Vorgänge anwenden" können Sie auf die Dropdown-Liste "Details" klicken, und es werden weitere Dropdown-Menüs für die derzeit ausgeführte Aktion angezeigt. Es zeigt detaillierte Informationen darüber, was passiert. CausingUnderflowsEverywhere vor 7 Jahren 0

1 Antwort auf die Frage

2
whitequark

Ja, Loop-Geräte können nicht von "normalen" Block-Geräten für höhere Schichtanwendungen (wie gparted) unterschieden werden. Der Gerätezugriff durch Schleifen ändert nicht den Zeitstempel einer eingehängten Datei: Es ist ein Fehler.

Auch wenn der Kernel keine Partitions- Sub-Devices erstellt, können Sie sie bei Bedarf mit kpartx erstellen (nur für den Fall).