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로 크기를 조정할 수 있다고 생각하는 것은 순진한 생각인가요?

관련 정보