Як відновити пошкоджену файлову систему 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.