修复图像上的 FAT 文件系统

修复图像上的 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没有回答。

答案1

您已使用命令制作了整个 USB 笔式驱动器的映像dd。这意味着该映像还包含分区表。

这就是为什么您不能将图像直接作为文件系统挂载的原因。

要在映像内挂载文件系统,您需要使用kpartx实用程序从映像中的分区表生成虚拟设备。

kpartx -v -a /path/to/image

将在目录中创建新的分区映射/dev/mapper,这些映射将指向映像内的实际分区。然后,您可以将这些条目用作mount命令的设备或fsck.vfat命令。

相关内容