比尔盖子 博客

Category: 完全解读

U盘缩水?不存在的事实!

最近,中国消费者协会的一篇文章指出:

北京市消协4日公布USB闪存盘比较试验结果。结果显示,消费者经常使用的金士顿、索尼等30种USB闪存盘普遍存在虚标容量问题,所有样品均未达到产品包装明示的容量,同时USB闪存盘产品的性能差异大,拷贝速度快慢差距悬殊。据北京市消协介绍,本次比较试验的样品由北京市消费者协会工作人员以普通消费者身份随机购买。样品来源涵盖北京市电器商场、超市、电子市场以及网络购物渠道,样品涉及30家企业生产或经销的标示存储容量为8GB和16GB的USB闪存盘产品。

北京市消协比较试验表明,在30个样品中,所有样品标称容量均与实际可使用容量不符,大部分样品的可使用容量在标称容量的93%以下。且企业未在产品包装或说明书中明示可使用容量,剥夺了消费者的知情权,消费者无法根据标称确定实际可使用的容量。
URL:http://tech.sina.com.cn/it/2012-01-05/01096600702.shtml

 

此新闻公布后,U盘厂商遭到大量消费者的声讨,声称U盘厂商没有道德,误导消费者。但是,事实真是如此吗?让我们通过一系列实例来揭开U盘容量之谜。

词头

国际单位制词头

在十进制,也就是日常生活中与一般的数学领域中,使用国际单位制词头来表示单位的倍数和分数。目前有20个词头。大多数是千的倍数或分数,也就是1000(103)。简单地说,国际单位制词头就是数字的简便写法。

比如说:我月薪1k元和我月薪1M元。首先,1k元读作1 kilo元;1M的读作1 Mega元,分别表示月薪1000元和月薪1000000元。

国际单位制词头由国际度量衡大会管理。每4-6年,都会与50多个成员国代表开会讨论有关问题。

二进制乘数词头

混淆的版本

而在二进制领域,有一套完全不同的计数标准,叫做二进制乘数词头。它采用2的乘幂而不是用10的乘幂。所有乘数词头都是1024(210)相乘而不是在国际单位制词头采用的1000(103)。

二进制乘数词头与国际单位制词头的读法与写法完全相同,
比如说,二进制中的1k表示1024而不是1000;1M表示1048576(1024×1024)而不是1000000(1000×1000)。就是由于这点,因此经常出现“是1000呢?还是1024?”的严重混淆,只能通过上下文来推断出其含义。

规范的版本(IEC版)

为了防止混淆,1999年,国际电工委员会(IEC)公布了新的二进制乘数词头版本,在这一版本中,二进制乘数词头与国际单位制词头的读法与写法开始不同。在二进制中1k、1M混淆的说法,变成了1Ki、1Mi,读法也变成了1 kibi、1 mebi,而不是1 kilo;1 Mega。

欧盟和美国电气电子工程师协会(IEEE)都使用此标准作为官方标准。

度量

在计算机中,容量的最小单位是比特(bit)。但是由于bit是在太小,甚至一个英文字母(最简单的一份数据)要用掉8bit的空间,汉字更甚,要用16bit的空间。如果用这个单位来表示文件大小,实在不便。由于保存一份最简单的数据要用8bit,那好,那就定义一种新的单位吧:Byte。一Byte就等于8bit——一份最简单的信息所占的空间,而且可以缩写成b。但是byte也实在太小,因此总得有更高级的单位吧!

怎么办呢?凭空创造新的单位实在是难以让人接受。有了!把它与国际单位制词头结合在起来是个不错的主意。组合之后,就有了1kb、1MB这样的组合,分别代表1000byes和1000000bytes(为什么多了个s?英文复数要加s哦)。

但是这样做,后来出现的软件工程师们不干了!你是把byte和十进制的词头组合到一起的,但是对于软件使用的是二进制啊!难道我们天天做换算不成??!!不可能啊!因此,人们就又将二进制乘数词头和byte组合而成,又成了新的1kb、1MB这样的组合,分别代表1024byes和1048576bytes。

使用

好了,现在两种组合方式总算定出来了?什么情况下用十进制版本,什么情况下用二进制版本呢?由于大部分生产硬件的,都是在和电路板、电子管、晶体管这样的看得见的电子设备打交道,这些电子设备的容量、速度原则上不能使用二进制度量,因此使用的也就是十进制的版本;但是做软件的,成天和什么十六进制、八进制、二进制打交道,而且软件中的容量原则上也不能使用十进制度量,因此自然使用二进制版本。

而这些硬件、软件在出售时,自然也使用各自的两套标准。因为这时候IEC的规范标准离出台还远着呢?十进制和二进制的写法读法根本没区别,如果你不研究研究,谁也不知道你用的是哪个标准。

什么硬件可以用二进制度量,什么硬件可以用十进制度量?

1.硬盘只能用十进制度量,因为硬盘的最小物理单位为512bytes,最小的组成单位为扇区(sector), 通常硬盘容量的计算采用“多少个sector”,所以才会使用十进制来处理。这种十进制度量的方式历史悠久,世界上第一块硬盘就是用的是这种度量方式,那时候,国际单位制词头甚至还不存在!

2.闪存盘,同时包括各种储存卡、手机内部储存、固态硬盘与固态储存器,都是用十进制度量。虽然是这样,但是由于它们的性质,十进制容量一般是2的倍数。

3.CD、DVD的度量方法不同,CD使用二进制度量,而DVD使用十进制度量,可能有什么鲜为人知的原因才会这样。

4.内存条、各种储存芯片,例如ROM、RAM,包括BIOS芯片等,只能使用二进制度量,因为它们天生就用这种计算方法。你买的512MB内存,电脑肯定会照样这么显示,永远不会“缩水”。

5.网速用十进制表示。但是,虽然网速都用十进制表示,却还有两种形式:第一种形式是几kb一秒,比如:100kb/秒、1MB/秒,下载文件时通常用这种方式来表示速度。

但是第二种形式就玄乎了,首先它居然是用前面提到的,计算机中最小的单位bit来计算,而不是用Byte(b)来计算。而且,它还使用十进制来计算,把bit和国际单位制词头又结合在一起。看来,除了有将国际单位制词头和byte结合在起来;将二进制乘数词头和byte组合,还有把bit和国际单位制词头又结合在一起。

乖乖,正如我前面所说的,8bit才等于1byte。因此,换算成以byte计算的速度,需要除以8。如果“我家是8M宽带”,那么下载速度就是8M÷8=1M/秒。如果“我家是1M宽带”,那么下载速度只有500k/秒。

系统怎么办?

不管能不能用二进制来度量,操作系统在多数情况下都会一律将它显示成二进制的形式,因为它是软件嘛,善于用二进制。例如说:8GB U盘改用二进制度量就变成了7GB多一些;1TB硬盘变成了约900GB;但是内存由于是二进制买的是多少还是多少。而网速呢?其实网速计算一般只用玄乎的第二种,第一种也是操作系统显示出来的。而Linux和Mac OS X有时则会使用十进制的度量法。

6.U盘到底能用多少空间?

2GB的U盘,能够使用的容量究竟有多少?由于U盘使用的是十进制的计算方式,操作系统愣是把它转换成了二进制,就已将有一些损失了,再加上格式化之后(不格式化怎么用),文件系统本身也要占用一些空间,包括扇区大小等都会影响其可用容量。因此,2GB U盘最终能使用的容量就只有约1.8GB左右了。

因此,消协的“U盘缩水”完全不是欺骗消费者。

320GB硬盘摇身变成128GB(160GB)——硬盘造假防不胜防

准备升级硬盘

前几天给朋友的旧电脑升级,这台电脑的配置还算经典:联想,P4平台,80GB 的老旧IDE硬盘,读写缓存甚至只有2M,而且也有了一些坏道。实在是性能的瓶颈,便准备换一块320GB的硬盘。

装机城暗藏玄机

来到了装机城,商家说这台电脑如何如何落后,很显然是推销电脑。比尔盖子便回答:P4平台很经典了,Linux也不过P3就能流畅运行了,实在不行不是还可以做文件服务器吗?商家舌战中惨败,盖子总算是阻止了水平低下的奸商继续忽悠,商家拿了一块在库存中的IDE硬盘,320GB,型号是希捷ST3320620AV。更换完以后,没让坑人的商家分区、装系统,只用BIOS开机查看了一下硬盘信息:320GB,没有问题。

320GB变成160GB,新硬盘变成旧硬盘

回到家装系统的时候,蹊跷的事情出现了:分区软件中只显示硬盘有130GB的可用空间,难道这是一块160GB的硬盘?但是BIOS却能看到320GB,真是怪哉。装完系统,立即使用了Everest检测硬盘:同样是320GB,没问题。

被欺骗的Everest

被欺骗的Everest

看来Everest是不可靠了,便下载了HD-Tune。这下子可把比尔盖子惊呆了,HD-Tune居然显示硬盘容量为137.4GB,实际容量为128GB。天啊,这世界上还有128GB的硬盘?

硬盘的信息

硬盘的信息

接下来的事情更是吓坏了比尔盖子,通过检查SMART状态,发现这块硬盘虽然没有警告状态,但是这块硬盘马达已经启动/停止累计394次,通电总计2万多个小时!赶紧检查一下坏道吧!还好没有什么质量问题。

硬盘SMART信息

还好没有质量问题

还好没有质量问题

再测试一下读写性能吧,看来是标准的IDE硬盘性能了。但是读写性能总是下滑,大概是硬盘太破了。好歹这块硬盘没有坏道,性能也比之前的强得多,凑合着用吧!

硬盘读写性能

硬盘读写性能

刷新硬盘固件造假

两个案例

比尔盖子通过在网上查询,发现了以下两个硬盘造假案例:

案例一:

先看这样一个网友的经历(摘自ZOL论坛,2011年3月),他采用了一些技术手段来证明自己买到的西部数据黑盘是由绿盘改造而来的:

如今网络淘宝上的东西都很便宜,而我呢也属于网购一族,喜欢在淘宝上淘点宝贝,今天我就把我受骗的经历告诉大家,希望大家以后以此为戒,起初我以为我买到了一个很便宜很好的西数黑盘,没想到!哎……大家看看下文我是如何检测出来的造假黑盘吧!后来才知道他们是用“砍头后通过固件模块修改LBA值”来造假的!

有时在对故障硬盘进行砍头操作后其LBA值无变化,且通过参数修改功能也无法修改LBA值,针对这种情况就可以使用修改模块的方法来修改硬盘LBA值。下面以西数黑盘为例讲解具体的操作方法,其MDL为WD800BB-00JHC0、SN号为WMAM9H587436、固件版本号为05.01C05、LBA值为156301488。

(1)将故障硬盘与维修终端、电脑连接好后,启动效率源西数专修程序,待硬盘状态就绪后选中”黑盘一代”单选按钮,单击”从硬盘装入”按钮装入硬盘资源,如图1所示。

祸源不断让人崩溃 网购硬盘麻烦不少

装入硬盘

(2)切换到”固件写入”工作界面,双击02号参数模块,打开”模块编辑”对话框,如图2所示。

祸源不断让人崩溃 网购硬盘麻烦不少

查看固件模块

知识提示:41号模块位于31号磁道,它是一个非常重要的固件,定义了所有固件的存放方式和位置,一旦被破坏,硬盘内所有的固件都不能正常工作。

(3)找到对应的LBA代码位置,一般是在SN号后面,4组连续重复的代码,如图3所示,可以看到AFF85009 出现了4次,这4组数字即是LBA值代码,由于现在还没对原代码进行操作,这里的AFF85009表示的LBA值即为硬盘原容量80G的LBA值156301488。

祸源不断让人崩溃 网购硬盘麻烦不少

查看LBA值代码

(4)因为原盘为2头,砍头后的容量应相应减少一半,即40G容量,LBA值为78165360,转换为16进制为4A8B570,十六进制表示的是低位在前高位在后的倒序,按正常表示应该为:70 B5 A8 04, 在”模块编辑”窗口中把原盘的AF F8 50 09 改成70 B5 A8 04后单击”写入”按钮,如图4所示。

祸源不断让人崩溃 网购硬盘麻烦不少

修改固件模块

(5)单击”写入成功”提示信息框中的”确定”按钮退出”模块编辑”窗口,切换到”固件检测”工作界面,选中”02 参数模块”复选框和”主”复选框,单击”检测并修复”按钮,如图5所示。

祸源不断让人崩溃 网购硬盘麻烦不少

检测并修复固件模块

(6)修复成功后将电源复位一次,重新装入硬盘,可以看到状态栏中的LBA值变为了40G的LBA值,如图6所示, LBA值修改成功,再对硬盘进行重建清零或者低格操作,修复坏道即可正常使用了。

祸源不断让人崩溃 网购硬盘麻烦不少

这样就是造假,淘宝有把1TB绿盘(WD10EARS)刷写成1TB黑盘(WD1002FAEX),请大家记住这样无德的卖家!也请大家谨慎购买网上的硬件设备!

编辑提示:这个网友通过查看16进制编码的方式找到产品漏洞。其实像这样的刷固件,改编号的造假方式并不少见,之前笔者曾为大家曝光过市场上存在的真假蓝盘的信息,造假者不仅更改了标签,还更改了里面的编号,而从实际测试来看,和老款的黑盘较为相似,虽然性能方面没有什么太大损失,但是在道德上同样可耻。

 

案例二:

我们再来看看另外一个网友遇到的问题(摘自GZ论坛,2010年12月),他同样描述了一个通过更改固件和编号造假的问题,本来想买块绿盘结果买到的是黑盘:

上周四下班的时候去中关村科贸自提了一块WD20EARS,购买价格588。买到后的第一反应是2010-6月生产的盘,够早的。另外就是包盘的密封静电袋手感感觉很薄,后来和另一块**买的西数盘的静电袋对比了一下发现这个静电袋子也不是原厂的(上面印着DY3660 Static Shielding Bag ,而原厂的袋子是印有Western Digital的)。回家后只上官网查了一下保修,显示到2013-6,没什么问题,也就暂时没上机测试。

祸源不断让人崩溃 网购硬盘麻烦不少

祸源不断让人崩溃 网购硬盘麻烦不少

今晚上机测了一下,发现几个问题

1.通电时间问题:此盘通电时间不是0,有28小时。通电周期也有5,C1值也不小。

祸源不断让人崩溃 网购硬盘麻烦不少

2. 型号问题

HDTune报告的型号是WD20EARS-22Y5B1。而盘面印着的是WD20EARS-00MVWB0。Hdtune报告的序列号也和盘面完全不符。
我上网搜了一下22Y5B1这个型号,发现他应该属于WD10EARS系列。而00MVWB0属于WD20EARS的667单碟系列。另外从此盘的外观看,有6个橡胶垫圈,而00MVWB0这个型号应该只有4个橡胶垫圈。

3.参数问题

HDTune报告的参数里面,转速居然是7200RPM,缓存却没有显示,扇区大小居然是512Byte。也和我之前**买的WD20EARS完全不同。

祸源不断让人崩溃 网购硬盘麻烦不少

4.性能问题

这个盘的平均读取有114MB/s,存取时间11.9,后面的IO测试也能看出来,明显不是绿盘能拥有的性能。

祸源不断让人崩溃 网购硬盘麻烦不少

可以看到固件就是01.00101

5.固件问题

固件版本显示01.00101,也不是WD20EARS的固件版本,网上搜了一下 WD2001FASS 有这个固件版本。看性能也符合WD2001FASS 的水平。所以难道这个盘是用WD2001FASS 刷成绿盘后再销售的?官方应该不会这么干,是商家做的吗?但这么做意图何在?为了清理旧盘吗?这个盘我感觉很蹊跷,大家也分析一下吧,周中我去找买入的柜台说说,看能不能给我换一个真正的绿盘。

编辑观点:这位网友遇到了和第一个网友差不多的问题,也是通过重新刷固件,重新贴标签的方法将旧产品当新产品来卖。这明显也是造假者的行为,非常可耻。以前希捷也同样出现过此类问题。所以请用户一定注意。

高智商造假?“问题”进货源?

什么!以前希捷也同样出现过此类问题?看来,商家应该是通过刷新固件来让主板BIOS将320GB硬盘识别成160GB硬盘,再重新贴标签来打造假硬盘的。但是,比尔盖子认为以这个装机城的水平不太可能做出这种事,这种硬盘,更可能是商家从一些乌七八糟的代理处进货然后去销售的,而硬盘造假也应该是那些乌七八糟的假硬盘代理商所为。

万能的发票单据

遇到这种情况,当然要找装机城退货了。但是,退不退货要出示发票单据,可比尔盖子仔细一看发票:

“IDE硬盘一块”
“三星内存一条”

这样的发票可以保证客户绝对无法退货,真是天才之发票啊!

一些建议

对于这种问题,我们这些极客也真的没有任何方法防范。比尔盖子只能建议大家,买新硬盘的时候不要进入BIOS看一下硬盘信息就完事了,一定要带一张Windows PE的光盘或者U盘,使用HD-Tune(目前的大多数Windows PE都集成了吧),如果发现硬盘信息不符,就坚决不要付款购买,以免上当受骗!

用虚拟机来解读《盗梦空间》

很多人奇怪为什么我会突然写这么一篇文章,“《盗梦空间》热”不是早过去了吗?那是因为我发现这个创意并不只是我一个人有,如果我不写的话,别人就要帮我写了。

《盗梦空间》算是2011年的神奇电影了,很多人看完都说这是给程序员看的,一层层的梦境就像函数的调用。不过我倒不同意梦境就相当于函数的调用,因为当函数嵌套在一起时,里面的会比外面的先运行,而梦境则是同时运行的。比尔盖子认为梦境更像是虚拟机,下面比尔盖子就和大家一起分析一下,并用虚拟机的思想来解决《盗梦空间》中的一些问题。

问题1:为什么人被造梦时难以发现自己在做梦?

这其实就是一个关于虚拟机的基本知识题。虚拟机,可以虚拟出一切电脑硬件(虽然有些是和真实电脑共享的):显卡、声卡、内存、硬盘、网卡、主板、USB控制器……所以说在虚拟机里的程序会像在真实电脑里的程序一样正常运行。

问题2:为什么有些人发现了自己是在做梦?“图腾”是怎么回事?

当人发现梦中有些情况与现实不符时,就会醒来。而在虚拟机里,这也是成立的,如果有程序不想再虚拟机里运行,它会检查CPU主频,如果发现虽然主频是2Ghz(假设),但是实际效率远远离这个数差远了,就会认为自己身处虚拟机。

另外,在《盗梦空间》中,造梦师都会有一个自己的“图腾”,因为梦中空间的有限性,“图腾”在梦中就会失去某种随机性,这样造梦师就可以知道自己在梦中了。在虚拟机中也是一样,VMtools(虚拟机使用辅助工具)就是“图腾”,它也是虚拟机的唯一标识。

问题3:多层梦境是怎么回事?

在《盗梦空间》中,有一些高级的造梦师可以制造多层梦境,这在虚拟机中也是完全可以的。既然虚拟机和电脑别无两样,在理论上我们完全可以在虚拟机里运行一台虚拟机,也可以在虚拟机的虚拟机里运行一台虚拟机,只要硬件性能合格。但是,在虚拟机中,虚拟机软件会检测到它身处虚拟机,于是就会禁止你安装和运行虚拟机软件(虚拟机用的方法是“问题2”的第一种方法)。但这是人为故意导致的结果,其实完全可以这么做。而且有人已经做到了:在VMware虚拟机中运行虚拟机

问题4:为什么在梦中的时间很慢?

这可以用虚拟机的性能下降来解释,当你运行一个虚拟机时,它的性能会比物理主机的性能出现一定程度的下降,这样虚拟机的运算能力也会下降。往往需要花比物理主机数倍的时间来完成一件事,也就是运行速度变慢了。让我们回到梦中也是一样,梦中的运行速度越慢,里面的时间就会越慢。

问题5:用音乐来同步各个梦境时间可行吗?

因为虚拟机是共用一个声卡的,所以这个是可行的(当然,你说你在一个虚拟机里听歌,其它虚拟机里不会有音量显示,这说明你把输入输出弄混了。在《盗梦空间》里,现实世界的人会给梦境里的人输入音乐,而不是让梦境里的人输出音乐)。我们可以来验证这个事实,让我们用麦克风说话,这时无论是物理主机、虚拟机、虚拟机中的虚拟机将都会有输入音量的指示,使用声卡的“输入”插口也能达到一样的效果。

这么一说,看来我们的虚拟机理论相当完美啊!

Copyright © 2023 比尔盖子 博客

Theme by Anders NorenUp ↑