Wenn Sie absolut sicher sind, dass es keine Blöcke mit Nullen gab, war der Grund, aus dem Sie keinen Platz gespart haben, der große Puffer, den Sie verwendet haben. Von man dd
:
sparse
Versuchen Sie, die Ausgabe für NUL-Eingabeblöcke zu suchen, anstatt sie zu schreiben
Sie haben verwendet bs=32M
, also brauchten Sie die gesamten 32MiB von Nullen am richtigen Offset, damit die conv=sparse
Option nur einmal ausgeführt werden konnte.
Die Option bs
setzt ibs
(Eingangsblockgröße) und obs
(Ausgangsblockgröße). Während das Handbuch Eingabeblöcke erwähnt, ist es eigentlich das obs
, was zählt.
Hier sind die Ergebnisse einiger Tests. (Da ich das OP bin, habe ich die Tests mit demselben Gerät durchgeführt.) Jede Datei wird nach <obs_used>.img
Muster benannt. Beachten Sie die erste Spalte:
$ ls -hlst *.img 250M -rw-r--r-- 1 root root 250M Oct 18 22:02 4M.img 250M -rw-r--r-- 1 root root 250M Oct 18 22:02 2M.img 249M -rw-r--r-- 1 root root 250M Oct 18 22:02 1M.img 248M -rw-r--r-- 1 root root 250M Oct 18 22:01 512K.img 248M -rw-r--r-- 1 root root 250M Oct 18 22:01 256K.img 247M -rw-r--r-- 1 root root 250M Oct 18 22:00 128K.img 247M -rw-r--r-- 1 root root 250M Oct 18 21:57 64K.img 247M -rw-r--r-- 1 root root 250M Oct 18 21:56 32K.img 246M -rw-r--r-- 1 root root 250M Oct 18 21:55 16K.img 246M -rw-r--r-- 1 root root 250M Oct 18 21:54 8K.img 246M -rw-r--r-- 1 root root 250M Oct 18 21:53 4K.img 246M -rw-r--r-- 1 root root 250M Oct 18 21:52 2K.img 246M -rw-r--r-- 1 root root 250M Oct 18 21:51 1K.img 246M -rw-r--r-- 1 root root 250M Oct 18 21:44 512.img
Die Schlussfolgerung ist: Sie sollten nicht groß obs
mit conv=sparse
Option verwenden. Die übliche Sektorgröße beträgt 512 Bytes, bs=512
scheint also gerade richtig zu sein. Ihr Befehl hätte sein sollen:
dd if=/dev/sdb of=myusb.img conv=sparse bs=512