SD-карта становится только для чтения

Я запускаю свое приложение на платформе colibri-vf50 toradex(работающей по распределению angstrom) с базой данных sqlite, которая находится на SD-карте. Моя SD-карта становится доступной только для чтения, когда я отключаю питание сразу после загрузки платы (в то же время мое приложение начинает устанавливать соединение с базой данных). Из-за этого я получаю ошибку в dmesg типа "FAT-fs (mmcblk0p1): ошибка, кластеры плохо вычислены".

После этого sqlite не может писать в БД. Я также попытался восстановить с помощью команды fsck, используя приведенную ниже команду, но безуспешно.

$ fsck.msdos -r -v /dev/mmcblk

Currently, only 1 or 2 FATs are supported, not 251.

Я также пробовал с различными journel_mode sqlite, но не смог предотвратить. Итак, как я могу помешать моей SD-карте стать доступной только для чтения, а также как выполнить ремонт на борту?

заранее спасибо

2 ответа

Я использовал kparted, предварительно размонтировал устройство, затем пометил раздел, затем сверху, устройство, сделал новый FAT. Затем сделал новый раздел и все снова заработало.

Так как dosfstools недоступен в angstrom, на котором работает плата. Так что не в состоянии починить SD-карту на самой плате. Но это можно исправить на ноутбуке, используя следующую команду:sudo dosfsck -r -a / dev / sdb1

Поэтому, чтобы предотвратить проблему, я изменил файловую систему с FAT32 на ext4. В котором fsck делает восстановление при загрузке.

Другие вопросы по тегам