Во-первых, я использую Ubuntu 12.04 на ноутбуке со встроенным кард-ридером.
У меня есть карта памяти micro SD Sandisk объемом 8 Гб, которая шла в комплекте с моим телефоном HTC Desire HD.
К сожалению, я подключил его к компьютеру Windows на работе через USB-кабель, подключенный к телефону, и не "безопасно извлек оборудование". Это был не первый раз, когда я не "безопасно извлек" его из Windows, и каждый раз, когда я случайно это делал, мне приходилось перезагружать телефон, прежде чем SD-карта снова становилась доступной.
Должно быть, что-то износилось, потому что теперь мой телефон вообще не распознает карту, а когда я вставляю ее в картридер моего ноутбука, в /var/log/syslog появляются следующие ошибки:
Apr 4 21:17:59 jesse-laptop kernel: [12665.532025] mmc0: error -110 whilst initialising SD card
Apr 4 21:18:00 jesse-laptop kernel: [12667.192024] mmc0: error -110 whilst initialising SD card
Apr 4 21:18:02 jesse-laptop kernel: [12668.860020] mmc0: error -110 whilst initialising SD card
Apr 4 21:18:04 jesse-laptop kernel: [12670.532020] mmc0: error -110 whilst initialising SD card
Я гуглил это сообщение, но не могу найти нигде, что бы объясняло его значение. Все сообщения о похожих ошибках, которые я нашел, касаются работы картридеров, но мой картридер работает отлично, когда я вставляю другую карту SD.
Apr 4 21:26:35 jesse-laptop kernel: [13182.192121] mmc0: new SDHC card at address b368
Apr 4 21:26:35 jesse-laptop kernel: [13182.195849] mmcblk0: mmc0:b368 29.8 GiB
Apr 4 21:26:35 jesse-laptop kernel: [13182.197931] mmcblk0: p1
Поэтому я знаю, что проблема в поврежденной карте, а не в считывателе.
Проблема, похоже, в инициализации карты, потому что она не отображается в /dev/ нигде, где я могу ее найти. Когда я вставляю рабочую SD-карту, она отображается как /dev/mmcblk0, а раздел — /dev/mmcblk0p1.
Само собой разумеется, я не смогу отформатировать карту или запустить какое-либо программное обеспечение для восстановления, пока не заставлю ее распознаваться как устройство.
Редактировать: - Я обнаружил, просматривая свой системный журналсоответствующие детали доступны здесьчто когда я впервые вставил свою карту, ошибка была иной, чем сейчас. Я не совсем понимаю ни одну из этих ошибок. Я предполагаю, что карта была оставлена в состоянии ожидания перевода (если это возможно) и не получила его. Теперь ее невозможно инициализировать (что бы это ни значило на самом деле)
Любая помощь относительно того, что означает эта ошибка и/или как восстановить данные с моей карты SD, очень ценится. Большая часть моих важных данных была сохранена, но одно приложение для создания заметок (на моем телефоне) не было сохранено, и я бы очень хотел восстановить эти данные.
P.S. Обе карты — рабочая и поврежденная — являются картами формата micro SD, и я использую адаптер для карт, чтобы вставить их в свой компьютер.
PPS Я загрузил аннотированную версию моего /var/log/syslog, содержащую толькосоответствующие части здесьа такжеполный системный журнал здесь
решение1
Похоже, карта была повреждена из-за преждевременного извлечения. Сообщения указывают либо на сбой контроллера карты, либо на плохие блоки. Последнее может быть восстановлено. Попробуйте это для восстановления:
- Вставьте карту
- Размонтируйте его с помощью
umount /dev/mmc0
(или с помощью того, как смонтирован диск) fsck -v /dev/mmc0
- смонтировать его
Если это не поможет, вам придется переформатировать с помощью mkfs
. Если карта все еще непригодна для использования, контроллер, вероятно, был поврежден на аппаратном уровне без возможности восстановления.
решение2
Попробуйте использовать gparted для создания новой таблицы разделов. Откройте gparted из Dash или в gksu gparted
терминале, затем выберите свое устройство и перейдите в Device -> New Partition Table.