有没有一个有效的办法检测U盘是否真的为扩容盘?这个问题似乎成了个死结。不过扩容盘本质就是“显示容量高于实际容量”,当存储数据大于实际容量,必然导致超容量文件无法完整存入,文件指纹(哈希值)必然发生变化。基于这一本质,我就是用最原始的方法——文件拷贝,对U盘进行测试。
这个U盘的USB口为黑色,目前的设备大多为USB 2.0的接口,约5.88 MB/s,速度如此感人,倒也不算异常。
经历了漫长的复制过程后,突然发现平稳的复制速度异常升高了。于是我猜测可能是文件并未“真正复制”导致的复制速度虚高。于是暂停了复制。
对已经完成的文件进行哈希值校验。第4个文件与原文件相同,但从第5个文件起,文件的哈希值就与原始文件不一致了。
而且,第六个文件起,就无法正常打开了。
为了排除复制以外造成的干扰,将未完成的复制取消,并删除已复制的文件重新进行复制,将此方式的实验进行了三次。而三次结果均一致,仅前4个文件复制成功(哈希值正确)。因此,可以基本判断,此U盘就是扩容盘。
不过我还是想了解U盘具体的容量。于是,我保留了复制成功的4个大文件,删除了复制异常的文件。同时,又找了一大堆带有数字签名的软件安装包,体积在1MB~200MB之间不等。通过填充软件安装包文件,对比签名完整性与文件哈希值正确性——复制正确的文件保留,复制错误的文件删除,并调整下一个复制文件体积大小,进而逐渐接近真实的U盘容量,最终,正确复制文件定格在14.9 GB附近。因此,U盘大体相当于16 GB的U盘容量。考虑到16 GB的U盘正常市场价格,买这个U盘的确略有一些不值。
至此,这一次的扩容U盘鉴定艰难地告一段落。还是那句老话“天上不会掉馅饼”,贪小便宜,必然会吃亏。
至于这个扩容U盘,基本没有使用价值了,扔了又可惜。于是,我把它做成了钥匙挂链使用。同时,赠品U盘挂链、OTG转换口倒是可以使用,也算是没白花钱。