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

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

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

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

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

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

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

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

Вы можете попробовать Dosfsck, который является компонентом dosfstools.

Для этого введите в терминале:

sudo apt-get install dosfstools

Использовать Досфскк, вы должны указать адрес устройства, который вы хотите (например, /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 0Buffer I/O error on device sdb1, logical block 0

Выполните эту команду:

sudo dosfsck -t -a /dev/sdb1

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

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

fsck.vfat -r /dev/sdXn

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

Вы благополучно катапультируетесь?