単一の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にサイズ変更できると思うのは素朴な考えですか?