SD 卡写入无效

SD 卡写入无效

我有一张 2 GB 的 SD 卡,通过无开关 USB 适配器将其插入计算机。起初,SD 卡未格式化,因此我为其提供了一个 msdos 分区表和一个总 FAT32 分区。

我在四轴飞行器中使用 SD 卡,里面存储着图片和视频,当我在电脑上再次打开它时,我可以看到文件,但卡中存在输入/输出错误。所以我继续再次格式化它,在所有其他方法都失败之后,我却无法这样做。(我不记得这个特定操作有任何特定的错误)。

然后我尝试dd if=/dev/zero of=/dev/sdb一下,看看现在是否可以格式化。我尝试再次格式化它(使用分区在 Linux 中),在写入卡之前,我发现 SD 卡是空的,没有分区表。我尝试创建一个 msdos 分区表,但 SD 卡似乎不接受 GParted 的写入。每次我扫描它时,GParted 都会读取一个空块。

我尝试使用以下方法读取卡的分区磁盘管理分开,并且都成功读取了 msdos 分区表;fdisk 检测到具有正确大小的 FAT32 文件系统的分区,而 parted 仅检测到分区的大小。

从此以后,每次尝试将任何内容写入 SD 卡都会失败。没有报告任何错误,但每次我用 fdisk 或 parted 读取 SD 卡时,结果都是一样的。

我尝试过如下命令

  • dd if=/dev/zero of=/dev/sdb bs=512 count=1
  • dd if=/dev/zero of=/dev/sdb bs=1M count=1
  • dd if=/dev/zero of=/dev/sdb
  • dd if=/dev/zero of=/dev/sdb1
  • dd if=/dev/urandom of=/dev/sdb
  • dd if=/dev/urandom of=/dev/sdb1

但仍然没有任何变化。这个简短的测试验证了卡正在使写入无效,我认为:

> $ sudo dd if=/dev/sdb of=/tmp/sdout0 bs=512 count=1                                                                             
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0,00201869 s, 254 kB/s

> $ sudo dd if=/dev/urandom of=/dev/sdb bs=512 count=1                                                                            
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0,0119276 s, 42,9 kB/s

> $ sudo dd if=/dev/sdb of=/tmp/sdout1 bs=512 count=1                                                                             
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0,00187789 s, 273 kB/s

> $ diff -s /tmp/sdout0 /tmp/sdout1
Files /tmp/sdout0 and /tmp/sdout1 are identical

我所得到的dmesg

[  733.852106] usb 2-3: new high-speed USB device number 6 using ehci-pci
[  733.985255] usb 2-3: New USB device found, idVendor=aaaa, idProduct=8816
[  733.985267] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  733.985275] usb 2-3: Product: MXT USB Device
[  733.985282] usb 2-3: Manufacturer: MXTronics
[  733.985288] usb 2-3: SerialNumber: 130818v01
[  733.986147] usb-storage 2-3:1.0: USB Mass Storage device detected
[  733.986663] scsi9 : usb-storage 2-3:1.0
[  734.984738] scsi 9:0:0:0: Direct-Access     MXT-USB  Storage Device   1308 PQ: 0 ANSI: 0 CCS
[  734.985124] sd 9:0:0:0: Attached scsi generic sg2 type 0
[  734.991101] sd 9:0:0:0: [sdb] 3934208 512-byte logical blocks: (2.01 GB/1.87 GiB)
[  734.991829] sd 9:0:0:0: [sdb] Write Protect is off
[  734.991839] sd 9:0:0:0: [sdb] Mode Sense: 03 00 00 00
[  734.992438] sd 9:0:0:0: [sdb] No Caching mode page found
[  734.992443] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[  734.997992]  sdb: sdb1
[  735.000956] sd 9:0:0:0: [sdb] Attached SCSI removable disk

这张卡是新的。唯一对其进行的写入就是我在此处提到的那些,因此我很难相信这张卡已损坏。我能做些什么来修复它吗?

相关内容