Почему моя SD-карта читается только в камере, но не в компьютере?
Я не могу загрузить содержимое моей SD-карты, на которой полно фотографий, с камеры Nikon.
Когда я вставляю карту в камеру, я могу просматривать фотографии без проблем. Но когда я вставляю SD-карту в устройство чтения карт моего ноутбука IBM X40 или внешний USB-устройство чтения карт на другом компьютере, я получаю зашифрованное содержимое.
В проводнике Windows это выглядит так:
В Linux, когда я вставляю карту в картридер и делаю dmesg
Я получил:
[ 76.531535] mmc0: new SD card at address b368
[ 76.602280] mmcblk0: mmc0:b368 SDC 1.86 GiB
[ 76.606556] mmcblk0: p1
sudo cfdisk /dev/mmcblk0
дает мне раздел и некоторое пустое место:
cfdisk (util-linux 2.21.2)
Festplatte: /dev/mmcblk0
Größe: 2007498752 Bytes, 2007 MB
Köpfe: 28 Sektoren pro Spur: 27 Zylinder: 5186
Name Flags Part. Typ Dateisystemtyp [Bezeichner] Größe (MB)
-------------------------------------------------------------------------------
Pri/Log Freier Bereich 0,14 *
mmcblk0p1 Boot Primäre vfat 2007,37 *
Но sudo parted /dev/mmcblk0 print
показывает только один раздел:
Modell: SD SDC (sd/mmc)
Festplatte /dev/mmcblk0: 2007MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk Flags:
Nummer Anfang Ende Größe Typ Dateisystem Flags
1 131kB 2007MB 2007MB primary fat16 boot
Это не проблема, чтобы смонтировать карту с sudo mount -o uid=erik /dev/mmcblk0p1 /mnt/test/
и список корневых каталогов карт:
[erik@mars test]$ ls -l /mnt/test/
insgesamt 96
drwxr-xr-x. 254 erik root 32768 16. Feb 12:34 DCIM
drwxr-xr-x. 224 erik root 32768 16. Feb 12:34 MISC
-rwxr-xr-x. 1 erik root 512 16. Feb 12:34 NIKON001.DSC
Но когда я пытаюсь перечислить содержимое каталогов на карте через ls
, это займет вечность и dmesg
показывает это:
[ 337.246359] FAT-fs (mmcblk0p1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[ 337.246372] FAT-fs (mmcblk0p1): Filesystem has been set read-only
[ 347.729392] FAT-fs (mmcblk0p1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
Вопрос: Есть идеи, в чем может быть проблема? Почему содержимое карт читается в камере, а не в Windows или Linux с помощью устройства для чтения карт памяти (встроенного в ноутбук или внешнего USB-устройства чтения карт).
Может быть, это не отформатированный vfat/fat32? Что еще я должен попробовать?
Обновить
Мне удалось скачать фотографии с фоторека.
- После этого я отформатировал карту с
mkfs.vfat
(Linux), но это не было распознано в камере. - Затем я отформатировал карту с Windows Explorer. Но камера снова заявила, что карта не была отформатирована и спросила меня, должна ли она быть отформатирована камерой.
На этот раз я выбрал "да", сделал пробную фотографию и снова вставил карту в картридер. Теперь все каталоги были доступны для чтения. cfdisk показал мне, что он снова был отформатирован как vfat. Странный …
2 ответа
Это не очень хороший ответ, но - это может быть связано с количеством данных (или, если быть более точным, количеством файлов) на карте. Я поражен тем фактом, что оба DCIM
а также MISC
каталоги имеют длину 32768 (215) байт и DCIM
имеет количество ссылок 254 (28–1). Возможно, программное обеспечение FAT32 в камере глючит и записывает изображения на карту нестандартным способом, когда такие высокие отметки попадают - таким образом, что он может читать, но ОС Windows и Linux не могут. (Или, возможно, спецификация FAT32 слегка изменилась за последние 10 лет, поэтому камера на самом деле ведет себя корректно по отношению к характеристикам, которые действовали, когда она была построена.)
Если вы планируете продолжать использовать камеру, я рекомендую вам не допускать накопления большого количества фотографий на одной карте.
Похоже, SD-карта может быть повреждена и нуждается в переформатировании.
Если вам нужно сначала снять фотографии, вы можете установить SD-карту в камеру, а затем установить камеру как внешнее запоминающее устройство через USB для передачи файлов с карты (при условии, что ваша камера имеет порт, который позволяет для передачи USB).