Как восстановить поврежденную файловую систему FAT32

85

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

В Windows я использовал утилиту сканирования диска для исправления файловых систем FAT32 / NTFS. Как я могу сделать это в Ubuntu?

    
задан Chalitha 06.06.2012 в 13:56
источник

4 ответа

96

Попробуйте ввести следующую команду в терминале Linux:

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

sdc1 - это обычно ваш накопитель. Вы можете найти свой накопитель, набрав mount в терминале. Это где-то внутри. Если для этой команды требуется слишком много времени, не используйте переключатель -t .

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

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

    
ответ дан Naveen 06.06.2012 в 14:18
источник
43

Вы можете попробовать 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

Надеюсь, что это поможет.

Примечание:

, если вы получили следующую ошибку, если ваш USB-накопитель не распознается:

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

Конечно, вы должны изменить адрес устройства на свои нужды, как я уже писал выше.

    
ответ дан Octávio Filipe Gonçalves 06.06.2012 в 14:03
5

Также попробуйте:

fsck.vfat -r /dev/sdXn
    
ответ дан gavenkoa 01.04.2014 в 11:13
1

dosfsck cheatsheet

В этих примерах будут использоваться 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 помечает нечитаемые кластеры как плохие, что делает их недоступными для вновь созданных файлов и каталогов.     

ответ дан m3asmi 24.02.2018 в 12:55