这难道是SD卡悲剧了吗?

大概过程:

TF卡经过一个半高转接头(网上专门为树梅派设计的)转成SD卡的标准,插在我的派上面,我的派主要负责BT下载和Samba共享。旁边放了老吕的派,然后用于调试AML8726-MX。由于要接UART线,从我的派上面拔下三根,估计就这时候TF卡受到震动导致悲剧了。

当时显示的应该是mmcblkp2读写错误,系统重新挂载成只读方式。我ssh表示链接不了,但可以登陆transmission的远端管理,停止所有任务的时候HDMI显示错误信息是无法写入(废话,已经自动重新挂只读了)

然后我断电重起,结果就悲剧了,错误代码是0x2400900.

最开始是读卡器接入,因为Ubuntu我放东芝卡上了然后还得启动系统,只能外接读卡器来读数据,读了大概2.3G报IO错误……

后来想到我还有个移动硬盘的F17,把东芝的卡替换下来,这样就可以用Surface自带的读卡器了……用dd读取,然后dmesg看错误,如下:

[  323.892373] sd 8:0:0:0: [sdb] Unhandled sense code
[  323.892384] sd 8:0:0:0: [sdb]  
[  323.892388] Result: hostbyte=DID_ERROR driverbyte=DRIVER_SENSE
[  323.892393] sd 8:0:0:0: [sdb]  
[  323.892396] Sense Key : Hardware Error [current]
[  323.892404] sd 8:0:0:0: [sdb]  
[  323.892407] Add. Sense: No additional sense information
[  323.892412] sd 8:0:0:0: [sdb] CDB:
[  323.892414] Read(10): 28 00 00 41 e0 d0 00 00 10 00
[  323.892431] end_request: I/O error, dev sdb, sector 4317392
[  323.892439] Buffer I/O error on device sdb, logical block 539674
[  323.892454] Buffer I/O error on device sdb, logical block 539675
[  375.733171] sd 8:0:0:0: [sdb] Unhandled sense code
[  375.733181] sd 8:0:0:0: [sdb]  
[  375.733186] Result: hostbyte=DID_ERROR driverbyte=DRIVER_SENSE
[  375.733190] sd 8:0:0:0: [sdb]  
[  375.733193] Sense Key : Hardware Error [current]
[  375.733200] sd 8:0:0:0: [sdb]  
[  375.733204] Add. Sense: No additional sense information
[  375.733209] sd 8:0:0:0: [sdb] CDB:
[  375.733211] Read(10): 28 00 00 52 3d e0 00 00 f0 00
[  375.733227] end_request: I/O error, dev sdb, sector 5389792
[  375.733235] Buffer I/O error on device sdb, logical block 673724
[  375.733249] Buffer I/O error on device sdb, logical block 673725
[  375.733253] Buffer I/O error on device sdb, logical block 673726
[  375.733256] Buffer I/O error on device sdb, logical block 673727
[  375.733260] Buffer I/O error on device sdb, logical block 673728
[  375.733264] Buffer I/O error on device sdb, logical block 673729
[  375.733268] Buffer I/O error on device sdb, logical block 673730
[  375.733272] Buffer I/O error on device sdb, logical block 673731
[  375.733276] Buffer I/O error on device sdb, logical block 673732
[  375.733280] Buffer I/O error on device sdb, logical block 673733
[  398.032508] sd 8:0:0:0: [sdb] Unhandled sense code
[  398.032513] sd 8:0:0:0: [sdb]  
[  398.032515] Result: hostbyte=DID_ERROR driverbyte=DRIVER_SENSE
[  398.032517] sd 8:0:0:0: [sdb]  
[  398.032519] Sense Key : Hardware Error [current]
[  398.032522] sd 8:0:0:0: [sdb]  
[  398.032524] Add. Sense: No additional sense information
[  398.032526] sd 8:0:0:0: [sdb] CDB:
[  398.032527] Read(10): 28 00 00 52 3e c0 00 00 08 00
[  398.032534] end_request: I/O error, dev sdb, sector 5390016
[  398.032537] quiet_error: 20 callbacks suppressed
[  398.032539] Buffer I/O error on device sdb, logical block 673752

323秒的那个似乎dd停了一下然后就继续了,但是后面的就疯狂出错了,直到398秒dd说:dd: 正在读入"/dev/sdb": 输入/输出错误

记录了5390016+0 的读入
记录了5390016+0 的写出
2.57GB 0:02:54

话说这卡似乎当时BBS上看到的,觉得便宜就买了(16G40还是50元),唉。。。。

年前SD也有一次启动不了,但是重起一下就行了。当时买这个microSD卡是因为觉得之前的SD卡出现IO错误,怕SD卡出问题。自从老吕的派在我这之后最近一个月才上线,一直用的是这个老SD卡,没有任何问题……反倒新TF卡悲剧了

20140619-23:29

用badblocks发现坏块:

 badblocks /dev/sdb -v
正在检查从 0 到 15634431的块
Checking for bad blocks (read-only test):
2695008
2695009
2695010
2695011
done                                                 
Pass completed, 4 bad blocks found. (4/0/0 errors)

下一步是如何修复?比如我能不能影射为其他的?或者干脆我不要这些数据了

完了,我原来的SD卡树梅派也挂载成只读了…………哭

赶快定了一个8G的TF,16G对我来说太多了,其实8G也略多阿,但现在没有卖4G的卡了吧。也想把派的系统放到移动硬盘上,但是鉴于之前移动硬盘出错过,而且想着不要移动硬盘也能跑,所以还是得要卡……

PS:今天刚搞好aml8726的天猫盒子,刷的是REF18MX2_NEWMTD的那个MXLINUX,但USB不管用阿,遥控必然不管用,只能UART操控了……

原文地址:https://www.cnblogs.com/DaochenShi/p/3798276.html