J'ai un tas de cartes SD SDHC UHS-1 de classe 10 de différents fabricants. Ils sont tous partitionnés comme suit
$ 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
J'ai utilisé un duplicateur de carte mémoire pour copier les images. Toutes les cartes ont le même contenu.
Lorsque je monte la deuxième partition de deux cartes SD et compare le contenu, elles sont exactement les mêmes.
$ 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^
Cependant, si je compare le sha1sum des partitions, elles diffèrent parfois
$ 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 -
Plus étrange, si je compare ces deux disques à l'aide d'un outil de comparaison binaire comme radiff2
, je vois ce qui suit
$ 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 changements, même si diff
aucune différence n'a été constatée dans le contenu!
Et pour raison, si je compare deux partitions qui avaient le même sha1sum, je vois ce qui suit
$ radiff2 -c sdj2.img sdf2.img
0
0 changements!
Voici une ventilation des différents sha1sums que je vois sur différentes cartes. Il semble que le fabricant de la carte ait une grande influence sur le montant que je reçois lorsque j'utilise dd pour lire le lecteur.
Malgré les différences de sha1sums, toutes ces cartes fonctionnent pour mes besoins. Cependant, cela rend la vérification d'intégrité difficile car je ne peux pas comparer les sha1sums.
Comment est-il possible que deux partitions de carte SD puissent avoir des sha1sums différents, mais avoir exactement le même contenu une fois montées?
Réponse: Alors maintenant, cela fonctionne comme prévu. Pour clarifier les choses, l'incohérence a été causée par le duplicateur SySTOR que j'utilisais. Le paramètre de copie que je lui ai fait utiliser des informations et des fichiers de partition copiés, mais il n'a pas fallu dd les bits pour s'assurer qu'il y avait une correspondance un à un.