macOS 15 Sequoia는 CoreStorage와 암호화된 HFS+ 볼륨 처리에 어려움을 겪었습니다. 이 운영체제는 두 기술 모두를 사용 중단(deprecated)시키고, 관련 작업을 수행하는 데 중요한 도구들을 무자비하게 손상시켰지만, 그럼에도 불구하고 대부분은 여전히 작동했습니다. 비록 제가 부팅할 때마다 – 항상은 아니었지만 – HFS+ 볼륨 중 일부를 수동으로 잠금 해제해야 했고, 또한 모든 볼륨을 APFS1로 변환하는 것은 거부했지만 – 결국 그래도 작동했습니다. 저는 데이터에 접근하여 볼륨들을 어느 정도 정상적으로 사용할 수 있었습니다.
안타깝게도 macOS 27에서는 더 이상 그렇지 않습니다. Golden Gate는 CoreStorage/암호화된 HFS+ 볼륨을 지원하지 않을 뿐만 아니라, 기본 상태(out of the box)로는 아무것도 할 수 없습니다. 마운트할 수도 없고, APFS로 변환할 수도 없으며, 심지어 지울 수도 없습니다. 이는 값비싼 스토리지 하드웨어를 완전히 무용지물로 만듭니다.
더 나쁜 것은, macOS 27이 부팅 시 오해를 불러일으키는 대화 상자를 표시하여, macOS 28(다음 버전)에서는 이 볼륨들을 지원하지 않을 것이라고 말한다는 것입니다. 저는 Apple이 무엇을 하거나 생각하는지 전혀 모르겠습니다. 어쩌면 이것은 그저 당황스러운 오해일 수도 있습니다. 파일 시스템 팀에서 알림팀에게 CoreStorage 및 암호화된 HFS+ 지원이 사라진다고 전달했고, 버전 번호를 27 대신 28로 잘못 입력한 것일까요?
상세 내용
macOS 27은 CoreStorage 볼륨을 자동으로 또는 어떤 정상적인 수단을 통해서도 마운트할 수 없습니다. 더 심각하게는, Disk Utility를 사용하더라도 수동으로 지시해도 마운트할 수 없으며, 다음과 같은 암호 같은 오류 메시지를 표시하며 실패합니다:
com.apple.DiskManagement.disenter error 49,153
diskutil mount
또한 실패하는데, 이번에는 명백한 거짓말인 오류 메시지가 나타납니다:
disk27 is a CoreStorage Logical Volume which is locked; use "diskutil coreStorage unlockVolume"
$ diskutil cs unlockVolume BC304645-7D99-481E-931F-855B3011D89DBC304645-7D99-481E-931F-855B3011D89D is already unlocked and is attached as disk27$ diskutil cs listCoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 0DC0EFB1-23CC-45BC-B37D-C1BBEBDAFCEB
이름: Smash
상태: 온라인
크기: 2000054960128 B (2.0 TB)
사용 가능 공간: 0 B (0 B)
|
+-< 물리 볼륨 1B5A1754-184B-4F17-A797-BF69B4BB627F
|
| ----------------------------------------------------
|
| 인덱스: 0
| 디스크: disk10s2
| 상태: 온라인
| 크기: 2000054960128 B (2.0 TB)
|
+-> 논리 볼륨 패밀리 376204CD-8048-4962-B05C-72F4FC16B77B
암호화 유형: AES-XTSEncryption 상태: 잠금 해제 전환 상태: 완료
높은 수준 쿼리: 완전히 안전함
|
| 암호 구문 필요
| 새 사용자 수락
| 표시되는 사용자 있음
| 볼륨 키 보유
|
+-> 논리 볼륨 BC304645-7D99-481E-931F-855B3011D89D
디스크: disk27
상태: 온라인
크기 (총): 1999702634496 B (2.0 TB)
롤백 가능: 아니요
LV 이름: Smash
볼륨 이름: Smash
콘텐츠 힌트: Apple_HFS
하지만 이 골칫거리(dumpster fire)의 더 나쁜 점은 macOS 27이 이러한 볼륨을 문제없이 마운트할 수 있다는 것입니다. 단지 이를 수행하는 모든 정상적인 방법들이 완전히 망가졌다는 것뿐입니다. 만약 낮은 레벨로 내려가서 mount_hfs를 직접 실행하면, 실제로 작동합니다:
$ sudo mkdir -p /Volumes/Smash
$ sudo mount_hfs -o rdonly /dev/disk27 /Volumes/Smash
$ ls /Volumes/Smash
Documents Pictures Scratch space
그렇긴 하지만… 이 -o rdonly 매개변수는 원칙적으로 필요해서는 안 되지만, 제가 어떤 방법을 사용하든 macOS 27이 HFS-on-CoreStorage 볼륨을 읽기/쓰기(read-write) 모드로 마운트하도록 하는 것을 할 수 없었습니다. 저는 항상
다행히도 Gemini 4 Argon의 도움으로 제가 해결책(workaround)을 찾았습니다. 다소 복잡하지만, 감사하게도 몇 단계만 거치면 됩니다.
먼저, 논리 볼륨 그룹(logical volume group)을 삭제하려고 시도하면 표면적으로는 실패하는 것처럼 보이지만, 완전히 실패하지는 않습니다. 실제로 그 안에 있는 논리 볼륨(logical volume)은 삭제됩니다:
$ diskutil cs delete 0DC0EFB1-23CC-45BC-B37D-C1BBEBDAFCEB
Started CoreStorage operation
Unmounting Logical Volumes
Destroying Logical Volume Group
Erasing disk10s2
newfs_hfs: cannot create filesystem on /dev/rdisk10s2: Resource busy
Mounting disk
Could not mount disk10s2 after erase
Error: -69832: File system formatter failed
💣 $ diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 0DC0EFB1-23CC-45BC-B37D-C1BBEBDAFCEB
Name: Smash
Status: Offline
Size: 2000054960128 B (2.0 TB)
Free Space: -none-
|
+-< Physical Volume 1B5A1754-184B-4F17-A797-BF69B4BB627F
(No properties)$ diskutil cs delete 0DC0EFB1-23CC-45BC-B37D-C1BBEBDAFCEB
Started CoreStorage operation
Destroying Logical Volume Group
Error: -69783: Unable to delete the CoreStorage Logical Volume Group
여전히 완전히 파괴할 수도 없고, 물리 볼륨(physical volume)을 지울 수도 없습니다. 'Resource busy' 오류가 지속되기 때문입니다. 하지만 요령은 재시동하는 것입니다. 그 후에야 비로소 볼륨을 지울 수 있습니다.
따라서 어떤 고장 난 것이 물리 볼륨(또는 논리 볼륨 그룹)을 '사용 중(busy)' 상태에 가두고 있는지는 그 안에 있는 논리 볼륨(logical volume)의 존재와 관련이 있으며, 이들이 삭제되고 (그리고 기계가 재부팅되면) 버그가 발생하지 않는 것 같습니다.
더 나은 해결책 요청
저는 이 볼륨을 제자리에 유지하거나(예: hfsutils를 사용하더라도) APFS로 변환하여 작동하게 만들려고 시도했던 수많은 디버깅 과정과 시도들을 간략히 언급했습니다. 하지만 저 자신이나 Gemini 4 Argon 모두 작동하는 방법을 찾지 못했습니다. 이미 너무 늦어서, 저는 HFS+ 및 CoreStorage 볼륨 전체를 삭제하고 백업에서 고통스러울 정도로 다시 구축해야 했습니다. 하지만 만약 누군가 방법을 찾아낸다면, 미래 독자들의 이익을 위해 이 게시물을 수정할 수 있다면 좋겠습니다.
- 문제는 macOS 27에서도 동일하게 남아 있습니다 – 최소한 세 가지 주요 macOS 버전에서 필수 시스템 업데이트 기능이 작동하지 않았습니다. 한숨.$ diskutil apfs convert disk27 disk27의 볼륨을 APFS 컨테이너의 APFS 볼륨으로 변환
Started APFS operation on disk27 (Smash)
(disk27에서 APFS 작업 시작 (Smash))
Converting the volume on disk27 to an APFS Volume on an APFS Container
(disk27의 볼륨을 APFS 컨테이너의 APFS 볼륨으로 변환 중)
The target is the Journaled HFS+ volume "Smash" on disk27 backed via CoreStorage on disk10s2
(대상은 disk10s2의 CoreStorage를 통해 백업된 disk27의 저널링된 HFS+ 볼륨 "Smash")
Checking booter partition disk10s3
(부팅 파티션 disk10s3 확인 중)
The target is a data disk; it is not a macOS system disk
(대상은 데이터 디스크이며, macOS 시스템 디스크가 아닙니다)
No APFS EFI driver found to install
(설치할 APFS EFI 드라이버를 찾을 수 없음)
Saving encryption context
(암호화 컨텍스트 저장 중)
The target is encrypted
(대상은 암호화되어 있음)
Unmounting disk27
(disk27 마운트 해제 중)
Starting conversion from HFS to APFS
(HFS에서 APFS로 변환 시작)
Performing apfs_hfs_convert -x --verbose=0x400 /dev/disk10s2
(apfs_hfs_convert -x --verbose=0x400 /dev/disk10s2 실행 중)
Reporting post-conversion statistics
(변환 후 통계 보고)
A problem occurred during conversion from HFS to APFS
(HFS에서 APFS로 변환 중 문제가 발생함)
APFS Converter exit code is 1
(APFS 컨버터 종료 코드 1)
Aborted conversion in commit mode so will restore type
(커밋 모드에서 변환 취소되어 유형을 복원할 예정임)
Setting type of disk10s2 to CS
(disk10s2의 유형을 CS로 설정)
Changing the physical disk partition type in shared mode
(공유 모드에서 물리적 디스크 파티션 유형 변경 중)
Partition modification attempt count was 1
(파티션 수정 시도 횟수는 1회였음)
Not mounting APFS Volume
(APFS 볼륨 마운트 실패)
Exiting conversion operations with error code -69860
(오류 코드 -69860으로 변환 작업 종료)
Error: -69860: The underlying task reported failure on exit
(오류: -69860: 기본 작업이 종료 시 실패를 보고함)
Underlying error: 1
(기본 오류: 1)