Mam kilka kart SD 10 SDHC klasy UHS-1 różnych producentów. Wszystkie są podzielone na partycje w następujący sposób
$ 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
Do skopiowania zdjęć użyłem powielacza kart pamięci . Wszystkie karty mają tę samą zawartość.
Kiedy montuję drugą partycję dowolnych dwóch kart SD i porównuję zawartość, są one dokładnie takie same.
$ 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^
Jeśli jednak porównam sumę partycji, czasem się różnią
$ 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 -
Dziwne, jeśli porównam te dwa dyski za pomocą narzędzia do różnicowania binarnego radiff2
, zobaczę następujące
$ 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 zmian, mimo że diff
nie widziałem żadnych różnic w treści!
Jeśli chodzi o zdrowie psychiczne, jeśli porównam dwie partycje, które miały takie same sumy, zobaczę, co następuje
$ radiff2 -c sdj2.img sdf2.img
0
0 zmian!
Oto podział różnych sum sha1, które widzę z różnych kart. Wygląda na to, że producent karty ma duży wpływ na to, co otrzymuję, gdy używam dd do odczytu dysku.
Pomimo różnic w sumach sha1, wszystkie te karty działają dla moich celów. Utrudnia to jednak sprawdzanie integralności, ponieważ nie mogę porównać sum sha1.
Jak to możliwe, że dwie partycje kart SD mogą mieć różne sumy sha1, a jednocześnie mieć dokładnie taką samą zawartość po zamontowaniu?
Odpowiedź: Więc teraz działa zgodnie z oczekiwaniami. Aby to wyjaśnić, niespójność została spowodowana przez używany przeze mnie duplikator SySTOR. W ustawieniach kopiowania użyłem skopiowanych informacji o partycjach i plikach, ale nie trzeba było dodawać bitów, aby upewnić się, że istnieje dopasowanie jeden do jednego.