Проверьте и исправьте ошибки SD-карты в Android?

Иногда моя SD-карта становится «поврежденной», и это приводит ко многим ошибкам чтения /записи. Обычно, подключая SD-карту к окнам 7 и выбирая «Проверка ошибок» (Щелкните правой кнопкой мыши по параметру «Диспетчер» и «Проверка ошибок»). находит повреждение и исправляет его.

Есть ли какой-либо инструмент или приложение для проверки SD-карт для ошибок диска и исправления того же самого из самого андроида ?

Я также хотел бы упомянуть, что я нахожусь на корневом froyo с установленным busybox.

37 голосов | спросил Irfan 31 Jpm1000000pmThu, 31 Jan 2013 18:52:12 +040013 2013, 18:52:12

5 ответов


15

Вы можете исправить это с помощью root и эмулятора терминала (например, Android Terminal Emulator (или, альтернативно, используя adb shell). Двоичный файл для выполнения задания называется fsck и обычно находится либо в /system/xbin или /system/bin. Иногда вам нужен специальный вариант, который может называться, например, fsck.exfat или тому подобное. Поэтому сначала давайте убедиться, что мы найти правильный двоичный файл:

cd /system/xbin
ls fsc*

Если не найден, повторите с помощью /system/bin. Я предполагаю, что он был найден в первую очередь и просто называется fsck (соответственно отрегулируйте следующее, если это не так).

Поскольку fsck поступает из «ядра Linux», мы можем обратиться к его странице руководства для синтаксиса. Хотя могут быть некоторые опции, не работающие на Android, самые основные из них должны быть. См. Связанную справочную страницу для получения дополнительной информации (или запустите виртуальную машину Linux и используйте man fsck, если эта страница исчезнет). Я буду придерживаться основ:

Сначала нам нужно найти устройство, к которому привязана ваша SD-карта. Если он установлен, команда mount поможет нам:

mount

Вот и все, в основном: проверьте выход и посмотрите, где сидит ваша SD-карта. Обычно это что-то использует vold, но между устройствами оно отличается. Результат может включать в себя что-то вроде /dev/block/vold/179:17 on /mnt/storage/sdcard - в этом случае первая часть моей цитаты - наше устройство. Чтобы восстановить «диск», вам необходимо сначала отключить его. Это можно сделать с помощью меню настроек или, поскольку мы только что находимся на терминале, выпустив

umount /dev/block/vold/179:17

Теперь мы можем пойти на ремонт. Основной синтаксис:

fsck [options] [-t fstype] <filesystem> [fsoptions]

Итак, сначала попробуем простейший подход и надеемся, что fsck вычисляет все:

fsck -C -r /dev/block/vold/179:17

В основном это означает: показать прогресс (-C) и всегда просить пользователя исправить (-r) любые ошибки в /dev/block/vold/179:17. Если это не сработает, обратитесь к связанной странице руководства для дополнительных параметров.

ответил Izzy 31 Jpm1000000pmThu, 31 Jan 2013 20:37:08 +040013 2013, 20:37:08
3

Благодарим за это, это сэкономит мой день:)

[email protected]:/ # mount | grep -i sdcard
/dev/block/nandk /mnt/sdcard vfat rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

[email protected]:/ # /system/bin/fsck_msdos -y /dev/block/nandk
ответил junior 7 J000000Monday14 2014, 16:06:24
2

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

ответил Code Bling 13 Maypm14 2014, 22:54:13
1

Я нашел приложение на рынке, которое может «Восстановить поврежденную SD-карту и сканировать« плохие блоки »и т. д.

https://play.google. ком /магазин /приложения /детали ID = com.sylkat.AParted & амп;? гектолитров = еп

ответил Irfan 20 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 20 Sep 2013 20:38:24 +0400 2013, 20:38:24
0

Если я не ошибаюсь, вы можете заставить андроид отключить внутреннее и внешнее хранилище при перезагрузке, выполнив следующее в зависимости от вашего романа.

Запустите приложение терминала и введите

su
touch /forcefsck

Затем перезагрузитесь.

Если ваш телефон не укоренен, это, безусловно, не удастся.

source: http: //forum.xda-developers. ком /showpost.php р = 57027579 & амп;? postcount = 20

ответил Trekeyus 18 AM00000090000001431 2015, 09:40:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132