Antworten:
Angenommen, Linux könnte folgendermaßen aussehen:
Befestigen Sie das Bild mit an einem Loop-Gerät losetup
. Mounten Sie keine Partitionen.
0 GB 8 GB 16 GB
|--------fat32--------|--------------------ext3--------------------|
Unter Verwendung gparted
, schrumpfen die erste Partition auf weniger als 50% der Originalgröße.
0 GB 8 GB 16 GB
|--fat32---| |--------------------ext3--------------------|
Verschieben Sie die zweite Partition in den neu erstellten freien Speicherplatz und verkleinern Sie sie auf <50%.
0 GB 8 GB 16 GB
|--fat32---|---------ext3---------| |
Stellen Sie sicher, dass die zweite Partition vor den 8 GB endet.
Trennen Sie das Loop-Gerät.
Kürzen Sie die Image-Datei auf 8 GB.
Hinweis: Normalerweise müssen Sie zuerst das Dateisystem verkleinern und dann die Partitionsgröße an das Dateisystem anpassen. Gparted erledigt dies für Sie in einem einzigen Schritt "Größe ändern", andere Tools jedoch möglicherweise nicht.
Zunächst einmal können Sie das Disk-Image nicht einfach verkleinern. Es ist zu viel kompliziertes Zeug drin.
Ich werde vorschlagen, dass Sie das dd-Image einbinden und dann entweder Dateien in Ihr neues Dateisystem kopieren oder weiter nachforschen, wie Sie Ihre spezifischen Dateisysteme und nicht die Festplatte verkleinern können.
Haben Sie zunächst eine Kopie der ursprünglichen Partitionstabelle?
Wenn nicht, versuchen Sie:
fdisk -l -u /path/to/image
Dann können Sie hoffentlich die oben angegebenen Werte verwenden, um Folgendes zu tun:
dd if=/path/to/image of=/path/to/output bs=BLOCKSIZE skip=STARTBLOCK count=TOTALBLOCKS
(Ersetzen der oben genannten Hauptstädte nach Bedarf)
Von dort aus montieren Sie das Image:
mount -o loop /path/to/output /path/to/mountlocation
und kopieren Sie entweder Ihre Daten oder lernen Sie, wie bestimmte Dateisysteme standardmäßig verkleinert und weiterentwickelt werden.