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