不到2个月前,我订购了一个拇指驱动器(便宜一个)。我在它到达的那天使用它,我想在那之后的3天。dd
只需用badblocks检查它,然后将一个Linux映像加入其中。它从那时起坐在一个托盘上,没有碰过。
当我今天连接它时,我想首先检查其上的图像的完整性。没有检查,因为我在尝试从拇指驱动器读取时总是遇到输入/输出错误:
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
162+1 records in
162+1 records out
170524672 bytes (171 MB, 163 MiB) copied, 7.75699 s, 22.0 MB/s
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
74+1 records in
74+1 records out
78381056 bytes (78 MB, 75 MiB) copied, 3.81105 s, 20.6 MB/s
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
22+1 records in
22+1 records out
23461888 bytes (23 MB, 22 MiB) copied, 1.45307 s, 16.1 MB/s
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
41+0 records in
41+0 records out
42991616 bytes (43 MB, 41 MiB) copied, 2.30087 s, 18.7 MB/s
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
37+1 records in
37+1 records out
39321600 bytes (39 MB, 38 MiB) copied, 2.16684 s, 18.1 MB/s
奇怪的是它总是在不同的地方失败。我甚至设法读取超过300 MiB,我认为(16 GB拇指驱动器)(但我没有检查读数据是否正确)。
破了拇指驱动器。谁在乎呢,对吧?
然后我很好奇,想要在写作失败的时候看到,只是为了它的哎呀,然后扔掉它。奇怪的是:它没有。我只是dd
-ed /dev/zero
到它。在被这种行为感到惊讶之后,我dd
尽可能多地将1个MiB块从杆上拉回来并将它们输入sha256sum
。我不仅没有收到输入/输出错误,而且还使用sha256sum直接从/dev/zero
(使用相同数量的块)检出sha256sum 。
在被这种行为感到惊讶之后,我将它拔掉了3个小时并继续运行badblocks
:https://pastebin.com/y5SATDQq
我对这种行为感到非常惊讶。为什么是这样?
关于关闭投票:我运行这个它,它完成后,将编辑这个问题。这些天我认为伪造16 GB拇指驱动器在经济上是不可行的。我买了一个明显假的(据说128 GB或256 GB或类似的东西,但实在太便宜了)一次(用于试验),结果实际上是一个16 GB的拇指驱动器。此外,这个在亚马逊上有超过1,500的评论,平均有4星,满分5星。它由制造商自己出售(Intenso)。
编辑:
好的,这个失败了:https://pastebin.com/xZ5VRpf2
但我随后在拇指驱动器上创建了一个ext4文件系统并执行了此操作:https://pastebin.com/P1CCsDJT
pastebin paste包含关于我做了什么的评论。
它正确读取了一半以上的数据,因此不能成为假的拇指驱动器。事实上,只有一个1000 MiB块被破坏。它不能是一个假的拇指驱动器。