Назад | Перейти на главную страницу

Восстановить файловую систему FAT на образе

У меня USB-накопитель с поврежденной файловой системой FAT. Сейчас пытаюсь отремонтировать. Итак, чтобы сначала попробовать, что я могу получить от него, не подвергая дальнейшую опасности исходное оборудование, я создал образ с dd используя следующую командную строку:

$ sudo dd if=/dev/sdb of=pendrive.img

Теперь я хочу восстановить файловую систему в образе, запустив fsck.

Но fsck немедленно прекращается следующим образом:

$ sudo fsck.vfat -a -t -v pendrive.img
fsck.fat 3.0.27 (2014-11-12)
Logical sector size is zero.

Есть ли уловка, как я могу сказать fsck предположить размер сектора или что означает это сообщение? Может кто-нибудь помочь интерпретировать этот вывод?

Этот вопрос похож на fsck файловую систему в файле но это было про ext2. Также https://superuser.com/questions/129189/cant-mount-fat32-drive-under-ubuntu-linux не дал ответа.

Вы создали образ всего USB-накопителя с помощью dd команда. Это означает, что образ включает также таблицу разделов.

Вот почему вы не можете смонтировать образ напрямую как файловую систему.

Чтобы смонтировать файловую систему внутри образа, вам нужно использовать kpartx утилита для создания виртуальных устройств из таблицы разделов вашего образа.

kpartx -v -a /path/to/image

создаст новые сопоставления разделов внутри вашего /dev/mapper каталог, который будет указывать на фактические разделы внутри вашего изображения. Затем вы можете использовать эти записи в качестве устройства для mount команда или для fsck.vfat команда.