Machen Sie ein Image des Betriebssystems

577
ron123456

Ich verwende ein Nano-Pi-Gerät, das ein Debian-Betriebssystem enthält. Das Betriebssystem-Image befindet sich in seinem internen Speicher (8 GB). Die Gesamtgröße des verwendeten Speichers beträgt etwas 4 GB. Ich möchte eine Sicherung dieses Betriebssystems in eine Image-Datei aufnehmen.

Nachdem

dd if=/dev/mmcblk1 of=NanoPi.img bs=8M status=progress 

Die Gesamtgröße der Bilddatei beträgt bis zu 8 GB. Wie kann ich nur das Bild erstellen, das vom Speicher verwendet wird, und nicht alle?

2
Sie können auch versuchen, die Größe Ihrer Partition zu ändern und dann das Image mit `dd` zu erstellen Nordlys Jeger vor 5 Jahren 0
aber .. Image wird von dem gesamten Block rechts gemacht ... mmcblk1 ... der eine Bootpartition mmcblk1p0, die Hauptpartition mmcblk1p1 und die neue Partition mmcblk1p2 haben wird ... also ... wie wird die Größenänderung der Partition helfen? ron123456 vor 5 Jahren 0
Ah, ich habe deine Frage falsch verstanden. Nordlys Jeger vor 5 Jahren 0

1 Antwort auf die Frage

2
Rokas Kupstys

Sie können dies nicht ohne weiteres tun, ddda das Blockgerät nur ein Speicherabzug von Bytes ist. Es kann Daten von längst gelöschten Dateien in nicht zugewiesenem Speicher enthalten. ddist sich dessen nicht bewusst, weil es die Aufgabe des Dateisystems ist. Sie haben nur wenige Möglichkeiten:

Weiter mit dd

... und akzeptieren mehr Platz. Tun Sie stattdessen etwas dd if=/dev/mmcblk1 of=NanoPi.img bs=64K conv=noerror,sync status=progress. Eine kleinere Blockgröße gibt Ihnen etwas mehr Sicherheit bei Lesefehlern. Wenn ddmindestens ein Sektor nicht gelesen werden kann, wird der Rest des Blocks nicht verarbeitet. Die Blockgröße ist die maximale Anzahl von Bytes, die Sie für einen fehlerhaften Sektor verlieren können. conv=noerrorstellt sicher, dass das Klonen im Fehlerfall fortgesetzt wird. conv=syncVerschiebt den Zeiger in der Zieldatei bei Lesefehlern nach vorne, damit die Daten ausgerichtet bleiben und somit gültig sind.

Sie können Rohr ddüber die Ausgangsdatengzip zu komprimieren und etwas Platz sparen: dd if=/dev/mmcblk1 bs=64K conv=noerror,sync status=progress | gzip -c > NanoPi.img.gz Um Rohbild tun zurück gunzip -c ./NanoPi.img.gz > NanoPi.img.

Verwenden Sie Rsync

... und mit rohen Dateien umgehen. rsync -aAXv /path/to/mounted/mmcblk1 /path/to/destination/folder. Dies funktioniert möglicherweise nicht für Sie, abhängig davon, ob Ihr Dateisystem eingehängt ist oder nicht.