OpenCore 부트로더 업데이트 가이드
해킨토시 | Hackintosh/해킨토시 가이드 | Hackintosh Guide

OpenCore 부트로더 업데이트 가이드


  • 이 가이드는 2021년 10월 7일 오전 6시 50분 경 최종 개정되었습니다.
    • 이 가이드는 공통 가이드로서 OpenCore 입문자가 새 버전을 업데이트 할 때 파악해야 할 공통적인 내용을 담고 있습니다.
    • 기존 내용이 특정 버전의 업데이트 위주로 서술되어 있어 공통 가이드로서 활용되기 쉽도록 수정하였습니다.

 

 


안녕하세요. JGP입니다.

13일에 macOS 11 Big Sur가 정식 출시되었습니다.
해킨토시 유저들도 발빠르게 업데이트를 하고 있으신 듯 한데요, 저도 리얼맥 포함 맥만 3대라. 업데이트 걸어두고 잤네요 ㅜㅜ

 

아무튼 오늘은 오픈코어 업데이트 방법을 소개드리려고 합니다.


| 작업 전 부트로더 백업하기

위 사진은 제 EFI 볼륨의 모습입니다.

갑자기 제 EFI 볼륨을 보여드린 이유가 있습니다. 부트로더 업데이트 전에는 반드시 백업을 하시라는 겁니다.
실제로 많은 해킨토시 유저들이 잘 셋업한 EFI 폴더 백업을 안해서 대참사가 수시로 벌어지거든요 ㅜㅜ 경험담입니다

 

  1. 사용중인 EFI 폴더를 바탕화면으로 먼저 복사
  2. 압축하여 클라우드 등에 올려두세요. (부팅 안되면 윈도우에서 복원할 수 있도록)
  3. 복사된 폴더에 업데이트 작업 진행
  4. 재부팅 직전 여분의 USB 스틱에 복사하여 테스트
  5. 부팅에 성공했고, 작동이 정상적이라면 성공한 부트로더를 클라우드에 2차 백업

이 정도 진행해두시면 부트로더 날아가서 고생하는 일은 없습니다.

사진을 보시면 아시겠지만.. 백업본이 몇 달전의 것 부터 쭉 있죠? 그만큼 백업을 중요시 여기고 있습니다.
저는 좀 과하게 백업을 하는 편이고, 일반적으로 2~3번 정도 전의 것만 남겨도 충분합니다.

 

| 업데이트할 파일 다운로드

Acidanthera의 Github에는 오픈코어와 기본 Kext들의 최신 Release/Debug 판 자료가 올라와 있습니다.
대부분의 사용자는 Release 판을 사용하시면 됩니다. Debug를 사용하시는 분들은 이 가이드가 의미가 없는 분들이겠지요.

기본적으로 OpenCore는 하위 버전에 대한 지원이 되고 있기 때문에 굳이 하위 버전을 유지하실 필요는 없습니다.
특별한 사유가 없다면 항상 최신 버전을 유지해주시는 것이 아래 사유 때문에 미래의 나에게 좋습니다.

 

오픈코어 업데이트는 꾸준히 하는 것이 중요합니다.

x86.co.kr 게시판에 올렸던 내용을 제 블로그에도 올려둡니다.

jgpark.kr

 

우선 최신 OS 기준의 최소 부팅 권장사항을 안내드립니다.
거듭 말씀드리지만 '이 버전 이상이 되어야 부팅이 된다' 이지, '이 버전으로 진행해야 안정적이다' 는 절대 아닙니다.
그냥 최신버전 유지하시면 됩니다.

+macOS 12 Big Sur 최소 부팅 권장사항 : OpenCore 0.6.3 이상, Lilu 1.4.9, VirtualSMC 1.1.8, WhateverGreen 1.4.4 이상 사용

+ macOS 12 Monterey 최소 부팅 권장 사항 : OpenCore 0.7.4 이상, Lilu 1.5.6, VirtualSMC 1.2.7, WhateverGreen 1.5.4, AppleALC(U) 1.6.5, OCBinaryData-dcf5032(커밋) 이상

 

| OpenCorePkg와 부팅 필수 Kext들 GitHub 페이지

* 클릭 시 각 패키지의 다운로드 페이지로 이동합니다.


| 오픈코어의 파일 구성 & 업데이트

SOURCE : OpenCore Configuration Docs

 

OpenCore의 파일 구성입니다. 우리가 상위 버전으로 OpenCore를 업데이트 하는 경우 교체해야하는 파일은 아래와 같습니다.

  • /Volumes/EFI/EFI/BOOT/BOOTx64.efi
  • /Volumes/EFI/EFI/OC/Bootstrap/Bootstrap.efi
  • /Volumes/EFI/EFI/OC/OpenCore.efi
  • /Volumes/EFI/EFI/OC/Drivers/(사용중인 Driver 파일 전체)

이렇게 해주시면 OpenCore 업데이트의 절반은 하신겁니다.

 

| Drivers 폴더 업데이트

  • 0.7.4 버전 기준 포함된 드라이버는 14개입니다.
  • Clover와 다르게 OpenCore는 반드시 Config.plist 폴더에 값을 추가해야만 Driver/Kext를 인식합니다.
    • OpenRuntime.efi는 필수입니다. (업데이트 때마다 교체하여야 합니다.)
    • OpenCanopy.efi는 GUI 사용 시 필수입니다. (업데이트 때마다 교체하여야 합니다.)
    • AudioDxe.efi는 부팅 차음(뎅~ 소리)를 위한 드라이버로 본인이 사용하고 있다면 최신버전으로 교체해주세요.
  • 디스크 인식을 위해 사용되는 HfsPlus.efi는 OcBinaryData 패키지에 포함됩니다. (하위에 자세히 서술됨)

 


| Kext 업데이트

 

OpenCore 사용자 Kext 업데이트 시 주의사항 (feat. Lilu)

안녕하세요. JGP입니다. 삘 받았을 때 스스륵 써야 될 것 같아서 이어서 써봅니다. 우리가 사용하는 OpenCorePkg 는 Acidanthera GitHub에서 개발이 되고 배포가 됩니다. 또한 우리가 필수적으로 사용하고

t.jgpark.kr

Acidanthera의 Kext는 보통 동시에 업데이트가 됩니다.
따라서 OpenCorePkg가 버전업이 된 경우 부팅 필수 Kext들은 거의 최신버전이 릴리즈 됩니다.

*20.10.07 업데이트 : 최근(0.7.0 이후)엔 OpenCorePkg가 버전 업이 된 경우라도 일부 Kext만 업데이트 되는 경우도 있습니다.

추가로 Acidanthera의 kext들은 Lilu 의존성 Kext들이 많으므로 주의해주시면 됩니다.
제가 이 부분은 기존 게시글에서 충분히 다루었으니 기존 글을 읽어주시기 바랍니다.

 

OpenCore 사용자 Kext 업데이트 시 주의사항 (feat. Lilu)

안녕하세요. JGP입니다. 오늘은 Lilu Dependency Kext(Lilu 의존성 Kext)에 대해 글을 써보려고 합니다. 사실 이미 x86.co.kr 에서 한번 보신 글이실 텐데 제 블로그에는 어쩐일인지 안올렸더라고요. 그래서

jgpark.kr

 

덧붙이자면 OS가 업데이트 되는 경우 Kext도 함께 업데이트를 해줘야 문제가 발생하지 않습니다.
특히 10.15 Catalina → 11.0 Big Sur or 11.0 Big Sur → 12.0 Monterey 정도의 큰 판올림이라면..

최신 OpenCore 버전 + 최신 Kext 업데이트는 필수입니다.
호환성 패치도 포함이 되겠지만, 보안 패치도 추가되기 때문입니다.

 

| Config.plist 파일 구성 변경

OpenCore는 config.plist 파일의 구성이 업데이트 때마다 달라지는 편입니다.
따라서 추가되는 항목들과 제거되는 항목을 전부 변경해주셔야 합니다.

부팅에 치명적인 영향을 주는 항목이 아니라면 보통 부팅은 거의 가능하고, 오픈코어 진입 시 아래와 같은 메세지가 출력됩니다.

 

위 메시지의 경우 Quirks 하위의 DummyPowerManagement 항목을 삭제하라는 뜻입니다.

모든 OpenCorePkg 내부에는 직전 버전에서 현재 버전까지의 config.plist 구성 변경에 대해서 서술한 문서가 포함됩니다. (Docs/Differences.pdf)

영어 울렁증이 있으시다면.. 노가다가 약간 필요합니다. Docs/Sample.plist와 본인 config.plist를 동시에 열어두고,
하나씩 비교하면서 추가된 항목은 추가하고 제거된 항목은 삭제하시면 됩니다.

*20.10.07 업데이트 : 훌륭한 툴이 있어 소개해드립니다. OCConfigCompare 는 나의 config.plist 파일과 최신버전의 OpenCorePkg Docs 폴더 하위에 위치한 Sample.plist와 비교해줍니다.

 

(이 이야기는 2020년 11월 기준이며, 현재 상황과 다를 수 있습니다.)

OpenCore Configulator에 최신 버전의 값을 추가/제거하는 기능이 있(나요?)다고 얼핏 들었습니다만..
일단 저는 해당 툴 사용을 절대 안하고 있습니다. 버전 차이가 많이 꽤나는 경우 아주 config를 망쳐놓습니다.. (할말하않)
그 밖에 잔 버그가 아주 많고, 해외에서는 거의 쓰레기 취급을 하고 있어서.. 꼭 GUI 환경이 필요하신게 아니라면
Plistedit Pro나 Xcode, ProperTree로 수정하는 습관을 들이시는 것을 추천드리겠습니다.

 

제가 여력이 된다면 0.6.4 버전 부터는 기존 버전과 현재 버전의 추가된 항목과 제거된 항목을 정리해서 올려보도록 하겠습니다.

*20.10.07 업데이트 : 1년 전에 매번 업데이트 가이드를 제공해 올리겠다고 결심한 후 11번의 업데이트 가이드를 제공해드렸습니다. 여전히 여력이 된다면 1달에 한번 정도의 OpenCore 업데이트 마다 가이드를 제공해드릴 것입니다.

그 동안의 세부버전 업데이트 가이드는 이 게시글 최 상단에서 링크해두었습니다. 앞으로도 게시글을 쓸 때마다 업데이트 해두겠습니다. (혹시 제가 까먹으면 댓글을 달아주세요 ㅎㅎ)

1년동안 OpenCore에도 수많은 변화가 있었고, 누구나 가이드 없이도 업데이트 할 수 있는 수준이 오는 날에는 이 가이드를 최종판으로 확정하고 세부버전 업데이트 가이드는 중단하는 날이 언젠가는 올지도 모르겠습니다. ㅎㅎ

 

Sample.plist에는 추가된 값의 경우 세팅값이 기본 추천 값으로 들어가있으므로, 거의 해당 값으로 추가 하시면 문제 발생 거의 없습니다.
다만 기본 값을 너무 맹신하지 마시고 해당 값의 추가로 인한 문제가 발생한다면 Configuration.pdf를 확인해보시면 됩니다.

 

더 자세한 내용은 제가 이전에 게시한 글을 확인해보시면 됩니다~


| HfsPlus.efi 및 Resource 폴더 업데이트 (OCBinaryData)

본인이 위 항목 중 사용중인 드라이버 파일이 있다면(대표적으로 HfsPlus.efi),
압축 해제 후 Drivers 하위에서  EFI/OC/Drivers 폴더로 복사해주시면 됩니다.

 

추가로 OCBinaryData는 Release 판을 배포하지 않으므로, Repository를 통으로 다운로드 하시면 됩니다.
Link : https://github.com/acidanthera/OcBinaryData

 

acidanthera/OcBinaryData

Contribute to acidanthera/OcBinaryData development by creating an account on GitHub.

github.com

 

>> GitHub 다운로드 방법 보기

기존 Resources 폴더를 삭제 후 새 Resources 폴더로 복사하시면 됩니다.

 

이렇게 해주시면 OpenCore 부트로더 업데이트는 끝이나게 됩니다.
모르는 부분이나 궁금한 부분이 생기면 언제든 댓글 남겨주세요. 확인이 되는 대로 바로 답변드리겠습니다. 감사합니다.