본문 바로가기

디스크와 파티션

[Convert] FAT32 파일 시스템을 NTFS 파일 시스템으로 변환하기

FAT32 파일 시스템을 NTFS 파일 시스템으로 변환하기

윈도우를 사용하다 보면 여러가지 이유로 FAT32 파일 시스템으로 포맷하여 사용하던 드라이브를 NTFS 파일 시스템으로 바꿔주어야 할 때가 있습니다.

FAT32 로 포맷된 파티션을 NTFS 로 변환해야 할 때가 있다.



이럴 땐 자료들을 모두 다른 곳으로 옮긴 후 깨끗하게 포맷하고 다시 옮겨오면 되지만 시간도 오래 걸리고 불편하죠. 그런데 윈도우에서는 자료를 그대로 둔 채 FAT32 파일 시스템에서 NTFS 파일 시스템으로 변환하는 것이 가능합니다. 바로 Convert 명령을 통해서 말이죠.

명령은 간결합니다. 명령 프롬프트에서 다음과 같이 명령을 내려주기만 하면 됩니다.[이 때 C: 드라이브는 NTFS 로 변환하려는 드라이브]

convert c: /fs:ntfs

01. (관리자 권한으로) 명령 프롬프트를 실행합니다.

02. 명령 프롬프트에서 드라이브 문자를 지정하여 Convert 명령을 내려줍니다.

convert c: /fs:ntfs
볼륨을 분리하시겠습니까? Y
다음에 시스템이 다시 시작할 때 변환되도록 하시겠습니까? Y (시스템 or 부팅 드라이브)



04. 만약 시스템을 다시 시작할 때 변환하도록 예약하였다면 시스템을 다시 시작합니다.

05. 모든 작업을 마친 후 볼륨이 정상적으로 변환되었는지 확인합니다.


NTFS 로 변환을 진행할 때에는 먼저 FAT32 파일 시스템에 문제가 없어야 합니다. 그러니 변환 작업 전 윈도우의 디스크 검사를 수행하여 문제를 확인하고 오류를 미리 수정해 주는 것이 좋습니다.



간단하죠? 그런데 FAT32 파일 시스템을 NTFS 로 변환은 바로 해주는 것보다 MFT 공간을 예약하여 변환하는 것이 좋습니다.

※ 아래 폴딩에서 설명하려는 내용은 HDD 형식의 저장 장치와 관련이 있는 내용입니다. SSD 나 USB 플래시 메모리와 같은 플래시 메모리류의 저장 장치는 파일이 단편화되더라도 성능에 영향을 미치지 않고, 오히려 제품의 수명 연장을 위해 일부러 공간을 단편화시키는 기술을 적용하고 있습니다. 그렇기에 HDD 에 포함된 드라이브를 변환하려는 경우에만 참고하시길 바랍니다.







NTFS 파일 시스템과 MFT 영역

NTFS 파일 시스템과 MFT 영역

NTFS 파일 시스템에는 MFT(Master File Table) 라는 게 존재 합니다. MFT 는 현재 볼륨에 저장된 파일의 이름, 권한, 크기, 파일이 사용하는 클러스터 번호, 디렉토리 구조 등 파일에 관한 모든 것을 저장한 거대한 정보의 집합체, 일종의 데이터베이스입니다. 이러한 MFT 는 NTFS 의 핵심이죠. 그리고 NTFS 의 속도에도 많은 영향을 미칩니다.

이렇게 MFT 는 매우 중요하고 속도에도 큰 영향을 미치기 때문에 NTFS 는 MFT 의 단편화를 막기 위해 포맷될 당시 MFT 영역이라는 것을 설정해 줍니다. MFT 영역은 예약 공간으로 볼륨 전체 공간의 12.5% 를 미리 MFT 의 공간으로 예약하여 볼륨의 공간이 부족하기 전까지는 다른 일반 데이터 파일에 의해 쓰여지지 않도록 합니다.

MFT 영역과 일반 데이터의 분리





자신만의 공간을 선점하지 못한 MFT

말한 것과 같이 MFT 영역은 데이터가 기록되기 이전 즉, NTFS 파일 시스템으로 포맷되는 시점에 미리 선점되어 구축됩니다. 그러나 FAT to NTFS 변환은 그 특성상 어쩔 수 없이 데이터가 기록된 이후 MFT 영역을 구축하게 됩니다. 그래서 필연적으로 따라오는 문제가 한 가지 있습니다.

바로 MFT 영역이 이미 단편화된 채로 NTFS 파일 시스템이 구축된다는 문제입니다.

볼륨을 사용하다 보면 공간에 단편화가 일어난다.


이러한 상태에서 NTFS 파일 시스템을 구축(변환)하면 MFT 영역이 단편화된 채로 구축된다.



이것은 NTFS 의 입장에서는 매우 좋지 못한 모습입니다. 그래서 이러한 단편화를 최대한 방지하기 위해 마이크로소프트사는 FAT32 파일 시스템에서 NTFS 파일 시스템으로 변환할 때 다음과 같은 내용을 권장하고 있습니다.

1. 디스크의 조각 모음을 수행하여 드라이브의 조각을 모아 줌으로써 단편화된 공간들을 정리합니다.
2. MFT 영역을 위한 연속된 공간으로 이루어진 예약 공간을 만들어 줍니다.

이를 간단하게 그림으로 표현하면 아래와 같습니다.






좀 더 완벽하게 FAT to NTFS 변환하기

알아본 것과 같이 MFT 영역을 위해 디스크 조각 모음MFT 예약 공간 생성 작업을 미리 해주면 좀 더 완벽하게 NTFS 변환을 완료할 수 있습니다.

01. 변환할 드라이브를 디스크 조각 모음을 통해 공간을 최적화합니다. [다른 전문 조각 모음 도구를 사용하는 경우 공간 최적화를 중심으로 조각 모음]


02. 명령 프롬프트를 실행한 후 다음의 명령을 내려 변환할 드라이브의 루트에 빈 파일을 생성합니다. [반드시 루트 경로에 생성하시길 바랍니다. 파일의 이름은 상관없습니다.]

fsutil file createnew c:\mft_temp.txt 3750000000
└ 파일의 이름은 상관없으며 루트에 위치하기만 하면 됩니다. 파일의 크기는 (드라이브의 전체 크기 x 12.5%) 로 지정해 줍니다. 이 때 단위는 Byte 입니다. 반드시 정확하게 12.5% 일 필요는 없습니다. 또한 FAT32 파일 시스템의 한계상 4GB 가 넘는 파일은 생성할 수 없으니 그보다 큰 예약 공간이 필요하더라도 어쩔 수 없이 예약 공간용 파일은 최대 4GB 를 넘길 수 없습니다.



03. 아래와 같이 앞서 생성한 빈 파일을 MFT 영역으로 지정하여 Convert 명령을 내려줍니다.

convert c: /fs:ntfs /cvtarea:mft_temp.txt
볼륨을 분리하시겠습니까? Y
다음에 시스템이 다시 시작할 때 변환되도록 하시겠습니까? Y (시스템 or 부팅 드라이브)



04. 시스템을 다시 시작할 때 변환하도록 예약하였다면 시스템을 다시 시작합니다. 

05. 모든 작업을 마친 후 볼륨이 정상적으로 변환되었는지 디스크 관리를 통해 확인합니다.

MFT 영역으로 지정한 파일은 변환 후 사라집니다. 만약 해당 파일이 남아 있다면 변환이 정상적으로 이루어지지 않은 것입니다.

변환 전변환 후


이와 같이 MFT 예약 공간을 설정하여 변환을 해주면 그냥 변환해 줄 때보다 좀 더 완벽한 NTFS 파일 시스템을 얻을 수 있습니다. 기억하세요.




연속된 공간으로 이루어진 파일을 얻지 못했을 때의 팁

조각 모음이란 작업이 보통 완벽하게 공간을 최적화하지는 못하기 때문에 어쩔 수 없이 조각 모음 후에도 공간에 단편화가 어느 정도 남아 있는 상태일 수 있습니다. 이러한 상태에서 Fsutil 을 통해 빈 파일을 생성하게 되면 해당 파일 역시 단편화된 채로 생성될 수 있습니다. 만약 앞의 작업에서 생성한 MFT 예약 공간용 파일이 이와 같이 단편화된 상태로 생성된 파일이라면 Convert 는 변환 작업을 거부합니다.



완벽히는 아니지만 그래도 적절히 공간을 최적화시킨 상태에서 생성한 파일에서 이러한 메시지를 보게 된다면 해당 파일을 지우지 말고 다시 파일을 한 두 개 정도 더 생성해 보시길 바랍니다.



그러한 상태에서 두 번째, 세 번째 파일을 통해 변환 작업을 진행해 보시길 바랍니다. 보통은 두 번째 파일 쯤에서 잘 됩니다.[디스크 조각 모음을 잘 실행했다면] 이는 앞에서 생성했던 파일이 단편화된 공간을 메꾸어주어 뒤에 생성한 파일이 단편화되지 않는 것입니다. 작은 팁이지만 기억해 두시면 좋습니다.