Sie können dies nicht ohne weiteres tun, dd
da das Blockgerät nur ein Speicherabzug von Bytes ist. Es kann Daten von längst gelöschten Dateien in nicht zugewiesenem Speicher enthalten. dd
ist 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 dd
mindestens 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=noerror
stellt sicher, dass das Klonen im Fehlerfall fortgesetzt wird. conv=sync
Verschiebt 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.