У меня есть SD-карта объемом 2 ГБ, которую я подключаю к компьютеру через USB-адаптер без выключателя. Сначала SD-карта была не отформатирована, поэтому я дал ей таблицу разделов msdos и общий раздел FAT32.

Я использую SD-карту в квадрокоптере, в котором хранятся фотографии и видео, и когда я снова открывал ее на своем компьютере, я мог видеть файлы, но на карте была ошибка ввода / вывода. Поэтому я продолжаю форматировать его снова, после того, как все остальное терпит неудачу, и затем я не могу это сделать. (Я не помню какой-либо конкретной ошибки для этого конкретного действия).

Затем я пытаюсь использовать dd if=/dev/zero of=/dev/sdb , чтобы посмотреть, будет ли он форматироваться сейчас. Я пытаюсь снова отформатировать его (используя GParted в Linux) и перед записью на карту вижу, что SD-карта пуста, без таблицы разделов. Я пытаюсь создать таблицу разделов msdos, но SD-карта, кажется, не принимает записи от GParted. Каждый раз, когда я сканирую его, GParted читает пустой блок.

Я пытаюсь прочитать разделы карты с помощью fdisk и parted, и оба успешно читают таблицу разделов msdos; fdisk обнаруживает раздел с файловой системой FAT32 с правильным размером, parted определяет только размер раздела.

С этого момента каждая попытка что-либо записать на SD-карту не удалась. Об ошибках не сообщается, но каждый раз, когда я читаю SD-карту с помощью fdisk или parted, результаты совпадают.

Я пробовал такие команды, как

  • 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

Эта карта новая. Единственные записи сделаны там, где я упомянул здесь, поэтому мне трудно поверить, что карта повреждена. Что я могу сделать, чтобы это исправить?

0