질문 NT900X5N-X58 몬터레이 설치 실패
- 삼협회
- 2969
- 23
삼협회님의 기기정보
질문용 시스템 사양 | 2번 |
---|---|
추가사양 및 설치(할)OS | mac os 12 |
공지숙지/증상설명 | 숙지 |
삼협회
댓글 23
질문글의 로그 사진을 보니 USB 와 관련된 문제로 보입니다.
또한, 삼성 노트북이라면 내장으로 장착된 SSD 모델명이 무엇인지 확인해주세요.
Samsung PM981/981a/991 NVMe SSD 는 macOS 와 호환성이 매우 좋지 않습니다.
그리고, EFI 폴더를 확인해보니 질문자님의 노트북 사양에 적합하게 설정되어 있지 않습니다.
첨부하신 EFI 폴더는 Intel 4th Gen Haswell 사양의 데스크탑 컴퓨터에 적합하게 설정되어 있습니다.
EFI 폴더를 다시 새로 만들거나 전체적으로 거의 모두 수정해야 하는 상태입니다.
우선, 질문글의 로그 사진을 보면 USB 와 관련된 문제입니다.
Kernel - Quirks - XhciPortLimit 옵션은 예전에는 macOS Big Sur 11.3+ 이상의 버전에서는 작동하지 않으며
XhciPortLimit 를 False 로 설정하고 USB 2.0 검은색 단자로 부팅을 시도해 보거나
USB Port Mapping 작업을 미리 진행하여 USB Port Map Kext 를 적용해야 합니다.
현재 최신 버전의 OpenCore 부트로더는 macOS Big Sur 11.3+ 이상의 버전에서도
XhciPortLimit 옵션이 작동되도록 패치된 상태이지만,
첨부하신 EFI 폴더의 OpenCore 부트로더는 구버전인 것으로 보입니다.
또한, BIOS 설정에서 XHCI Hand Off 를 Enabled 로 설정할 수 없는 경우에는
UEFI - Quirks - ReleaseUsbOwnership 을 True 로 설정해야 합니다.
그 외에도, EFI 폴더에서 수정이 필요한 부분입니다.
1. SSDT-EC-DESKTOP.aml 이 아닌 SSDT-EC-USBX-LAPTOP.aml 을 사용해 주세요.
2. Device Proeprties 에 입력된 HDEF, IGPU 속성 모두 잘못 입력되어 있습니다.
Device Properties 에 Intel 4th Gen Haswell 내장 그래픽에 사용되는
Azul Framebuffer 의 0x0D220003 Platform ID 가 입력되어 있습니다.
Device Properties 에 있는 2개의 항목을 모두 삭제하고 macOS 설치를 완료한 후에 올바른 값으로 다시 입력해 주세요.
3. AppleALCU.kext 는 질문자님의 노트북 사양에 불필요하므로 삭제해주세요.
4. NVidia GeForce 940MX 외장 그래픽 장치는 사용이 불가능하므로 -wegnoegpu 부트 옵션을 사용하여 비활성화해야 합니다.
macOS 에서는 Intel HD Graphics 620 내장 그래픽으로 QE/CI 그래픽 가속을 활성화하여 사용해야 합니다.
5. 데스크탑이 아닌 노트북이므로 PlatformInfo 에서 SMBIOS 는 iMac 18,2 가 아닌 MacBook Pro 14,2 모델로 설정하는 것이 적합합니다.
6. UEFI - Quirks - IgnoreInvalidFlexRatio 를 False 로 설정해주세요.
IgnoreInvalidFlexRatio 옵션은 Intel 5th Gen Broadwell 이하의 CPU 에서 사용하는 옵션입니다.
EFI 폴더와 Config.plist 수정 방법은 위의 분이 작성한 댓글을 참고해 주세요.
+ 제가 질문자님의 삼성 노트북 사양에 적합하게 EFI 폴더를 만들었습니다.
아래에 첨부한 EFI 폴더로 교체하고 다시 부팅해 보세요.
macOS 설치를 완료한 후에 QE/CI 그래픽 가속 활성화, 내장 사운드 출력, USB Port Mapping, 배터리 패치, 터치패드 및 제스처 활성화, 내장 디스플레이 밝기 조절, 밝기 조절 Fn 키 Remapping, HDMI 등의 외부 디스플레이 영상 & 사운드 출력, 잠자기 & 깨우기 등의 안정화 작업은 질문자님께서 직접 진행해 보세요.
혹시, 부팅은 잘 되셨나요?
위의 댓글에서 EFI 폴더에서 -wegnoegpu 부트 옵션을 추가하는 것을 깜빡하고 추가하지 못했습니다.
Config.plist 를 직접 수정하거나 아래에 첨부한 Config.plist 로 교체해주세요.
추가로, 혹시 부팅하는 도중에 EmbeddedControl Region 과 배터리 관련 ACPI Error 가 발생한다면
Config.plist 의 Kernel - Add 에서 SMCBatteryManager.kext 를 임시로 비활성화하고 다시 부팅해보세요.
위의 댓글에서 말씀드렸듯이 배터리 관련 장치와 EmbeddedControl Region 에서 ACPI Error 가 발생한 것입니다.
ACPI 에 배터리 패치를 적용해야 합니다.
macOS 에서 배터리 잔량이 정상적으로 표시되기 위해서는 배터리 패치를 적용해야 하는데
ACPI 에서 EmbeddedControl Region 에 정의된 배터리 관련 FieldUnitObject 가 8 Bit 씩 읽고 쓰여져야 합니다.
하지만, 실제 Apple 의 MacBook 제품이 아닌 일반 노트북은 거의 대부분 배터리 관련 FieldUnitObject 가 16, 32, 64, 128, 256 Bit 등 8 Bit 를 초과합니다.
그래서, EmbeddedControl Region 에 정의된 배터리 관련 FieldUnitObject 중에서
배터리와 EC 관련된 부분에서 사용되는 16 Bit 이상의 변수들을 8 Bit 로 세분화하는 작업이 필요하며
이를 배터리 패치라고 합니다.
단, ACPI 에 배터리 패치를 진행하지 않는 대신에 ECEnabler.kext 를 사용하는 방법이 있지만
질문자님의 삼성 노트북에서 잘 작동하는지는 직접 테스트해 보아야 합니다.
ECEnabler.kext 는 ACPI 에서 EmbeddedControl Region 에 정의되어 있는
배터리 관련 FieldUnitObject 를 8 Bit 씩 읽을 수 있게 해주는 역할을 합니다.
https://github.com/1Revenger1/ECEnabler
그런데, 삼성 노트북이라면 16 Bit 의 BTPC 라는 FieldUnitObject 가 있는데
이 변수는 값이 읽혀지는 변수가 아닌 어떠한 값이 BTPC 에 쓰여지는(저장/할당되는) 변수입니다.
그래서, B1B2/R16B Method 가 아닌 W16B Method 를 사용하거나 Shift 연산자를 사용하여 직접 8 Bit 로 쓰여지도록 패치해야 합니다.
이 부분을 ECEnabler.kext 가 잘 커버해 줄 지는 저도 잘 모르겠어서 직접 테스트해 보아야 할 것 같습니다.
ECEnabler 를 사용하여도 배터리 잔량 표시가 정상적으로 작동하지 않는 경우에는
ACPI 에 배터리 패치를 직접 진행하는 방법 밖에 없습니다.
macOS 해킨토시 설치 후 여러 가지 안정화 작업에 대한 내용은 아래의 글을 참고해 보세요.
https://x86.co.kr/info/7677040
혹시, macOS 설치 완료는 잘 하셨나요?
안정화 작업 진행 중에 혹시 질문이 있다면 도움을 드리겠습니다. :)
Properties 를 입력한 후에 boot-args 에서 -igfxvesa 부트 옵션을 제거해야 합니다.
추가로, 내장 사운드 코덱은 질문자님의 삼성 노트북이라면 Realtek ALC 256 또는 ALC 298 둘 중 하나일 것입니다.
맞는 코덱에 해당하는 Layout ID 를 alcid=(값) 형식으로 입력하면 됩니다.
Speed Step & Power Management 전력 관리는 CPUFriendFriend 를 사용하여 생성된 CPUFriendDataProvider.kext 와 CPUFriend.kext 를 같이 사용하면 됩니다.
Device Properties 에서 IGPU 의 PCI 주소로 항목을 새로 생성하고 Properties 를 직접 입력하여 추가하면 됩니다.
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>AAAWWQ==</data>
<key>AAPL,slot-name</key>
<string>Internal@0,2,0</string>
<key>device-id</key>
<data>FlkAAA==</data>
<key>device_type</key>
<string>VGA compatible controller</string>
<key>framebuffer-fbmem</key>
<data>AACQAA==</data>
<key>framebuffer-patch-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-stolenmem</key>
<data>AAAwAQ==</data>
<key>framebuffer-unifiedmem</key>
<data>AAAAgA==</data>
<key>hda-gfx</key>
<string>onboard-1</string>
<key>model</key>
<string>Intel HD Graphics 620</string>
</dict>
</dict>
<key>Delete</key>
<dict/>
</dict>
제가 수정한 Config.plist 를 첨부합니다.
본문의 EFI 수정이 Config.plist 수정을 말씀하시는 거라면, 파이썬(Python)과 ProperTree를 설치해야 합니다.
1. 파이썬(Python) 설치
(윈도우 10 이상) 파이썬 설치는 '반드시' 윈도우의 마이크로소프트 스토어에서 python으로 검색, 최신버전으로 다운로드 하세요. (www.python.org에서 직접 받는 경우 가끔 제대로 작동이 안 될 수 있습니다.)
설치 시 아래 사진과 같이 체크를 하신 후 설치를 진행하시면 됩니다.
2. ProperTree 설치 ( GitHub - corpnewt/ProperTree: Cross platform GUI plist editor written in python. )
해당 링크에서 다운로드 후 압축 파일을 풀면 됩니다.
이제 Config.plist 연결 프로그램으로 ProperTree를 지정 후 실행하면 아래와 같이 창이 뜨고, 원하시는 항목을 더블 클릭하면 수정할 수 있습니다.
참고로 ProperTree 사용법(특히 OC Snapshot과 OC Clean Snapshot)은 관련 자료 찾아보시면 될 것 같습니다.