Tôi có một loạt thẻ SD UHS-1 SDHC Class 10 từ các nhà sản xuất khác nhau. Tất cả đều được phân vùng như sau
$ 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
Tôi đã sử dụng một trình sao chép thẻ nhớ để sao chép hình ảnh. Tất cả các thẻ có cùng một nội dung.
Khi tôi gắn phân vùng thứ hai của bất kỳ hai thẻ SD nào và so sánh nội dung, chúng hoàn toàn giống nhau.
$ 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^
Tuy nhiên, nếu tôi so sánh sha1sum của các phân vùng, đôi khi chúng khác nhau
$ 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 -
Thật lạ, nếu tôi so sánh hai ổ đĩa này bằng cách sử dụng một công cụ phân biệt nhị phân như thế nào radiff2
, tôi sẽ thấy như sau
$ 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 thay đổi, mặc dù diff
không thấy bất kỳ sự khác biệt nào trong nội dung!
Và để tỉnh táo, nếu tôi so sánh hai phân vùng có cùng sha1sum, tôi thấy như sau
$ radiff2 -c sdj2.img sdf2.img
0
0 thay đổi!
Đây là bảng phân tích các sha1sums khác nhau mà tôi thấy từ các thẻ khác nhau. Có vẻ như nhà sản xuất thẻ có ảnh hưởng lớn đến những gì sha1sum tôi nhận được khi tôi sử dụng dd để đọc ổ đĩa.
Mặc dù có sự khác biệt về sha1sums, tất cả các thẻ này hoạt động cho mục đích của tôi. Tuy nhiên, việc kiểm tra tích hợp trở nên khó khăn vì tôi không thể so sánh sha1sums.
Làm thế nào có thể hai phân vùng thẻ SD có thể có sha1sums khác nhau, nhưng có cùng một nội dung khi được gắn?
Trả lời: Vì vậy, bây giờ nó hoạt động như mong đợi. Để làm rõ mọi thứ, sự không nhất quán được gây ra bởi trình sao chép SySTOR mà tôi đang sử dụng. Cài đặt sao chép tôi đã sử dụng nó sử dụng thông tin phân vùng và tệp đã sao chép, nhưng nó không cần thiết các bit để đảm bảo có sự trùng khớp một-một.