Як відновити пошкоджену файлову систему FAT32


109

Я використовую файлову систему FAT32 для мого приводу пера. У ньому часто виникають пошкодження файлів / даних.

У Windows я використовував утиліту сканувального диска, щоб виправити файлові системи FAT32 / NTFS. Як я можу це зробити в Ubuntu?


3
Ви безпечно викидаєте?
— ζ--

Відповіді:


125

Спробуйте ввести таку команду в терміналі Linux:

sudo dosfsck -w -r -l -a -v -t /dev/sdc1

sdc1, як правило, ваш диск ручки. Ви можете знайти привід пера, ввівши кріплення в терміналі. Це десь усередині. Якщо ця команда займає занадто багато часу для вас, уникайте перемикання -t .

  • -w означає негайно записати на диск.
  • -rозначає інтерактивно перевіряти диск (запитати, що робити при помилках). У новіших версіях dosfsck це типова умова .
  • -l означає перелічити оброблювані імена файлів.
  • -aозначає автоматично виправляти помилки. Не використовуйте його, якщо ви хочете мати більше контролю над виправленням можливих помилок.
  • -vозначає багатослівний режим. Здійснює трохи більше випуску.
  • -t означає позначити нечитабельні кластери як погані.

Якщо ви хочете, щоб не втратити свої дані, спершу створіть резервну копію вихідного пристрою.


Яку іншу файлову систему ця команда може виправити, крім FAT32?
— Шахаріл Ахмад

@ShaharilAhmad FAT16, який, можливо, все ще використовується. Наприклад, я отримав міні-sd карту 2 Гб з FAT16.
— keiki

Але якщо я цього не роблю -t, то наступного разу він знову намагатиметься використати погані кластери наступного разу?
— keiki

"Наразі підтримується лише 1 або 2 FAT, а не 0."
— Аарон Франке

не використовую -a, але я не розумію, як відповісти на половину питань, які він мені задає!
— Майкл

51

Ви можете спробувати Dosfsck, який є компонентом dosfstools.

Для цього введіть термінал:

sudo apt-get install dosfstools

Щоб використовувати Dosfsck , вам потрібно вказати потрібну адресу пристрою (наприклад, / dev / sdb1, / dev / sdb2 або інший пристрій.)

Щоб знати адресу свого пристрою, відкрийте термінал (CTRL + ALT + T), після чого запустіть цю команду:

mount

Якщо, наприклад, ваш розділ / dev / sdb1, то спочатку його відключіть, виконавши цю команду:

sudo umount /dev/sdb1

Тепер ви можете перевірити і відремонтувати свій розділ, виконавши цю команду:

sudo dosfsck -t -a -w /dev/sdb1

Сподіваюся, це допомагає.

Примітка:

якщо ви отримаєте таку помилку, коли ваша флешка не розпізнається:

Error: Buffer I/O error on device sdb1

Виконайте цю команду:

dmesg|tail

Якщо вихід:

end_request: I/O error, dev sdb1, sector 0
Buffer I/O error on device sdb1, logical block 0

Виконайте цю команду:

sudo dosfsck -t -a /dev/sdb1

Звичайно, ви повинні змінити адресу пристрою на свої потреби, як я писав вище.


в 13.04, мабуть, здається, що також працює без
— судо

Я завжди стикався з проблемою, що якщо зовнішній жорсткий диск або привід ручки не буде належним чином відключений під час виконання операцій з ним, дозволи дозволять зійти з розуму, зробивши пристрій практично марним. Ваша відповідь відчуває себе богом, посланим до мене; велике спасибі людино!
— Альфредо Ернандес


4

дофсск шпаргалка

У цих прикладах буде використано FAT32 та / dev / sdc1

fsck.vfat -n /dev/sdc1 - проста неінтерактивна перевірка лише для читання

fsck.vfat -a /dev/sdc1 - перевіряє файлову систему та виправляє неінтерактивно. Завжди використовується найменш деструктивний підхід.

fsck.vfat -r /dev/sdc1 - інтерактивний ремонт. Користувача завжди пропонують, коли існує більше, ніж єдиний підхід до вирішення проблеми.

fsck.vfat -l -v -a -t /dev/sdc1 - дуже багатослівний спосіб перевірки та відновлення файлової системи неінтерактивно. Параметр -t позначатиме нечитабельні кластери як погані, що робить їх недоступними для новостворених файлів та каталогів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.