Ho un gruppo di schede SD SDHC UHS-1 di classe 10 di diversi produttori. Sono tutti partizionati come segue
$ sudo fdisk -l /dev/sdj
Disk /dev/sdj: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0000de21
Device Boot Start End Sectors Size Id Type
/dev/sdj1 2048 1050623 1048576 512M c W95 FAT32 (LBA)
/dev/sdj2 1050624 2099199 1048576 512M 83 Linux
/dev/sdj3 2099200 3147775 1048576 512M 83 Linux
/dev/sdj4 3147776 31116287 27968512 13.3G 83 Linux
Ho usato un duplicatore di memory card per copiare le immagini. Tutte le carte hanno lo stesso contenuto.
Quando monto la seconda partizione di due schede SD e confronto il contenuto, sono esattamente gli stessi.
$ sudo mount -o ro /dev/sdg2 /mnt/system-a/
$ sudo mount -o ro /dev/sdj2 /mnt/system-b/
$ diff -r --no-derefence /mnt/system-a /mnt/system-b/
$ # prints nothing^
Tuttavia, se confronto lo sha1sum delle partizioni, a volte differiscono
$ sudo dd if=/dev/sdg2 | sha1sum
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB) copied, 12.3448 s, 43.5 MB/s
ee7a16a8d7262ccc6a2e6974e8026f78df445e72 -
$ sudo dd if=/dev/sdj2 | sha1sum
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB) copied, 12.6412 s, 42.5 MB/s
4bb6e3e5f3e47dc6cedc6cf8ed327ca2ca7cd7c4 -
Straniero, se metto a confronto queste due unità usando uno strumento diffing binario simile radiff2
, vedo quanto segue
$ sudo dd if=/dev/sdg2 of=sdg2.img
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB) copied, 12.2378 s, 43.9 MB/s
$ sudo dd if=/dev/sdj2 of=sdj2.img
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB) copied, 12.2315 s, 43.9 MB/s
$ radiff2 -c sdg2.img sdj2.img
767368
767368 modifiche, anche se diff
non ci sono state differenze nel contenuto!
E per sanità mentale, se confronto due partizioni che avevano lo stesso sha1sum, vedo quanto segue
$ radiff2 -c sdj2.img sdf2.img
0
0 modifiche!
Ecco una ripartizione dei diversi sha1sum che vedo da diverse carte. Sembra che il produttore della scheda abbia un grande impatto su ciò che ottengo quando uso dd per leggere l'unità.
Nonostante le differenze in sha1sums, tutte queste carte funzionano per i miei scopi. Tuttavia, sta rendendo difficile il controllo dell'integrità perché non riesco a confrontare sha1sums.
Come è possibile che due partizioni di schede SD possano avere sha1sums diversi, ma avere lo stesso identico contenuto quando montate?
Risposta: Quindi ora funziona come previsto. Per chiarire le cose, l'incoerenza è stata causata dal duplicatore SySTOR che stavo usando. L'impostazione di copia che avevo usato utilizzava informazioni e file di partizione copiati, ma non era necessario dd i bit per assicurarsi che ci fosse una corrispondenza uno a uno.