partedを使用してサイズ変更した後、FAT32クラスタチェーンが破損する

partedを使用してサイズ変更した後、FAT32クラスタチェーンが破損する

単一のFAT32パーティションでフォーマットされた500GBの外付けUSBドライブがあります。私は通常のLinuxファイルシステム権限をサポートするパーティションが欲しかったので、partedを使用して既存のパーティションを縮小しました。

$ parted /dev/sda
(parted) resizepart 1 220GB

(216GBのデータ)。うまくいくようです:

(parted) print
Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  220GB  220GB  primary  fat32        lba

その後、新しいext4パーティションを作成しました。

(parted) mkpart primary ext4 220GB 500GB
(parted) print
Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  220GB  220GB  primary  fat32        lba
 2      220GB   500GB  280GB  primary  ext4         lba

しかし、何かが非常に正しいではありませんでした。これは、新しいパーティションをマウントしようとし、エラーが発生した後にドライブを再度partedにして、次のことを確認したためです。

(parted) print
Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  220GB  220GB  primary  fat32        lba
 2      220GB   500GB  280GB  primary

わかりました。この問題を解決するには、次の手順に従います。

$ sudo mkfs -t ext4 /dev/sda2

sda2の新しいパーティションが正常に動作しているようです。古いパーティションが正しくマウントされ、最上位のフォルダ構造を表示できますが、サブフォルダにアクセスしようとすると、次の変更が原因で入出力エラーがcd発生します。ls$ dmesg|tail

FAT-fs (sda1): error, fat_get_cluster: invalid cluster chain (i_pos 0)

ランニングは以下fsck /dev/sda1を提供します:

fsck from util-linux 2.25.2
fsck.fat 3.0.27 (2014-11-12)
Seek to 500105216512:Invalid argument

FAT32パーティションのデータを回復できますか?既存のパーティションを台無しにせずに220GBにサイズ変更できると思うのは素朴な考えですか?

関連情報