윈도우 11은 따로 프로그램을 깔지 않아도 RAR 파일을 탐색기에서 열 수 있게 됐습니다. 그런데 막상 받은 RAR을 더블클릭하면 어떤 것은 바로 열리고, 어떤 것은 오류가 나거나 아예 비어 보입니다.
직접 시험해 보니 갈림길은 RAR 버전보다 '암호'와 '분할 압축'이었습니다. 평범한 RAR은 잘 열렸지만, 암호를 건 RAR과 여러 조각으로 나눈 RAR은 제대로 풀리지 않았습니다. 특히 분할 압축은 오류 메시지 없이 크기만 멀쩡한 깨진 파일을 만들어서, 모르고 쓰면 나중에야 알게 됩니다.
윈도우 탐색기가 RAR을 여는 엔진으로 시험했습니다
윈도우 11의 RAR 지원은 libarchive라는 오픈소스 압축 라이브러리를 바탕으로 만들어졌습니다(Engadget 보도). 그래서 같은 엔진인 libarchive 3.7.2와, RAR을 만든 곳에서 내놓은 공식 해제 프로그램 unrar 7.00으로 같은 파일을 열어 비교했습니다.
압축할 폴더에는 한글 이름이 들어간 텍스트 5개, JPG 1장, 300KB짜리 데이터 파일 1개를 넣었습니다. 이 폴더를 RAR 7.00으로 일반, 솔리드, 내용만 암호, 파일 이름까지 암호, 150KB 분할의 다섯 가지로 묶었습니다. 측정 환경은 Ubuntu 24.04입니다. 윈도우에 들어간 libarchive 버전은 이것과 다를 수 있어서, 결과는 '같은 엔진이 이렇게 동작했다'는 기준으로 읽어 주세요.

일반 RAR과 솔리드 RAR은 문제없었습니다
일반 RAR5와 솔리드 RAR5는 libarchive에서도 파일 7개가 모두 보였고, 풀어 낸 파일을 원본과 하나씩 비교해 보니 전부 똑같았습니다. 솔리드 압축은 여러 파일을 한 덩어리로 이어 붙여 압축률을 높이는 방식인데, 여는 데에는 차이가 없었습니다.
암호를 건 RAR은 두 종류가 다르게 실패합니다
RAR의 암호에는 두 가지가 있습니다. 내용만 잠그는 방식과 파일 이름까지 잠그는 방식입니다.
내용만 잠근 RAR은 libarchive에서 파일 목록이 그대로 보였습니다. 그래서 열린 줄 알고 풀기를 누르면 첫 파일에서 체크섬 오류가 나며 멈췄고, 폴더에는 원본과 크기는 같지만 내용이 전혀 다른 사진.jpg 한 장이 남았습니다. 암호를 묻는 창은 나오지 않았습니다.
파일 이름까지 잠근 RAR은 목록부터 열리지 않고 '암호화는 지원하지 않는다'는 오류가 바로 났습니다. 윈도우 탐색기도 암호가 걸린 압축은 풀지 못한다는 점이 출시 당시 알려져 있습니다. 반면 unrar는 두 경우 모두 암호를 넣자 7개 파일이 원본과 똑같이 풀렸습니다.
가장 위험한 경우: 분할 압축의 첫 조각만 열 때
용량 때문에 '파일.part1.rar', '파일.part2.rar'처럼 나눠 받은 RAR을 libarchive로 첫 조각만 열어 봤습니다. 목록에는 7개 중 2개만 보였고, 풀기를 누르자 오류 없이 두 파일이 생겼습니다.
문제는 그중 하나였습니다. 300,000바이트짜리 데이터 파일이 크기는 정확히 300,000바이트로 나왔는데, 원본과 비교해 보니 147,593번째 바이트부터 끝까지 전부 0으로 채워져 있었습니다. 뒷부분은 두 번째 조각에 들어 있는데 그걸 읽지 못한 채 빈칸으로 채운 것입니다. 파일 크기만 보면 정상이라 깨진 줄 모르고 넘어가기 쉽습니다.
unrar는 첫 조각을 열면 같은 폴더의 다음 조각을 스스로 찾아 이어 읽었고, 7개 파일이 모두 원본과 같았습니다. 분할 압축은 모든 조각을 한 폴더에 모은 뒤 전용 프로그램으로 첫 조각을 여는 것이 안전합니다.
받은 RAR이 RAR4인지 RAR5인지 구별하는 법
RAR에는 예전 형식인 RAR4와 지금의 RAR5가 있습니다. 이번에 쓴 RAR 7.00에서는 RAR4로 만드는 옵션(-ma4)을 넣자 '알 수 없는 옵션'이라는 오류가 났습니다. 최신 버전은 RAR4를 더는 만들지 않는다는 뜻이라, 새로 받는 RAR은 대부분 RAR5입니다.
구별은 파일 첫 바이트로 합니다. 이번에 만든 RAR5 파일의 첫 8바이트는 52 61 72 21 1A 07 01 00이었습니다. RAR4는 같은 자리가 52 61 72 21 1A 07 00으로 한 바이트 짧습니다. 오래된 프로그램이 RAR5를 못 열 때 원인을 가리는 데 쓸 수 있습니다.
def rar_version(path):
head = open(path, "rb").read(8)
if head == b"Rar!\x1a\x07\x01\x00":
return "RAR5"
if head[:7] == b"Rar!\x1a\x07\x00":
return "RAR4"
return "RAR 아님"
print(rar_version("받은파일.rar"))
상황별로 무엇으로 열까
| 받은 RAR | 여는 방법 |
| 암호 없는 RAR 한 개 | 윈도우 11 탐색기로 충분합니다. |
| 암호가 걸린 RAR | 반디집, 7-Zip, WinRAR처럼 암호 입력을 지원하는 전용 프로그램 |
| part1, part2로 나뉜 RAR | 모든 조각을 한 폴더에 모으고 전용 프로그램으로 part1을 엽니다. |
| 풀린 파일이 열리지 않을 때 | 파일 크기만 믿지 말고, 전용 프로그램으로 다시 풀어 비교합니다. |
함께 읽으면 좋은 글
'압축' 카테고리의 다른 글
| ZIP 파일을 다시 ZIP으로 묶으면 정말 더 작아질까? (0) | 2026.10.17 |
|---|---|
| 압축 파일 안의 문서 한 장만 고쳐야 할 때, 전부 풀지 않고 바꾸기 (0) | 2026.10.01 |
| 압축 파일 안에 뭐가 들었는지, 풀지 않고 확인하고 필요한 것만 꺼내기 (0) | 2026.09.30 |
| 최고 압축을 고르면 얼마나 더 줄어들까, 레벨 0부터 9까지 재 봤습니다 (0) | 2026.09.27 |
| 사진과 동영상을 ZIP으로 묶으면 용량이 줄 거라는 생각, 실제로는 거의 그대로입니다 (0) | 2026.09.22 |