누구나 한번쯤은 살면서 $Mft::$BITMAP 때문에 화가 날 때가 있다.
오늘은 윈도우에서의 파티션 분할(축소) 방법에 대해 알아보겠다.
나같은 경우는 윈도우와 우분투의 듀얼 부팅을 위해 디스크를 분할하였다.
나의 노트북인 LG gram 스펙.
SSD 512GB, RAM 8GB, Windows 11
파티션 분할의 기본 개념
디스크 파티션이란?
하나의 물리 저장장치(SSD)를 논리적으로 여러 개의 공간으로 나누는 작업이다. 파티션을 나눠두면 각각 독립된 저장 공간처럼 쓸 수 있어서, 한 디스크에 두 OS를 설치할 수 있다.
제가 듀얼 부팅을 하기 위해 설정한 SSD 배치 목표는 기존 윈도우(475GB)를
윈도우 - 200GB, 우분투 - 275GB였다.
이유는 윈도우에서는 일상 작업만 진행할 것이고 리눅스에서는 모의 해킹 공부를 하기 위해서였다.
Windows 내장 디스크 관리 도구
Windows는 기본으로 디스크 관리(diskmgmt.msc) 라는 파티션 도구를 제공한다. 가장 먼저 이걸로 시도했다.
시도 과정
- Win + X → 디스크 관리 실행
- C드라이브 우클릭 → 볼륨 축소
- 분석 중…
- 결과: 축소 가능한 공간: 78,768 MB (약 78GB)
나한테는 빈공간이 300GB가 넘게 있었고 275GB를 비워야 하는데 78GB밖에 축소가 안 된다. 이게 문제였다.
Windows 이벤트 뷰어에서 원인을 확인해보니 아래와 같은 메시지가 찍혀 있었다.

범인은 $Mft::$BITMAP 이었다.
$Mft::$BITMAP 에 대하여
$Mft는 Master File Table의 약자로, NTFS 파일 시스템의 "파일 목록 인덱스" 역할을 한다.
Windows는 디스크 축소 시 파일을 앞쪽으로 끌어모아서 뒤쪽에 빈 공간을 만든다.
그런데 $Mft 같은 일부 시스템 파일은 이동할 수 없다(immovable). Windows가 실시간으로 계속 이 파일을 읽고 쓰기 때문이다.
예를 들자면
[■■■■■■□□□□□□□□□□□★□□□□□□□□□□□]
실제데이터 ↑ $Mft (이동 불가)
이 지점 너머로는 축소 불가
이런 느낌이다.
첫번째로 나는 시스템 파일들을 끄기 위해 cmd에서 최대 절전 모드를 끈다.
powercfg /h off
그런 뒤 재부팅했지만 효과가 없었다.
다음으로는 인터넷에서 파티션 전문 툴을 쓰면 된다고 해서 MiniTool Partition Wizard를 사용하여 파티션을 분할하려 했다.
하지만..
'Move/Resize Partition 기능은 Pro 버전 전용입니다.'
무료 버전은 파티션 분할이 되지 않았다.
다른 프로그램도 유료인 것을 보고 절망하고 있을 때..
Ubuntu 에서 GParted 로 파티션 분할
Windows가 꺼진 상태에서 파티션 작업을 하면 $Mft도 건드릴 수 있다.
Windows가 켜져 있는 한 $Mft는 잠겨있다.
그런데 Ubuntu Live USB로 부팅하면 Windows 자체가 꺼진 상태가 된다.
이 상태에서는 Windows의 $Mft가 더 이상 "사용 중"이 아니기 때문에 리눅스 도구로 자유롭게 조작할 수 있다.
GParted란
GNOME Partition Editor의 약자. 리눅스에서 사용하는 파티션 관리 도구다.
나는 USB를 부팅USB로 만들어 우분투를 들어가 파티션을 분할하기로 한다.
나는 SanDisk 16GB USB를 사용하였다.
Windows에서 사전 준비
powercfg /h off
추가로
●BitLocker 확인
나같은 경우는 BitLocker를 사용하지 않아 상관 없었지만 혹시 모르니 비트로커를 해제해야 한다.
이유는 글 제일 아래에 느낀 점에 있다.
● 중요 파일 백업
이것도 혹시나를 대비하는 것이다.
● 윈도우에서 쓸모없는 파일 정리하기.
윈도우는 200기가만 부여할 것이기 때문에 미리 정리를 해놔야한다.
● 충전기 연결하기
배터리가 방전되면 데이터 손실이 일어날 수 있다.
Rufus로 Ubuntu 부팅 USB 만들기
- rufus.ie에서 Rufus 다운로드
- https://ubuntu.com/download/desktop에서 Ubuntu 다운로드
- Rufus 실행 후 설정:

※ 부팅 USB 과정에서 안에 있는 파일들은 전부 지워지니 파일이 들어있지 않은 USB를 사용하길 바란다.※
마지막으로 START 클릭.
그렇게 부팅USB를 만들었다면
● Windows 완전 종료 (Shift + 시스템 종료)
● USB 꽂은 상태에서 전원 버튼
● LG gram은 F10 연타로 부팅 메뉴 진입
● "SanDisk..." 선택
● GRUB 메뉴에서 "Try or Install Ubuntu" Enter





이 때 꼭 Try Ubuntu를 선택해야 한다.
이것이 바로 우분투를 깔지 않고 부팅USB로 파티션 설정하는 법이다.
이제 우분투 바탕화면에서 터미널을 열고(ctrl + alt + t)
sudo gparted
을 입력한다. 비밀번호를 물으면 그냥 엔터를 치면 된다.

그렇다면 이제 파티션 구조를 확인할 수 있다.

위 사진은 이미 파티션 분할이 끝난 내 우분투이다.
실제로는 이렇게 뜰 것이다.
Device File System Size Used
─────────────────────────────────────────────
/dev/nvme0n1p1 fat32 100 MB 30 MB ← EFI (건드리지 말 것)
/dev/nvme0n1p2 (msftres) 16 MB - ← MSR (건드리지 말 것)
/dev/nvme0n1p3 ntfs 475 GB 130 GB ← Windows, 이걸 축소
/dev/nvme0n1p4 ntfs 1 GB 800 MB ← 복구 파티션 (건드리지 말 것)
- 큰 NTFS 파티션(nvme0n1p3) 우클릭 → Resize/Move
- 슬라이더 또는 직접 입력으로 크기 조정
- New size: 204800 MiB (= 200GB)
- Free space preceding: 0 (무조건 0 유지. 안 그러면 Windows 부팅 안 됨)
- Free space following: 자동 계산 (약 275GB, 실제로는 몇기가 더 작음.)
- Resize/Move 버튼 클릭
- 상단 ✓ (Apply All Operations) 버튼 클릭
- 경고창 → Apply
- 잠시 대기.
작업이 끝나면 "All operations successfully completed" 메시지가 뜬다.
Close 버튼을 눌러 창을 닫으면 GParted 메인 화면에서 결과를 확인할 수 있다.
변경 후:
/dev/nvme0n1p1 fat32 100 MB ← EFI
/dev/nvme0n1p2 (msftres) 16 MB ← MSR
/dev/nvme0n1p3 ntfs 200 GB ← Windows 축소됨
unallocated 275 GB ← 빈 공간 생김
/dev/nvme0n1p4 ntfs 1 GB ← 복구 파티션
실제로 unallocated의 공간은 더 작을 것이다. 정상이니 걱정하지 않아도 된다.
Windows 정상 작동 확인
GParted 종료 → 화면에 "Please remove the installation medium..." 메시지 뜨면 SanDisk USB 뽑기 → Enter → 재부팅.
Windows가 평소처럼 정상 부팅되면 성공이다.
윈도우 디스크 관리에서 C드라이브가 200GB로 줄어있고, 옆에 '할당되지 않음'에 대략 275GB 공간이 보여야 한다.
마치며..
원래라면 얼마 안걸릴 것을 몇시간을 걸려가며 삽질을 했다.
$Mft::$BITMAP이놈은 내 기억속에 영원히 남을 것이다.
windows는 설계상 자기 자신의 시스템 파일을 건드릴 수 없어 생긴 문제 같다.
생각해보면 $Mft 파일의 배치가 이상하게 되어있었던 걸지도 모르겠다.
어쨋든 몇시간만에 성공하여 기분이 좋았다.
그리고 생각을 더 해보니 사실 굳이 우분투같은 리눅스를 설치할 게 아니어도 윈도우에서 파티션을 분할할때 에러가 있으면 그냥 리눅스가 들어있는 부팅 USB로 파티션만 나누고 다른 운영체제를 깔아도 된다.
파티션 분할은 OS에 따라 다른것이 아니라 OS와는 다른 독립된 작업이기 때문이다.
그리고 이것으로 보안의 취약점도 생각해 볼 수 있다.
예를 들어 어떤 컴퓨터의 전원을 끄고 부팅USB를 꽃고 리눅스로 부팅한다면 비밀번호같은것 필요 없이 하드디스크의 모든 파일에 접근 가능할 수도 있을 것 같다.
이런 공격 때문에 BitLocker같은 디스크 암호화 기술이 필요한 것 같다.
이런 이유로 인해 비트로커를 해제하고 작업을 해야한다.
이 취약점을 이용한 공격 시나리오는 노트북 탈취 → USB로 부팅 → NTFS 파티션에서 windows 계정 해시 추출(SAM파일) → 오프라인 크래킹이 있다.
방어 시나리오로는 비트로커 사용, BIOS비밀번호 사용, USB부팅 차단 설정이 있다.
'정보보안 공부' 카테고리의 다른 글
| Privilege Escalation과 Jailbreak (0) | 2026.05.31 |
|---|---|
| A Survey of Claude Mythos Preview's Cybersecurity Capabilities (0) | 2026.04.27 |
| NMAP과 wireshark를 활용한 사이트 스캐닝 (1) | 2026.04.26 |
| 칼리 리눅스 다운로드하기 (0) | 2026.04.21 |
| 정보보안 공부를 시작하기 전에.. (0) | 2026.04.14 |