diskutil을 맥에서 디스크/파티션/APFS/RAID(CoreStorage 포함) 전부 다루는 “만능 공구”
- 전체 개요/도움말 보기
- man diskutil : 공식 매뉴얼(가장 정확)
- diskutil 만 치면 가능한 동사(verbs) 요약이 쭉 나옴.
- 장치 식별자는 /dev/diskN(전체 디스크), /dev/diskNsM(파티션/볼륨) 형태.
- GUI인 디스크 유틸리티와 기능 매칭됨(First Aid/지우기/분할 등). 개념이 헷갈리면 GUI 설명도 도움 됨.
1) 조회(안전) 계열
- diskutil list
모든 디스크/컨테이너/볼륨 트리를 목록화. 장치 경로 파악의 첫 단계.
예) 어떤 외장 SSD가 disk3인지부터 확인. - diskutil info <device|mountpoint> / diskutil info -all
선택한 디스크/볼륨의 상세 정보(파일시스템, UUID, SMART, 암호화 등). 시스템 전체면 -all. - diskutil listFilesystems
eraseDisk/partitionDisk 등에 사용할 지원 포맷 이름(예: APFS, JHFS+, MS-DOS FAT32 등)과 별칭을 보여줌. 정확한 포맷 토큰이 필요할 때 필수. - diskutil activity
디스크 유틸리티가 수행 중인 작업(백그라운드) 표시.
2) 마운트/언마운트/꺼내기
- diskutil mount <device>
볼륨 마운트. (암호화면 잠금 해제 필요할 수 있음) - diskutil unmount <device|mountpoint>
단일 볼륨만 언마운트. - diskutil unmountDisk <wholeDisk>
해당 디스크의 모든 볼륨 언마운트. 파티션 편집 전 주로 사용. - diskutil eject <device>
매체 배출(USB/외장 등 분리). 안전 제거.
3) 점검/복구
- diskutil verifyDisk <wholeDisk> / diskutil repairDisk <wholeDisk>
파티션 지도/디스크 구조 점검·복구. - diskutil verifyVolume <device|mountpoint> / diskutil repairVolume <device|mountpoint>
파일시스템 점검·복구(First Aid의 CLI). 문제 땐 복구를 시도.
팁: 부팅 디스크 복구는 리커버리 환경에서 실행해야 하는 경우가 많음. GUI 설명도 참고.
4) 지우기/포맷/무작위화(파괴적)
- diskutil eraseDisk <format> <name> <wholeDisk>
디스크 전체를 파티션/포맷해서 지정 포맷의 단일 볼륨으로 초기화.
예) diskutil eraseDisk APFS WorkSSD disk3 (주의: disk3의 모든 데이터 삭제) - diskutil eraseVolume <format> <name> <device>
볼륨 하나만 재포맷(같은 컨테이너/디스크 유지). - diskutil eraseOptical <device>
지울 수 있는 광학 미디어 초기화(가능한 경우). - diskutil zeroDisk <device> / diskutil randomDisk [times] <device>
디스크를 0으로 덮어쓰기 또는 난수로 [횟수]회 덮어쓰기(보안 삭제 용도).
덮은 뒤엔 다시 파티션/포맷을 해야 사용 가능. - diskutil secureErase <level> <device>
HFS+ 등에서 지원되는 보안 삭제 모드(매체와 OS 버전에 따라 제한).
5) 파티션/크기 조정(데이터 파괴/보존 옵션 주의)
- diskutil partitionDisk <wholeDisk> <numberOfPartitions> <scheme> <fmt1> <name1> <size1> ...
디스크 전체를 재파티션. 완전 파괴적이라 백업 필수.
scheme: GPT(인텔/Apple Silicon), MBR, APM. 각 파티션의 트리플렛(포맷/이름/크기)을 순서대로 지정. 포맷 가능한 이름은 listFilesystems로 확인. - diskutil addPartition <device> <format> <name> <size>
남는 여유 공간에 파티션 추가. - diskutil splitPartition <device> <numberOfPartitions> <fmt1> <name1> <size1> ...
하나의 파티션을 여러 개로 분할. 상황에 따라 데이터 보존/포맷 프롬프트가 나올 수 있음. - diskutil mergePartitions <format> <name> <fromDevice> <toDevice>
연속된 파티션들을 병합. 첫 파티션을 기준으로 병합하며 제한 조건(연속성/언마운트 등)이 있다. - diskutil resizeVolume <device> <size>|R [<newFormat> <newName>]
볼륨/파티션 크기 조정(가능하면 무파괴). R은 가능한 최대/최소로 확장·축소. 파일시스템/상황에 따라 제한.
6) APFS 전용(컨테이너/볼륨/역할/암호화)
APFS는 컨테이너(물리 스토어 위의 풀) 안에 여러 볼륨을 가지는 구조. 대부분의 APFS 작업은 diskutil apfs … 서브커맨드로 수행한다. 전체 목록은 매뉴얼의 APFS 섹션을 참고. 아래는 현업에서 많이 쓰는 핵심만.
- diskutil apfs list
APFS 컨테이너/볼륨 구조 트리 출력. 시작점으로 가장 자주 씀. - diskutil apfs createContainer <physicalStore> / deleteContainer <container>
컨테이너 생성/삭제. 삭제는 내부 볼륨이 전부 사라지므로 주의. - diskutil apfs addVolume <container> <format> <name> [-role <role>]
컨테이너에 새 볼륨 추가. -role로 역할 지정 가능(예: T = Time Machine, S=System, D=Data 등). 역할 코드는 단문자. - diskutil apfs deleteVolume <volume> / eraseVolume <format> <name> <volume>
볼륨 삭제 또는 재포맷. 컨테이너는 유지. - diskutil apfs resizeContainer <container> <size>|R
컨테이너 크기 조정(주로 디스크 여유 공간과 경계 조정). - diskutil apfs convert <device>
HFS+를 무파괴 변환으로 APFS로 전환(가능한 경우). - diskutil apfs listUsers <volume>
FileVault/APFS Crypto Users(보안 토큰 사용자) 목록. - diskutil apfs unlockVolume <volume> [-passphrase ...] / lockVolume <volume>
암호화 볼륨 잠금 해제/잠금. (버전에 따라 decrypt/encrypt 옵션 변화 이슈가 있었음) - diskutil apfs changeVolumeRole|chrole <volume> <roles>
APFS 볼륨 역할 플래그 변경. (예: S, D, T 등)
역할 코드 의미 요약: B(Preboot), R(Recovery), V(VM), I(Installer), T(Time Machine), S(System), D(Data), U(User) 등. 실제 코드는 버전에 따라 추가될 수 있음.
7) CoreStorage(구 FileVault/LVG) & AppleRAID
현 macOS는 APFS가 주류지만, 과거 볼륨/암호화/RAID를 위해 쓰던 CoreStorage/AppleRAID 명령이 남아 있어 레거시 환경이나 호환 작업에 필요할 수 있어.
- diskutil coreStorage|cs <subverb ...>
논리 볼륨 그룹(LVG)/논리 볼륨(LV) 등 가상 디스크 레이어를 생성·변환·해제. 전체 서브버브는 매뉴얼 참조(예: list, convert, revert, create, delete, unlockVolume, decryptVolume 등). - diskutil appleRAID|ar <subverb ...>
소프트웨어 RAID(0/1/concat 등) 생성/확장/복구/상태조회. (create, add, remove, list, repair, update 등)
8) 저널/이름/기타 유틸
- diskutil enableJournal <device> / disableJournal <device>
HFS+의 저널링 켜기/끄기. - diskutil rename <device> <newName> / renameVolume ...
볼륨 이름 변경(APFS/HFS+ 등 포맷별로 가능). - diskutil verifyPermissions / repairPermissions
오래된 맥 OS X(El Capitan 이전)에서 쓰이던 권한 점검/복구. 최신 macOS에선 의미 없음(시스템 무결성 정책 변화).
9) 안전 가이드(실수 방지 체크리스트)
- 반드시 diskutil list로 대상 디스크 재확인(외장 여러 개 꽂혀 있으면 혼동 100%).
- eraseDisk/partitionDisk/mergePartitions는 파괴적: 실행 전 백업 + 대상 식별자 더블체크.
- APFS는 컨테이너/볼륨 계층을 명확히. “볼륨만 지우기” vs “컨테이너 삭제”는 파급이 다름.
- FileVault/암호화가 얽히면 apfs listUsers, unlockVolume 순서를 준수. 버전별 동작 변경 사례도 있었다.
- 문법이 길 때는 매뉴얼 원문을 확인(특히 트리플렛/사이즈 표기법, 역할코드, -plist 등).
10) 바로 쓰는 예제 모음
- 외장 SSD를 APFS로 전체 초기화 후 이름을 WorkSSD로:
- diskutil list diskutil eraseDisk APFS WorkSSD disk3
- APFS 컨테이너에 Time Machine 전용 볼륨 추가:(role T = 백업) (The Eclectic Light Company)
- diskutil apfs list diskutil apfs addVolume disk3s2 APFS "TM-Backup" -role T
- 볼륨 점검/복구(외장 드라이브가 /Volumes/Media로 마운트된 경우):
- diskutil verifyVolume /Volumes/Media diskutil repairVolume /Volumes/Media ``` :contentReference[oaicite:30]{index=30}
- 컨테이너 크기 최대치로 확장:
- diskutil apfs resizeContainer disk3s2 R
- 안전 분리(모든 볼륨 언마운트 후 배출):
- diskutil unmountDisk disk3 diskutil eject disk3
원문/세부 옵션
- diskutil 공식 매뉴얼: 모든 동사/서브커맨드/인자 정의(버전별 내용 포함). (unix.com)
- APFS/역할/사용자/스냅샷 등 심화 정리: APFS command tools 글(개념+예시 도움). (The Eclectic Light Company)
- APFS 볼륨 역할 개념과 코드 예시: -role 사용 시 참조. (The Eclectic Light Company)
'Operating System, OS > Mac' 카테고리의 다른 글
| Mac에서 Postgresql 사용하기 (1) | 2025.09.01 |
|---|---|
| 쓸모 없지만 재미있는 MAC CLI 명령어 모음 (5) | 2025.07.18 |
| MAC CLI로 7zip 사용하기 (0) | 2025.06.13 |
| Mac 내부 사운드 녹음, PC 사운드 녹음 및 화면 녹화 (2) | 2025.03.19 |
| MAC IntelliJ (3) | 2025.01.29 |