Filesystems
修復映像上的 FAT 文件系統
我有一個帶有損壞的 FAT 文件系統的 USB 筆式驅動器。現在我嘗試修復它。因此,為了首先嘗試我可以從中獲得什麼而不進一步危及原始硬體,我
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 a filesystem in a file但這是關於 ext2。https://superuser.com/questions/129189/cant-mount-fat32-drive-under-ubuntu-linux也沒有給出答案。
您已經使用
dd
命令製作了整個 USB 筆式驅動器的映像。這意味著該映像還包括一個分區表。這就是為什麼您不能將映像直接掛載為文件系統的原因。
要在映像中掛載文件系統,您需要使用
kpartx
實用程序從映像中的分區表生成虛擬設備。kpartx -v -a /path/to/image
將在您的目錄中創建新的分區映射
/dev/mapper
,該映射將指向映像中的實際分區。然後,您可以將這些條目用作mount
命令或fsck.vfat
命令的設備。