最近用U盘测试Linux内核编译,不知道是VirtualBox出了问题还是频繁操作U盘导致我的2G盘变为只读的了,不管在windows还是Linux上都无法格式化,提示“U盘被写保护”或者“U disk只读”。可以肯定的是我的U盘没有写保护开关,不属于那种高大上的品种。那是什么原因?用fsck检查,确是存在坏块,但是由于read-only,所以无法修复,用 "hdparm -r0 /dev/sdc1" 关掉只读属性,没有用,尝试在windows上修改注册表,用diskpart关闭只读属性也不行,我猜测还是由于内部存储出问题了,才导致现在这种情况,而且在用-o rw属性挂载后,删除U盘上的vmlinuz文件闪出一堆的I/O error,肯定是芯片内部出问题了。有什么工具能重新刷新芯片信息呢-- 有,量产工具,我是从goole上发现这DD的,本着死马当活马医的态度,我决定试一下,没想到还真给救回来了,U盘又可以正常为我工作。为了纪念这个“伟大”的胜利,截几张图做个:
1.找到自己的U盘芯片生产商信息。可以使用diskgenius工具,或者直接在设备管理器-通用串行总线-设备详细信息的硬件信息中找到Vid和Pid,通过goole就能找到这个id是哪个厂家的。奇怪的是我的U盘在恢复以前显示的Vid_0011&Pid_7788&Rev_0107,恢复之后就显示如下截图Vid_058F Pid_6387了。
2.找到对应厂家的量产工具。这一步要借助google搜索,关键字就选择已经检测到的开发商信息,例如"Vid 058F Pid 6387"或者"Alcor Micro",在搜索结果里仔细的找找,应该会有发现。我下载的是AlcorMP(130205.MD),解压后可以看到有几个exe文件,本例运行其中的AlcorAutoMP.exe,提示如下:
要求重新拔插一下UFD DEVICE,将U盘重新插拔一次,正常情况下应该进入第3步
3.续上,成功检测到的U盘设备会显示在软件界面(显示蓝色部分),此时只需点击开始,就会进行sorting,坏块检查和格式化。一切都是自动执行的,只需要等待其完成,如果没有错误出现,那么U盘就应该是被救回来了