📁 파일 시스템 | |||||||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -6px -1px -11px" | <colbgcolor=#f1d592><colcolor=#000>마이크로소프트 | FAT | NTFS | ReFS | |||
애플 | HFS | HFS+ | APFS | ||||
리눅스 / 유닉스 | ext2 | ext3 | ext4 | ||||
Btrfs | F2FS | XFS | ZFS |
1. 개요
Resilient File System, ReFSReFS는 데이터 가용성을 극대화하고, 다양한 워크로드의 대규모 데이터 집합으로 효율적으로 확장하고, 손상 복구를 통해 데이터 무결성을 제공하도록 설계된 Microsoft의 최신 파일 시스템입니다. 미래의 혁신을 위한 토대를 마련하기 위한 것입니다.
- Microsoft 공식 사이트
- Microsoft 공식 사이트
복원 파일 시스템으로, 마이크로소프트에서 오래된 파일 시스템인 NTFS를 대체하기 위한 차세대 파일 시스템이다.
최신 버전은 2024년 기준 3.14(안정)이며 개발중인 버전은 3.15( Dev / Canary 27xxx~ )이다.
보통 Windows Insider Program에서 테스트 중인 상위 윈도우에서 더 최신 ReFS도 함께 테스트된다.
2. 지원하는 운영체제
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
- Windows 8.1~Windows 10 1703: 전 에디션 - 레지스트리를 수정해야 파티션을 생성할 수 있다.[1]
- Windows 10 1709 이상: Pro for Workstation & Enterprise - 일단 Education, Home, Pro에서는 기존에 생성된 파티션만 사용할 수 있다.[2][3]
- Windows 11: 윈도우 10 처럼 Home과 Pro는 기존 ReFS 파티션만 사용할 수 있고, 신규 파티션 생성은 Workstation부터 가능하다. ReFS 3.7 버전부터 사용하며 22H2부터 ReFS 3.9 버전을 사용한다. 23H2부터 모든 에디션에서 파티션을 생성할 수 있다. ReFS가 아니라 "개발자 드라이브"라고 명시되어 있으나 둘이 같은 거다.
- 64bit Windows만 지원하며, 32bit Windows에서는 항상 RAW로 인식하여 사용할 수 없다.
- 상위 버전[4]에서 생성된 ReFS는 하위 버전 Windows에서 RAW로 인식하는 경우가 있어, 혹시 다운그레이드를 하거나 다른 컴퓨터에 하드 디스크를 장착할 때 RAW로 나오면 당황하지 말고 해당 파티션이 생성된 Windows 이상의 Windows 시스템에 마운트하면 정상적으로 보인다.[5]
- Windows 10 1703~1809에서 생성한 ReFS 파티션은 Windows 10 1903 이상에서는 읽을 수 없으며 무한로딩 현상이 발생한다. 2020년 2월 업데이트로 해결됐다고 했다.
- 레지스트리를 수정하여 ReFS로도 포맷할 수 있게 만든 이후라면 윈도우 화면에서 윈도 빌드를 업그레이드 할 수는 없다. USB 등으로 재부팅하여 윈도우를 설치할 파티션을 NTFS 등으로 포맷하여야만 신형 윈도우 빌드를 설치할 수 있다. 아니면 레지스트리를 고쳐 다시 ReFS를 비활성화시키면 된다. 물론 이래도 ReFS 파티션의 데이터를 읽고 쓰는 데에 문제는 없다.
3. 주요 기능
마이크로소프트 공식 사이트에서 가져온 정보이다.3.1. 복원
3.1.1. 무결성 스트림
메타데이터를 저장하여 실시간으로 파일의 무결성을 확인한다.3.1.2. 저장소 공간 통합
3.1.3. 데이터 복구
메타 데이터 및 파일 데이터를 실시간으로 체크섬하는 기능으로 오류가 발견됐을 경우 저장소 공간에 보관된 대체 데이터를 사용하여 데이터를 자동으로 복구하는 기능을 제공한다.3.1.3.1. ReFSUtil
||<:><table align=center><tablewidth=600><tablebordercolor=#0078D7><tablebgcolor=#fff,#1f2023><#0078D7>
내장 프로그램||
내장 프로그램||
{{{#!wiki style="margin:0 -10px -5px" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin:-6px -1px -11px" | 계산기 | 그림판 | 녹음기 | 메모장 | |
돋보기 | 미디어 플레이어 | 스티커 메모 | | ||
작업 관리자 | 파일 탐색기 | 휴대폰과 연결 | Windows Terminal | ||
Windows Copilot | Microsoft Store | }}}}}}}}} |
공식 기술 문서
복구가 쉽고 우수한 만큼 윈도우 내에 아예 ReFS 복구 툴까지 내장되어 있다.
복구확률이 매우 높지만 인터페이스가 CLI 라서 간단 사용이 힘들고 복구율이 높은 디스크 정밀 스캔 명령은 다른 복구 프로그램들처럼 시간이 상당히 소요된다.
3.1.4. 사전 오류 수정
이전 NTFS는 파일 시스템에 오류가 생겼을 경우 Chkdsk으로 직접검사하거나 재부팅 중 자동 검사를 했었으나 ReFS는 그럴 필요가 없이 데이터 무결성 체크기능 스크러버가 작동한다. 스크러버는 볼륨을 주기적으로 검사하여 잠재적인 손상을 식별한 다음 해당 손상 데이터에 대한 복구를 사전에 트리거링을 한다.3.2. 성능
3.2.1. 실시간 계층 최적화
3.2.2. VM 작업 가속화
가상 이미지 생성 속도가 매우 빠르다.3.2.3. 가변 클러스터 크기
4K, 64K 클러스터 크기를 지원한다. 단 MS에선 대용량 작업이 아니라면 4K 환경에서 성능이 더 좋다고 예상하고있다.#3.2.4. 하드링크 지원
3.5 버전부터 하드링크를 지원한다.단 하위버전에서 업그레이드된 ReFS 파티션은 지원하지 않는다. 자료를 옮기고 하드디스크를 다시 3.5 ReFS 이상으로 포멧해야 지원한다.
3.2.5. 알파벳 대소문자 구분
3.9 버전부터 지원한다.4. 버전
● | ○ | 숫자 | X |
기본 | 지원 | 자동으로 버전 업그레이드[6] | 미지원 |
버전 | 1.2 | 3.2 | 3.3 | 3.4 | 3.7 | 3.9 | 3.10 | 3.14 | |
Windows 8.1 | ● | X | X | X | X | X | X | X | |
Windows 10 | v1507(TH1)~1607(RS1) | ● | X | X | X | X | X | X | X |
v1703(RS2) | ○ | ● | X | X | X | X | X | X | |
v1709(RS3) | ○ | 3.3 | ● | X | X | X | X | X | |
v1803(RS4)~ | ○ | 3.4 | 3.4 | ● | X | X | X | X | |
Windows 11 | v21h2 | ○ | 3.7 | 3.7 | 3.7 | ● | X | X | X |
v22h2 | ○ | 3.9 | 3.9 | 3.9 | 3.9 | ● | X | X | |
v23h2 | ○ | 3.10 | 3.10 | 3.10 | 3.10 | 3.10 | ● | X | |
v24h2 | ○ | 3.14 | 3.14 | 3.14 | 3.14 | 3.14 | 3.14 | ● |
5. NTFS와의 차이
- 이 문서의 내용은 공식 MS 내용을 참고했다.
- 그리고 ReFS로 전환을 계획하고 있다면 꼭 명심해야 하는 것이 있다. NAS나 네트워크 공유등을 할때 특정 파일 (특히 FLAC)을 NAS나 네트워크에 보관했다가 다시 ReFS 파티션으로 복사하면 0x80070299 오류가 나는 경우가 있다. 이 경우 NTFS에서는 정상적으로 복사되지만 ReFS에서는 오류가 나며 설령 NTFS로 복사 성공 후 이곳에 있던 파일을 다시 ReFS로 복사하면 복사가 되지 않는다. 외국 MS 포럼에서도 자주 거론되는 문제다.[7] 3.9 버전에서는 이런 문제가 해결됐다. 하지만 그래도 ReFS로 전환하기 전 충분한 테스트를 거친 뒤 자신의 환경에 적합한 파일 시스템인지 검증하고 이전하는 것을 추천한다.
- ReFS는 비교적 최근에 나온 파일 시스템이기 때문에 백업 소프트웨어와 호환성이 나쁘고 지원되는 종류도 적다. 이러한 유틸리티에서는 NTFS처럼 따로 파일을 빼서 백업/복구가 불가능하며 백업도 섹터별 백업만 지원하기에 용량이 커진다. 윈도우에 내장된 백업/복구 유틸로는 파일만 따로 빼서 복구하거나 파일 수준 스냅샷도 지원하나 해당 툴이 CLI라서 직관적이지 않다. 그리고 당연히 증분/차등은 안 되니 이점을 꼭 고려해야 한다. 또 NTFS와 다르게 메타데이터를 저장하는 추가 용량이 발생한다. 하드 용량에 따라 다르지만 10TB 기준으로 67GB가 메타데이터 공간으로 빠지게 되니 참고하자.
- NTFS와 다른 특징으로 ReFS는 상시 오류 검출, 수정을 진행하기 때문에 오류 검사가 필요없고 chkdsk 같은 오류 검사 툴도 지원하지 않는다. 하지만 HDD 내 배드 섹터 발생 혹은 과도한 쓰기 작업으로 때때로 복구 허용치를 초과하는 오류가 발생하는 경우가 있는데 NTFS에서는 해당 폴더나 파일이 읽히지 않는 정도로 그친다면 ReFS는 볼륨이 RAW으로 바뀌고 일반적인 방법으로는 더 이상 액세스를 할 수 없게 된다. 이때는 무조건 별도 복구 프로그램을 통해 전체 데이터 복구를 진행해야 하는 번거로움이 있으니 정말 중요한 자료만 모아서 보관하는 게 아니라면 그냥 NTFS를 쓰도록 하자. 다만 복구 진행 시 오류가 발생한 부분 외에는 모두 복구가 가능할 정도로 복구율은 아주 높다.
5.1. 비교
종류 | NTFS | ReFS | 비고 |
최대 경로 이름 길이 | 유니코드 문자 32k | 유니코드 문자 32k | |
최대 파일 크기 | 8PiB | 16EiB | |
최대 볼륨 크기 | 8PiB | 1YiB | |
BitLocker 암호화 | 예 | 예 | |
CSV 지원 | 예 | 예 | |
소프트 링크 | 예 | 예 | |
장애 조치 클러스터 지원 | 예 | 예 | |
엑세스 제어 목록 | 예 | 예 | |
USN 저널 | 예 | 예 | |
변경 알림 | 예 | 예 | |
접합 지점 | 예 | 예 | |
탑제 지점 | 예 | 예 | |
재분석 지점 | 예 | 예 | |
볼륨 스넵숏 | 예 | 예 | |
파일 ID | 예 | 예 | |
OPlock | 예 | 예 | |
스파스 파일 | 예 | 예 | |
명명된 스트림 | 예 | 예 | |
블록 복제 | 아니요 | 예 | |
스파스 VDL | 아니요 | 예 | |
파일 수준 스냅샷 | 아니요 | 예 | 윈도우 서버 2022 이상만 지원 |
실시간 계층 최적화 | 아니요 | 예 | 저장소 공간 다이렉트에서만 |
파일명 알파벳 대소문자 구분 | 예 | 예 | ReFS 3.9 버전 부터 지원 |
파일 시스템 압축 | 예 | 예 | ReFS 3.9 버전 부터 지원 |
데이터 중복 제거 | 예 | 예 | ReFS 3.2 버전 즉 Windows Server 2016 버전 1709부터 정식 지원 |
하드링크 | 예 | 예 | ReFS 3.5 버전부터 지원 |
트랜잭션 | 예 | 아니요 | |
파일 시스템 암호화 | 예 | 아니요 | |
개체 ID | 예 | 아니요 | |
짧은 이름 | 예 | 아니요 | |
확장 특성 | 예 | 아니요 | |
디스크 할당량 | 예 | 아니요 | |
부팅가능 | 예 | 제한적 | 개발자 빌드에서 해당 기능을 넣었다 뺐다 하면서 테스트중 |
이동식 미디어에서 지원 | 예 | 제한적 | 다만 하드디스크로 인식되면 포맷과 사용 모두 가능하다. |
NTFS 저장소 계층 | 예 | 아니요 | |
NT 3.x | 예 | 아니요 | NTFS 1.0/1.1버전부터 지원 |
NT 4.x | 예 | 아니요 | NTFS 1.2버전부터 지원 |
NT 5.x | 예 | 아니요 | NTFS 3.0/3.1버전부터 지원 |
NT 6.0/6.1 | 예 | 아니요 | |
NT 6.2 | 예 | 예 | 서버군만 지원 [8] |
NT 6.3 | 예 | 예 | 서버군만 지원 |
NT 10.0 | 예 | 예 | 1709 이전 버전까지 Pro와 서버군 지원 |
6. 평가
벤치마크를 보면 처음 등장한 베타버전부터 거의 모든면에서 NTFS를 압도했다.#그러나 실제 체감성능이 그리 크지않고 Windows Server 2012 R2/Windows 8.1 부터 사용 가능하기 때문에 Windows 8/Windows Server 2008 R2 이하 구형 OS는 사용 불가능하다는 단점이 있다.[9] 그리고 기능 면에서도 초기엔 NTFS가 지원 되는게 더 많았었다.
다만, 일반 사용자용으로 많이 사용되는 Home 버전에서 의도적으로 생성 기능을 제한하여 실제 사용자가 많지 않은데, 이는 마이크로소프트의 큰 실책으로 볼 수 있다. 어떤 소프트웨어나 기능이든 간에 일단 사용자를 많이 유도해야 문제점이나 수정 사항의 피드백을 활발하게 받을 수 있는데, ReFS는 "전문가/서버용으로 특화된 파일 시스템입니다~"라고 백날 우겨봤자 후발주자에 실증적인 데이터도 없는 생소한 파일 시스템에 불과할 뿐이기 때문. 차라리 처음부터 일반 사용자와 전문가/서버용 양 쪽을 포용할 수 있는 시스템으로 개발 방향을 잡았더라면 성능에 목숨거는 하드코어 일반 사용자부터 알음알음 퍼져나가서 실증적 데이터가 상당히 쌓일 수 있었을 것이다. 그러나 마이크로소프트는 윈도우 10 1709 부터 PRO 버전에서도 ReFS 파티션 생성을 막고 오직 Pro 워크스테이션에서만 사용할수 있게 하였고 급기야 서버 2022 이상에서만 ReFS의 파일수준 스넵샷 기능을 사용할수있게 하는 등 점차 개인용 윈도우에서 ReFS 사용에 제한을 두고 있다.
부팅 디스크에 적용되지 않아 C드라이브 즉 부팅용 디스크는 지원하지 않는다.[10] 그건 즉 ReFS가 아직도 시스템 부팅에 적용될 만큼 안전성과 기능을 확보하지 못했을 가능성이 있다고 추정된다. 다만 윈도우 10 개발자 빌드 20185부터 개발자 버전에만 한해서 bootx64.efi와 winload.efi에서 ReFS 마운트를 인식해서 정상적으로 부팅가능하다. 그런데 빌드 22593부터 부팅기능이 빠지고 DISM도 인식하지 못하다가 25330부터 다시 부팅이 가능해지는걸 보면 마이크로소프트 내부에서만 테스트만 하던 수준이였다. 24H2(윈도우 12) 25931 Canary 인사이더 프리뷰 부터 일반 베타 사용자도 사용할수 있게 바뀌었으며, 가상메모리 생성 버그가 잡혔다는 릴리즈 노트가 나오는걸 보면 윈도우 12부터 부팅용 파일 시스템으로 사용되어 NTFS를 대체해갈 것으로 추정된다.
또한 하드 디스크/SSD에만 사용 가능하며, USB 메모리/SD 카드는 지원하지 않는다.[11] OneDrive나 Dropbox 같은 클라우드 동기화 서비스도 ReFS를 지원하지 않고 있다. 그리고 SSD를 ReFS로 포맷 할 때는 매우 느리게 진행된다. HDD는 금방 끝나지만 SSD는 몇 분정도 걸리는데 아마도 SSD에 맞게 변환을 시키는 것이 아닌가 한다.
특히 NTFS의 기능이 많이 빠지고 업데이트할 때 조금씩 추가되는 것을 보면 아직 많이 멀었다는 것이 일반적인 의견이다. 여러 파티션 소프트웨어에서도 아직도 호환이 안 이루어질 만큼 윈도우 정기 대규모 업데이트에 맞춰 업데이트 되어 이전 버전과 호환이 어려울[12] 만큼 변화가 있고 더욱이 일반 버전 윈도우에서는 생성도 불가하다보니 대중화가 점점 늦어지는 문제도 있다. 애초에 이미 상용버전이면서도 상용버전으로 나온 것 같지 않은 NTFS에서 누락된 기능을 잦은 업데이트로 추가하는 것은 서버 등 유지보수 쪽에서도 적용을 매우 꺼리는 부분이기도 하다.
가장 큰 문제는 버전 납치 현상. 윈도우를 업데이트하여 ReFS에 중요한 버전 업데이트가 발생하면, (설령 Windows Insider Program에서 개발 중인 버전이라도) 액세스 가능한 ReFS 드라이브를 무조건 해당 윈도우의 버전으로 업데이트하기 때문에, 윈도우 버전을 낮출 경우 엑세스가 불가능해 RAW로 나오는 문제가 생길 수 있다. 해당 파티션을 쓰기 금지 상태로 만들면 버전 납치 현상은 없어지긴 하지만 반대로 상위 윈도우에서 해당 파티션을 읽지 못 한다. 이러한 버전 업과 마운트 불가 자체는 NTFS에도 있었다지만, 2001년 윈도우 XP와 함께 나온 NTFS 3.1 이후 버전 업도 없었고 윈도우 NT 4.0같은 구형 OS가 더 이상 쓰이지 않아서 잊혀진지 십수년이 지난 후 같은 문제를 어떠한 보완[13]도 없이 똑같이 또 일으키는 건 엄청난 태만이다.
가끔 파일 삭제가 안되는 이상한 문제가 생기기도 한다. 분명 해당 위치에 존재하는 파일이지만 없는 파일로 표기되며 삭제가 안 되는데 이 경우 외부 프로그램으로 혹은 안전모드에서 삭제하면 된다.
3.7 버전에서 한 하드에 여러 파일을 동시 디코딩/인코딩 작업을 하는 등 부하를 극한까지 걸어버리면 파티션이 인식되지 않는 버그가 있다. 이 경우 컴퓨터를 완전 종료하고 부팅하면 해결된다. 재부팅으로는 해결이 안 되니 주의하자.
7. 여담
- 초기 상태에서도 기본적으로 사용되는 용량이 큰 편이다.#
- Home/Pro 버전에서도 생성 코드 자체는 살아있기 때문에, 간단한 서드파티 툴로도 ReFS로 포맷을 할 수 있다. GitHub 링크. Windows 11 23H2부터는 별도의 툴 없이 명령어 라인으로도 포맷을 할 수 있다.
- Windows 11에서 NTFS를 대체할 예정이라는 소식이 전해졌다. 링크
- 2022년 1월 18일 윈도우 업데이트로 인한 버그로 ReFS 파티션이 인식이 안되는 문제가 발생했다. 추후 패치를 통해 해결되었지만 파티션이나 저장장치에 문제가 있는 줄 알고 자료를 포기하고 포멧해버린 사람들은 그대로 자료를 삭제해버리는 어이없는 상황이 벌어져버렸다. 만약 이런 경우가 발생했다면 몇주동안 버텨보고 업데이트 정보를 참고하여 복구할 수 있는지 기다려보는 것이 좋다.
- 카나리아 채널로 테스트한 버전 24H2에 처음으로 ReFS로 대체되는 소식이 간접적으로 확정이 된 것으로 보인다. 링크
8. 관련 문서
[1] Windows 8는 공식으로 지원하지 않기 때문에 명령어를 통해 강제로 활성화해야 한다.[2] Windows 10 1709부터는 레지스트리 편법이 막혔다. 다만 이는 ReFS 생성이 막힌 것이지, 기존에 생성된 ReFS 파티션은 모든 윈도우 10에서 사용 가능하다. Pro for Workstation 또는 Enterprise 제품 키를 입력하면 ReFS 파티션을 생성할 수 있다.[3] 아무래도 기존 라이선스의 OEM 공급 조절에 실패하여, OEM 라이선스가 그냥 마구잡이로 초특급 덤핑가에 풀려버린 바람에 그걸 무마하기 위해 라이선스를 리뉴얼하려 했나 보다. 아무래도 엔터프라이즈 라이선스가 10달러 미만으로 풀려버린 적이 있는지라... 또한 Workstation 버전은 아직 복돌판으로 뚫리지도 않았기에 지나치게 복돌 사용자가 늘어나서 생기는 타격을 줄이는 효과도 있을 것이다. 물론, 마이크로소프트가 일반 사용자 대상으로 애매모호하게 라이선스 정책을 펼치고 있기 때문에 회색 경로는 여전히 존재한다.[4] 같은 Windows 10끼리도 빌드 넘버에 따라서 읽지 못할 수 있다. Ex) 1803에서 생성된 ReFS 파티션을 1607에서 읽지 못하는 경우[5] 이는 ReFS가 버전별로 나누어져 있어서이다. 가령 최신 버전 ReFS는 3.3 버전으로 Windows 10 1709 이상은 읽을 수 있으나, 초기 Windows 10은 1.2 버전을 쓰기 때문에 읽을 수 없다.[6] 쓰기 가능한 경우[7] MS 포럼에서는 이 부분을 명령어로 파일 하나씩 이름을 입력하여 해결하는 방법이 있으나 수많은 파일을 일일이 하기엔 너무 시간이 많이 걸린다. 또는 NAS에서 파일을 압축한 뒤 ReFS에 복사해서 압축을 해제해도 된다.[8] Windows 8에서는 인식 불가능하나 강제로 활성화시 사용가능하다.[9] 명령어를 통해 강제로 활성화 할 경우 윈도우 8부터는 사용가능하다.[10] 여기서 나오는 미묘한 장점은 Vista 이후의 운영체제는 시스템 예약 파티션을 할당하는데, ReFS는 부팅용으로 사용할 수 없기 때문에 시스템 예약 파티션도 할당되지 않아서 원하지 않는 드라이브에 시스템 예약 파티션이 할당되는 일을 의도적으로 막을 수 있다는 것.[11] 단 이동식 디스크가 아닌, 드라이브로 마운트 되는 USB는 가능하기 때문에 드라이버를 수정해서 포맷은 가능하나 포맷 이후에도 이동식 디스크로 인식되면 아예 인식되지 않는다.[12] 상술했던 구형 버전 윈도우에선 읽지를 못한다.[13] 그냥 RAW로 나오는 대신 ReFS 버전 때문에 마운트 할 수 없다는 메시지를 표기한다던가