Вівторок, 16 лютого 2010 р.

Лікування проблемної флешки в Linux

tivasyk
tivasyk
tivasyk.info
Для того, щоби вісім гігабайт SSD в моєму Acer Aspire One не навівали тугу, колись придбав карту пам’яті на 8 ГБ і постійно тримаю її в лівому карт-рідері. Саме тут зберігаються документи, електронні книжки, скріншоти, трохи улюбленої музики та два чи три фільми. SSD — для системи та користувацьких налаштувань.

Аж ось днями зустрівся з дивною проблемою: флешка монтується і відкривається нормально, але відкрив у програвачі «Вбивцю Боба» — і не зміг після цього зберегти файл на картку. Послідовність повторювалася раз у раз, так що я став підозрювати саме програвач Gnome Mplayer в якихось дивних глюках…

Попри непевні симптоми, все-таки кільканадцять хвилин інтенсивного пошуку в тенетах направили на вірний слід: виявляється, якщо виникають проблеми зі зчитуванням файлів, система миттю перемонтовує флешку в режимі лише читання.

Перевіряю: перемонтовую флешку (достатньо витягти й знову встромити в карт-рідер) для чистоти ексерименту, знову відкриваю файл видива, щоби спровокувати помилку... і в терміналі перевіряю повідомлення ядра (достатньо останніх 30-50 рядків):
dmesg | tail -50
Справді: серія підозрілих повідомлень свідчить про помилку файлової системи на флешці (див. скріншот збільшено).
fat: filesystem error (dev mmcblk1p1)
Отакої. доведеться лікувати. Відмонтовую флешку (правий клік на зображенні флешки на стільниці, або через файл-менеджер, або через аплет місць на системній панелі…), а тоді знову в терміналі:
sudo fsck -a /dev/mmcblk1p1
Назва пристрою вказана в повідомленні про помилку (вище). fsck в автоматичному режимі (ключик -a) виправив усі помилки, за винятком однієї: робоча і архівна копії таблиці розташування файлів (FAT) відрізняються. Доводиться втрутитися:
sudo fsck -r /dev/mmcblk1p1
Тепер fsck запитує, яку копію використовувати надалі. По суті байдуже: все-одно проблемний файл це не порятує.

Після цього знову монтую флешку. Як і слід було чекати, файл «Вбивця Біб» тепер має розмір не 800 з гаком мегабайт, а лише 60… видаляю його — доведеться знову завантажити з NAS'а. А флешка знову працює нормально.


Оригінальна публікація: «Лікування проблемної флешки в Linux» (с) блог tivasyk@home

2 коментарі:

verdakafo сказав...

а standby та hibernate працюють, коли змонтована ліва картка?

tivasyk сказав...

2verdakafo
правий не використовую (картка надто виступає — тож він для періодичних підключень випадкової картки). в лівій постійно сидить sd 8 гб — standby працює, hibernate не користаю через відсутність розділу підкачки і хронічне небажання шукати альтернативних вирішень =)

важливо: в мене ядро нестандартне, від проекту kuki linux спецом для aspire one. на стандартному таки можуть бути проблеми з кардрідером після standby.

Дописати коментар