Linux下挂载SD卡的正确方法

Linux下挂载SD卡的正确方法

我在使用 SD 卡作为卷安装摄像机时遇到问题。看来是sdcard的问题,能修复吗?我已经在Windows系统中重新格式化了SD卡,但这并没有解决问题,一切都保持不变。

#lsubs:Bus 001 Device 011: ID 0603:8611 Novatek Microelectronics Corp.   
# lsblk
NAME                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

sdb                           8:16   1  29.8G  0 disk 
└─sdb1                        8:17   1  29.8G  0 part 
sr0                          11:0    1  1024M  0 rom  
# mount /dev/sdb /mountpoint
mount: /dev/sdb: can't read superblock
    #dmesg:
[  393.331415] sd 2:0:0:0: [sdb]  Sense Key : Medium Error [current] 
[  393.331428] sd 2:0:0:0: [sdb]  Add. Sense: Unrecovered read error
[  393.331443] sd 2:0:0:0: [sdb] CDB: Read(10): 28 00 00 00 00 02 00 00 02 00
[  393.331470] end_request: critical target error, dev sdb, sector 2
[  393.331497] EXT4-fs (sdb): unable to read superblock
[  393.338515] sd 2:0:0:0: [sdb] Unhandled sense code
[  393.338525] sd 2:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[  393.338538] sd 2:0:0:0: [sdb]  Sense Key : Medium Error [current] 
[  393.338551] sd 2:0:0:0: [sdb]  Add. Sense: Unrecovered read error
[  393.338565] sd 2:0:0:0: [sdb] CDB: Read(10): 28 00 00 00 00 40 00 00 02 00
[  393.338593] end_request: critical target error, dev sdb, sector 64
[  393.338621] isofs_fill_super: bread failed, dev=sdb, iso_blknum=16, block=32
[  393.346514] sd 2:0:0:0: [sdb] Unhandled sense code
[  393.346524] sd 2:0:0:0: [sdb]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[  393.346537] sd 2:0:0:0: [sdb]  Sense Key : Medium Error [current] 
[  393.346550] sd 2:0:0:0: [sdb]  Add. Sense: Unrecovered read error
[  393.346564] sd 2:0:0:0: [sdb] CDB: Read(10): 28 00 00 00 00 00 00 00 01 00
[  393.346592] end_request: critical target error, dev sdb, sector 0
[  393.346619] FAT-fs (sdb): unable to read boot sector

答案1

中等错误意味着无法获取原始扇区数据 - 它位于比文件系统甚至磁盘分区更低的层。如果 Windows 可以使用此卡,但 Linux 不能使用,则意味着 Linux 错误地检测到访问它所需的协议。设备经常错误报告所需的协议,因此使用特殊的怪异表来修复报告的数据。您应该请 Linux 内核黑客帮助解决此类问题(所以这个答案肯定不是最终的)。

相关内容