Windows95까지 사용된 FAT16,
하드디스크 용량의 증가가 가속화되는 반면, FAT16이 지원하는 용량은 한계가 있었습니다.
그 외에 클러스터 크기로 인한 용량 낭비로 인해
Windows98이 개발될 쯤 해서 FAT32가 개발됐었죠.
(정확하게는 Windows95 OSR2이죠?)
그 이후 FAT계열의 파티션방식은 FAT32가 주로 쓰였고
작년까지 변한 것이 없었는데 비교적 최근에 개선되었습니다. 거의 10년 만입니다.
지금까지의 FAT계열의 파티션은
클러스터 위치를 나타내는 주소의 길이를 비트값으로 나타내어 이름에 이용했었는데요.
개선된 파티션방식의 이름에는 숫자가 없어졌습니다.
그 이름이 exFAT(extended FAT, 확장FAT) 입니다.
(FAT64라고도 불리는 것 같은데 맞나 모르겠습니다. ^^;)
제가 WindowsXP만 써서 몰랐는데 WindowsVista SP1에 이미 적용이 되었다고 하는군요.
WindowsXP는 2009년 1월 29일 부터 지원업데이트가 나와서 사용가능합니다.
Microsoft가 발표한 exFAT의 특징을 살펴보도록 하겠습니다.
일단 지원 용량이 어마어마합니다.
FAT32는 파티션크기를 최대 2TB까지 만들 수 있습니다.
WindowsXP에서는 안정성, 속도저하의 이유로 32GB까지만 만들 수 있지만요.
그리고 현재 많이 쓰고 있는 NTFS는 최대 8ZB까지 만들 수 있습니다.
그러나 exFAT가 만들 수 있는 파티션 크기는 무려 64ZB입니다.
(1ZB = 1,000,000,000TB)
Microsoft에서는 exFAT의 권장 최대 크기를 512TB로 잡고는 있습니다만
그래도 엄청난 용량입니다.
최대 파일 크기도 확 늘었습니다.
FAT32는 4GB까지만 만들 수 있습니다.
NTFS는 16EB까지 인 듯합니다.
(1EB=1,000,000TB)
그러나 exFAT는 2ZB까지 만들 수 있습니다.
(이것 역시 Microsoft권장은 512TB입니다.)
이런 용량적인 면 이외에 exFAT는 FAT32보다 속도 면에서 역시 장점이 있다고 합니다.
데이터가 기록된 클러스터와 기록되지 않은 클러스터의 위치를 기록하는 부분이 있어서
클러스터의 위치를 파악하는데 도움을 주며 랜덤액세스시간을 단축시켜줍니다.
그리고 파일을 기록할 때 파일 조각이 나지 않게 기록되도록 합니다.
(그래도 파티션 사용량이 늘어날수록 파일 조각이 나겠죠?)
다른 특징으로 파일에 대한 간략한 정보를 추가로 입력할 수 있게 되었습니다.
그래서 파일작성자 등 특정 파일에 대한 설명을 기록할 수 있게 해줍니다.
마지막 특징으로 시간 기록이 UTC기준으로 된다고 합니다.
지금까지 파티션방식은 현지시간이 기록되어서
한국에서 오전 10시에 만든 파일은 영국에서도 오전 10시에 만든 파일처럼 표시가 되어 있어서
영국에서 9시에 이 파일을 받아본다면 1시간 이후에 작성된 파일처럼 보일 수 있을 텐데요.
그러나 exFAT에 파일이 들어가면
정상적으로 영국에서는 그날 새벽 1시에 파일이 작성된 것으로 표시되겠지요.
(영국시간 = 한국시간 - 9 맞죠? ^.^;)
이것저것 좋은 점이 눈에 띄는데 아직은 단점이 몇 가지 있습니다.
처음 만들어진 파티션 방식이다 보니 지원하는 OS가 몇 개 안됩니다.
현재 WindowsXP부터는 지원 업데이트가 나왔으므로 업데이트 설치가 되어있다면
WindowsXP부터 사용이 가능합니다.
그리고 FAT16과 FAT32 사이처럼 하위호환성만 있습니다.
즉, exFAT를 지원하는 OS에서는 FAT방식 모두를 지원하지만
FAT32만 지원하는 OS에서는 exFAT방식을 읽을 수 없습니다.
역시 비슷한 단점입니다만 exFAT를 지원하는 파티션프로그램이 적습니다.
exFAT에 대한 소개는 이정도 입니다.
exFAT의 이런저런 특징을 살펴보고, exFAT의 장점 중 하나가 속도이다 보니
느린PC를 조금이나마 빠르게 해보려고 exFAT를 컴퓨터에 적용해보기로 하였습니다.
우선 exFAT에 WindowsXP를 설치해보려고 했는데요.
WindowsXP 설치프로그램에 exFAT지원을 추가하고
설치프로그램에서 이용하는 FAT드라이버도 교체해보고
그 외에 이것저것 해봤지만 설치할 수 없었습니다.
그 이유를 잘 생각해보니, OS를 불러들이는 WindowsXP의 NTLDR은
exFAT를 지원하지 않아서 설치를 하더라도 부팅을 할 수가 없죠.
WindowsVista의 BootMGR역시 마찬가지일 것이라 생각합니다.
OS설치는 포기하고, 차선책으로 프로그램이 설치되는 공간만이라도
exFAT를 사용하려고 했습니다.
그래서 일단 exFAT파티션을 만들어야 하는데,
WindowsXP에서는 '디스크 관리'에서 exFAT를 지원하지 않습니다.
하드디스크의 파티션을 exFAT로 만들기 위해
'디스크 관리'에서 포맷 없이 파티션을 만든 후
'내 컴퓨터'에서 exFAT로 포맷하여야했습니다.
'내 컴퓨터'에서 포맷을 하는 경우에는 클러스터크기를 조절할 수 없습니다.
그러나 '명령 프롬프트'에서 'format.com'으로 포맷하는 경우는 옵션을 넣어
클러스터크기를 조절할 수 있습니다.
포맷 하고보니 기본적으로 설정되는 클러스터 크기는
다른 파티션방식에 비해 상당히 컸습니다.
40GB포맷 기준으로 NTFS는 4KB, FAT32는 32KB이지만
exFAT는 128KB나 됩니다.
클러스터 크기가 128KB이면 1KB의 데이터를 저장해도 128KB로 저장이 되어
용량낭비가 심하지만 용량이 큰 파일인 경우
한 번에 128KB씩 읽기 때문에 속도에 이점이 있습니다.
그렇게 exFAT를 계속 사용하고 있다가, 문제점 하나를 만났습니다.
exFAT는 갑자기 컴퓨터가 꺼지는 등의 이유로
파티션 분리가 비정상적으로 이루어지거나 파티션 내 읽기 동작에 문제가 있음을 인지하면
다음 부팅 시 파티션에 더 이상 기록이 안 되도록 쓰기방지가 되며
디스크검사를 진행하여 이상이 없음을 확인해야 쓰기방지가 해제됩니다.
그러나 WindowsXP는 부팅할 때 exFAT의 오류를 감지할 수 없어서
수동으로 디스크검사를 해줄 때 까지 쓰기방지가 유지되는 경우가 발생합니다.
일반적으로 사용할 때는 이점이 큰 문제가 되지 않습니다만
저처럼 'Program Files'를 exFAT로 쓰는 경우
안전모드로 들어가지 않는 이상 파티션 분리가 되지 않기 때문에
일반모드에서는 디스크검사를 하여 쓰기방지를 해제할 수 없습니다.
그래서 쓰기방지현상이 나타날 때마다 안전모드에 들어가는 수밖에 없습니다.
디스크 검사할 때도 제한사항이 하나 있습니다.
어느 정도 자세한(?) 검사상황을 볼 수 없습니다.
심지어는 검사가 얼마나 진행됐는지도 볼 수 없죠.
볼 수 있는 것은 어떤 부분에서 오류가 났는지 뿐입니다.
위에 소개한대로 exFAT는 기존의 FAT방식에 비해 여러모로 장점이 많지만
공개된 지 얼마되지 않아서인지 아직까지 문제점이 존재합니다.
Microsoft가 WindowsXP를 얼마나 더 지원을 해줄 지 알 수 없지만
위의 문제점은 하루빨리 해결을 해주었으면 좋겠습니다.
P.S.) WindowsXP의 제한 때문에 어떤 파티션방식이든 2TB를 넘을 수 없습니다.
그러나 편법을 쓰면 64TB까지는 쓸 수는 있다고 합니다.
P.S.) 아직까지는 exFAT를 지원하는 프로그램이 적다는 점을 이용하여
당분간은 회사같은 곳에서 악용(?)할 수 있을 지도 모르겠습니다. ^.^a