안녕하세요. JGP 입니다.
저도 그렇고, 제 주변 지인들 중 해킨을 사용하거나 저에게 해킨 셋업을 받으신 분들이
Big Sur 11.1 때도 그렇고 얼마전 출시된 11.2도 그렇고 업데이트가 안와서 업데이트를 못하고 있다라는 말을 많이 들었습니다.
오늘은 macOS OTA 업데이트 방식에 대해 알아보고, macOS Big Sur(11.0)부터 달라진 부분에 대해 알아보겠습니다.
| macOS의 OTA 업데이트 조건
우선 macOS Big Sur의 업데이트 과정을 보면 위와 같습니다.
지금까지는SIP(System Integrity Protection)만을 확인하여 SIP가 활성화 되어있으면 OTA 업데이트가 도착했으나
모식도를 참고해보면 알 수 있듯이, macOS Big Sur(11.0) 부터는 System Volume의 Seal 상태를 확인하는 과정이 추가되었습니다.
| Seal이 무엇인가요?
이 Seal의 의미가 무엇인가? 하면..
최초 시스템 볼륨 설치 상태에서의 해쉬값과 현재 시스템 볼륨 설치 상태에서의 해쉬 값을 비교했을 때,
두 값이 서로 일치해야 Seal이 "Yes" 로 표시되며 OTA 업데이트도 도착한다는 것입니다.
그렇다면 우리가 파일을 다운받고, 수정하면 Seal이 깨지는(Broken)것 일까요?
APFS 파일 시스템은 시스템 볼륨과 데이터 볼륨으로 나누어집니다. (자세한 설명은 접은 글에서)
접은 글 >> Apple의 APFS 파일 시스템의 구조
우리가 macOS Catalina 이상에서 APFS 파일 시스템으로 디스크를 지우면
하나는 시스템 볼륨, 하나는 데이터 볼륨으로 나누어지게 됩니다.
실제로 '디스크 유틸리티'로 확인해보면, 나는 만든적 없는 볼륨이 숨겨져있는 것을 볼 수 있고,
우리가 사용하고 있는 볼륨은 XXX - 데이터 라는 형식으로 이름이 지정된 것을 확인할 수 있습니다.
우리가 애플리케이션을 설치하고, 파일을 다운로드 받는 등..
말 그대로 우리의 개인 "데이터"를 저장하는 볼륨은 데이터 볼륨입니다.
반면 macOS 구동에 필요한 기반이 되는 파일들을 저장하는 볼륨이 시스템 볼륨입니다.
이 중 "시스템 볼륨"에 수정이 가해지면 해쉬값이 변하게 되고, OTA가 도착하지 않는 것이죠.
정리하자면, macOS Big Sur 이상의 macOS에선 아래 조건이 충족되어야 OTA 업데이트가 도착합니다.
- SIP 상태가 활성화(Enabled)되어 있을 것
- System Snapshot의 Seal 상태가 Yes 일 것
| System Snapshot 상태 확인하기
조건은 알았으니, 실제 우리 맥(해킨토시)의 Seal 상태를 확인해봅시다.
- 터미널 앱을 열고 아래 명령어를 입력합니다.
diskutil apfs list
- 표시되는 각 볼륨의 Name 항목을 참고하여 macOS가 설치된 시스템 볼륨을 찾습니다.
- 시스템 볼륨의 Snapshot Sealed 상태를 확인합니다.
- APFS Volume Disk (Role) 항목에서 Role이 System 인 것을 찾으시면 됩니다.
- 시스템 볼륨이 아닌 경우 Snapshot Sealed 상태가 표시되지 않습니다.
- Snapshot Sealed 상태가 Yes이면, 해쉬값이 초기와 같은 것입니다. (OTA 업데이트 가능)
- Snapshot Sealed가 Broken이면, 해쉬값이 초기와 다른 것입니다. (OTA 업데이트 불가)
| Broken을 Yes로 변경하는 방법?
안타깝게도, Snapshot Sealed가 Broken으로 표시되었다면.. 고생을 조금 하셔야 합니다.
Broken을 Yes로 돌리는 방법은 두 가지 입니다.
- Recovory 볼륨으로 부팅하여 Time Machine으로 시스템 수정 이전 상태로 되돌리기
- Recovory 볼륨 또는 macOS 설치 디스크(USB)로 부팅하여 macOS를 재설치하기 (*일명 포맷)
- Recovory 볼륨의 진입 방법은 Apple의 공식 문서 (클릭 시 이동)를 참고하세요.
- Opencore로 해킨토시를 구성한 경우 부팅 볼륨에 Recovory 볼륨이 자동으로 나타납니다.
Time Machine은 백업을 한 적이 없으면 사용할 수 없을 것이고,
현실적으로 당장 쓰고 있는 시스템을 갈아 엎는 것이 곤란할 것이 일반적이겠지요.
또한 필연적으로 시스템 볼륨에 접근해야하는 분들(개발자나 해킨토시 유저)는..
위 방법으로 당장에 Snapshot Sealed를 Yes로 돌렸다 한들, 또 시스템 볼륨에 손을 대는 순간 봉인이 깨질 것입니다.
그렇게 OS 업데이트를 할 때마다 매번 재설치나 Time Machine 복원을 할 수도 없는 노릇이고요!
만약 과거 내가 시스템 볼륨에 "실수로" 손을 댔고, 앞으론 대지 않을 것이다!
어차피 시스템을 한번 초기화하려고 했다! 그러면 재설치를 권장하겠습니다만,
현실적으로 이런분들이 많지 않을 것이기에 아래에 OTA 업데이트 말고 수동으로 업데이트 하는 방법을 포함해두겠습니다!
| SIP 상태 확인하기
- 터미널을 열고 아래 명령어를 입력합니다.
csrutil status
- System Intergrity Protection status : 다음에 표시되는 값을 확인합니다.
- enabled로 표시되면 SIP가 활성화 된 것입니다. (OTA 업데이트 가능)
- disabled로 표시되면 SIP가 비활성화 된 것입니다. (OTA 업데이트 불가)
- unknown으로 표시되면 SIP가 Custom 상태로 일부는 활성화, 일부는 비활성화 상태인 것입니다. (OTA 업데이트 불가)
ㄴ (해킨토시 유저 한정) 만약 Dortaina의 Disabling SIP 문서를 보고 csr-acitive-config 값을 변경한 경우 이렇게 표시될 것입니다.
| SIP 상태를 Enabled로 변경하는 방법
- Recovory 볼륨으로 진입합니다.
ㄴ 진입 방법은 Apple의 공식 문서 (클릭 시 이동)를 참고하세요. - 터미널(상단 바 → 유틸리티 → 터미널)을 엽니다.
- 아래 명령어를 입력하고, 비밀번호를 입력하여 마무리합니다.
csrutil enable
접은 글>> 반대로 SIP를 해제(비활성화)하려면
- Recovory 볼륨으로 진입합니다.
ㄴ 진입 방법은 Apple의 공식 문서 (클릭 시 이동)를 참고하세요. - 터미널(상단 바 → 유틸리티→ 터미널)을 엽니다.
- 아래 명령어를 입력하고, 비밀번호를 입력하여 마무리합니다.
csrutil disable
| 해킨토시 유저의 경우 (일반 맥 사용자는 포함되지 않음)
- Config.plist를 엽니다.
- NVRAM→Add→ 7C436110-AB2A-4BBB-A880-FE41995C9F82→ csr-active-config 값을 "00000000"으로 변경합니다.
- NVRAM→ Delete→ 7C436110-AB2A-4BBB-A880-FE41995C9F82 하위에 "csr-active-config"가 있는지 확인하고, 없는 경우 추가합니다.
접은 글>> csr-active-config의 옵션 정리 (비활성화 값 포함)
- 00000000- SIP 활성화
- 03000000- Kext Signing (0x1)과 FileSystem Protections (0x2) 비활성화
- FF030000- macOS High Sierra(0x3ff) 에서 SIP 완전 비활성화
- FF070000- macOS Mojave와macOS Catalina(0x7ff)에서 SIP 완전 비활성화
- FF0F0000- macOS Big Sur (0xfff)에서 SIP 완전 비활성화
| OTA 업데이트 확인하기
- 위 과정을 모두 진행하셨다면 아래와 같이 OTA 업데이트 도착할 것입니다!
- 만약 위 과정을 모두 진행했음에도 OTA 업데이트가 도착하지 않는다면 NVRAM을 2회 정도 리셋한 후 다시 확인해봐야 합니다.
| OTA 업데이트 대신 수동으로 업데이트 하기
- App Store 앱을 엽니다.
- macOS Big Sur를 검색합니다.
- macOS Big Sur 앱을 다운로드 합니다.
- 시스템 환경설정 앱이 열리며 다운로드 버튼이 활성화 됩니다.
다운로드 버튼을 눌러 다운로드 합니다.
- 다운로드를 기다립니다. 속도가 많이 느리다면 아래 게시글을 참고해봐도 좋습니다.
- 다운로드가 완료되면 자동으로 설치 앱이 열립니다.
- 계속을 눌러 약관 동의를 한 후, 업데이트할 디스크를 선택합니다.
- 만약 업데이트할 디스크가 보이지 않는다면 "모든 디스크 보기..."를 눌러 다른 디스크를 선택하면 됩니다.
- 다음 단계에서 비밀번호를 요구할 것입니다. 비밀번호를 입력하면 업데이트 과정이 진행됩니다.
- 업데이트를 마치면 자동으로 재시동하거나 재시동 버튼이 나타납니다.
- 축하합니다. 2~5회 재부팅 후 업데이트가 완료될 것입니다.
| 마치며
리얼맥 유저와 해킨토시 유저를 위한 가이드를 한방에 작성하다보니 글이 길어졌습니다. 양해바랍니다.
도움이 되셨다면 좋아요와 상단 구독하기 버튼을 눌러주시면 큰 힘이 됩니다.
감사합니다.