* 이 글은 macOS Monterey 설치를 진행하며 2021년 10월에 수정되었고 OpenCore 0.7.4 버전을 이용하고 있습니다. 독자 시점과 설치 OS 버전에 따라 내용이 다를 수 있으므로 opencore 설치 가이드 사이트를 중점으로 보시기 바랍니다.
* 본 세팅 작업은 해킨토시를 설치할 PC에서 진행하시는것을 기본으로 하고있습니다.
* 이 글은 설치 후기 및 경험을 적어놓은 글로 독자의 행동에 대한 어떠한 책임도 지지 않습니다.
macOS Monterey 특이사항
1. 하드웨어 체크 및 준비물
맥 OS에서 사용할수 있는 하드웨어는 제한적입니다. 특히 NVDIA 그래픽카드와 마더보드에 붙어 있는 WIFI + Bluetooth 카드는 지원여부를 확인해야합니다. 또한 메인보드의 오디오카드가 지원되지 않을수도 있습니다. 그래서 PC하드웨어 사양체크가 필요하고 자세한 내용은 아래 링크에서 확인하실 수 있습니다.
저는 아래 내용으로 하드웨어를 맞춰 진행했습니다.
CPU | AMD Ryzen 3700X |
Motherboard | GIGABYTE AORUS X570 ELETE |
GPU | SAPPHIRE NITRO+ RX 5700XT |
RAM | SAMSUNG DDR4 PC4-21300 16G X 2 |
SSD | SAMSUNG 970 EVO 500G |
또한 macOS를 설치하기 위해서 최소 4GB USB를 준비해야 합니다.
2. USB 생성
2-1. 준비
설치에 앞서 다운로드 해야할 것들이 있습니다. 아래 항목들을 다운받습니다.
- OpenCorePkg : OpenCore 의 기초 파일들
- Python : macOS 다운로드 스크립트 실행에 사용
- ProperTree : Window 에서 plist 파일 수정시 사용
2-2. macOS 다운로드
실행을 위해 python 다운로드가 선행되어야 합니다.
cmd를 관리자 권한으로 실행합니다.
-> cd "다운받은 OpenCorePkg Path\utilities\macrecovery" 명령어를 실행하여 이동
-> 아래 os들 중 하나 선택하여 macrecovery.py 스크립트 실행
# Sierra (10.12):
python macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00 download
# High Sierra (10.13)
python macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download
python macrecovery.py -b Mac-BE088AF8C5EB4FA2 -m 00000000000J80300 download
# Mojave (10.14)
python macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download
# Catalina (10.15)
python macrecovery.py -b Mac-00BE6ED71E35EB86 -m 00000000000000000 download
# Big Sur (11)
python macrecovery.py -b Mac-42FD25EABCABB274 -m 00000000000000000 download
# Latest version
# ie. Monterey (12)
python ./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 download
그럼 아래와 같이 BaseSystem 파일이 2개 생깁니다.
만약 python 명령어가 실행되지 않는다면 환경변수를 등록해줘야 합니다.
2-3. USB 초기화 및 기초파일 준비
준비된 USB의 이름은 EFI, 포멧은 FAT32으로 변경합니다.
윈도우에서 USB 메모리의 초기화 및 포멧변경은 디스크 관리 에서 하실수 있습니다.
포멧된 EFI USB안에 com.apple.recovery.boot 폴더를 만들고 2-2 에서 생성된 BaseSystem 파일 2개를 넣습니다.
다운로드한 OpenCorePkg/X64/EFI 를 복사하여 EFI USB 안에 복사합니다.
그럼 아래와 같이 EFI USB 안에 2개의 폴더가 있게 됩니다.
3. 세팅
설치 USB에 기본적인 틀이 설치되었지만 추가 또는 제거해야할 것들이 있습니다. 글 맨위에 말씀드렸다시피 버전에 따라 달라질 수 있으므로 기본적으로 설치 가이드 홈페이지를 참조해주시 바랍니다.
3-1. Tools, Drivers폴더 안 파일들 제거
EFI/OC/Tools/ (OpenShell.efi 빼고 다 삭제)
EFI/OC/Drivers/ (OpenRuntime.efi 빼고 다 삭제)
3-2. Drivers, Kexts폴더 파일 추가
- Drivers
MUST HAVE
- HfsPlus.efi
- OpenRuntime.efi
- Kexts
Required
- VirtualSMC
- Lilu
- WhateverGreen
Audio
- AppleALC
Ethernet (택 1)
- IntelMausi : 인텔 NICs 용
- SmallTreeIntel82576 kext : 인텔 i211 NICs, 대부분의 AMD 보드용
- AtherosE2200Ethernet : Atheros and Killer NICs 용
- RealtekRTL8111 : Realtek 기가비트 이더넷 용
- LucyRTL8125Ethernet : Realtek 2.5Gb 이더넷 용
Extras
- NVMeFix : NVMe 사용
저는 마더보드가 *인텔 i211을 사용하기 때문에 SmallTreeIntel82576을 다운받았고 NVMe도 사용하기 위해 NVMeFix 도 받았습니다. 가이드를 보시면 몇개의 옵션들이 더 있는데 자신의 하드웨어 사양에 따라 고르시면 됩니다.
이렇게 다운로드 된 파일들을 USB에 옮겨 줍시다.
Drivers 파일들 -> EFI/OC/Drivers/
Kext 파일들 -> EFI/OC/Kexts/
Kext 다운받은걸 보면 여러파일들이 있을텐데 .kext 만 USB로 옮겨주면 됩니다.
⚠️ macOS Monterey 에서 SmallTree kext 작동이 안되는 이슈가 있습니다. ➡️ 해결방법
3-3. ACPI 추가
Prebuild 되어있는 SSDT (.aml 파일)를 사양에 따라 다운받아 EFI/OC/APCI 폴더 안에 넣어주세요.
저는 AMD Ryzen 3700x을 사용하고 있으므로 SSDT-EC-USBX-DESKTOP.aml 파일을 넣었습니다.
3-4. config.plist 추가
다운로드 받은 OpenCorePkg 안에 Document/sample.plist -> EFI/OC/ 폴더로 복사해줍니다.
복사한 EFI/OC/sample.plist 파일의 이름을 config.plist 로 변경해줍니다.
이렇게 추가/제거를 마치면 결과는 이렇습니다.
4. config.plist 수정
우선 다운로드 한 ProperTree.bat 을 실행하고 oepn 으로 config.plist 파일을 엽니다.
그리고 /EFI/OC 폴더경로로 OC Clean Snapshot (Ctrl + Shift + R) 을 합니다.
그럼 어느정도 적용이 되었지만 수정해야할 부분들이 있습니다. 이부분에서 리스트를 처음부터 끝까지 봐야하니 천천히 하나하나씩 보시면 됩니다. 여기 또한 버전에 따라 달라질수 있으므로 가이드를 메인으로 확인하세요.
저는 Ryzen 버전을 따랐습니다.
4-1 ACPI
- Add
APCI 폴더 안에 있는 파일들이 잘 등록 되어있는지 확인합니다.
4-2 Booter
- Quirks
항목 | 값 | 비고 |
DevirtualizeMmio | False | TRx40 이면 필요 |
EnableWriteUnprotector | False | |
RebuildAppleMemoryMap | True | |
SetupVirtualMap | True | B550, A520, TRx40, 새버전 BIOS X570 들은 False로 세팅 |
SyncRuntimePermissions | True |
4-3 DeviceProperties
Skip
4-4 Kernel
- Emulate
항목 | 값 | 비고 |
DummyPowerManagement | True |
- Patch
AMD 커널 패칭이 되는 곳으로 patches.plist 를 다운받고 아래와 같이 replace 합니다. (* 링크는 AMD Ryzen 전용 패치입니다)
config.plist 안에 Kernel -> Patch 삭제
patches.plist 안에 Kernel -> Patch 복사해서 config.plist 안 Kernel 에 복사
복사후 patch 안에 algrey - Force cpuid_cores_per_package 라는 Comment 가 있는 Item은 Replace 의 값을 변경해줘야 한다. 저는 총 3개가 있었고 item0~2번까지 였습니다.
B8000000 0000 -> B8 <core count> 0000 0000
BA000000 0000 -> BA <core count> 0000 0000
BA000000 0090 -> BA <core count> 0000 0090
<core count> 안에는 자신이 사용하는 CPU의 코어 수를 16진수로 써줘야 합니다.
ex) 8코어일 때 -> B8 08 0000 0000
16코어일 때 -> B8 10 0000 0000
- Quirks
항목 | 값 | |
PanicNoKextDump | True | |
PowerTimeoutKernelPanic | True | |
ProvideCurrentCpuInfo | True | |
XhciPortLimit | True | 11.3 이상 macOS 이면 false |
4-5 Misc
- Debug
항목 | 값 |
AppleDebug | True |
ApplePanic | True |
DisableWatchDog | True |
Target | 67 |
- Security
항목 | 값 | 비고 |
AllowNvramRest | True | |
AllowSetDefault | True | |
BlacklistAppleUpdate | True | |
ScanPolicy | 0 | |
SecureBootModel | Default | |
Vault | Optional | String Type 입니다. |
4-6 NVRAM
- ADD
고쳐야 할것은 7C436110-AB2A-4BBB-A880-FE41995C9F82 하위 목록입니다.
boot-args 값에 추가할 수 있는 옵션들이 있습니다.
옵션 | 설명 |
-v | verbose 모드로 맥 부팅시 로그를 볼 수 있다. |
debug=0x100 | |
keepsyms=1 | |
npci=0x2000 | Above4GDecoding 이 활성화되있을 시 필요 없음 |
alcid=1 | AppleALC 를 사용할 시 넣는다. |
agdpmod=pikera | RX 5000 series 를 사용할 시 넣는다. |
nvda_drv_vrl=1 | Nvidia 관련 |
저는 boot-args 값에 아래와 같이 추가했습니다.
debug=0x100 keepsyms=1 alcid=1 agdpmod=pikera
perv-lang:kbd 도 수정해줘야 합니다.
항목 | 타입 | 값 |
perv-lang:kbd | String | en-US:0 |
- WriteFlash
값을 True로 설정해줍니다.
4-7 PlatformInfo
- Generic
맥의 기기 정보를 생성하기 위해 GenSMBIOS 다운받아서 실행시킵니다.
1번 Install/Update MacSerial 을 선택해 업데이트 해주고
3번 Generate SMBIOS 를 선택하고 원하는 맥 버전(필자의 경우 MacPro7,1)을 입력하면 시리얼이 생성되는데 다음 목록에 넣습니다.
Type -> SystemProductName
Serial -> SystemSerialNumber
Board Serial -> MLB
SmUUID -> SystemUUID
항목 | 값 | |
ROM | 11223300 0000 | Mac address 로 6 random bytes |
- Automatic
값을 True로 설정해줍니다.
4-8 UEFI
- ConnectDrivers
값을 True로 설정해줍니다.
- Drivers
HfsPlus.efi 와 OpenRuntime.efi 있는지 확인합니다.
- APFS
macOS Catalina 이전 버전은 값을 업데이트 해줘야 한다고 합니다.
macOS Version | Min Version | Min Date |
High Sierra (10.13.6) | 748077008000000 | 20180621 |
Mojave (10.14.6) | 945275007000000 | 20190820 |
Catalina (10.15.4) | 1412101001000000 | 20200306 |
제한없음 | -1 | -1 |
- Quirks
항목 | 값 | |
UnBlockFsConnect | False | HP 마더보드들은 필요 |
5. BIOS 세팅
활성화 | 비활성화 |
Above 4G Decoding (없으면 Boot-args 에 npci=0x2000 추가) EHCI/XHCI Hand-off OS type: Windows 8.1/10 UEFI Mode SATA Mode: AHCI |
Fast Boot Secure Boot Serial/COM Port Parallel Port CSM (Compatibility Support Module) |
6. 부팅하기
설치 USB를 꼽고 부팅 옵션 또는 바이오스에 들어가 USB로 부팅을 실행합니다. (보통 ESC, F2, F10, F12)
그럼 위 화면이 나오고 EFI (또는 macOS Base System 또는 Install macOS) 를 선택합니다.
그러면 위와 같이 복구모드로 실행됩니다. 이제부터는 macOS 재설치 과정과 동일합니다.
디스크 유틸리티에 들어가서 macOS 설치를 위해 디스크를 APFS, GUID 파티션 으로 포멧해줍니다.
macOS 재설치를 들어가서 초기화 한 디스크에 macOS를 설치해줍니다.
설치가 완료되면 기본 세팅이 시작됩니다.
세팅을 완료하면 맥 설치가 완료됩니다. 수고하셨습니다.
하지만 위 상태는 부팅 시스템이 아직 설치 USB에 있는 상태라서 USB를 꼽은 상태일때만 macOS를 부팅 시킬 수 있습니다.
설치USB 없이 부팅할수 있게 하는 방법은 아래 글을 확인하시면 됩니다.
'IT > Information' 카테고리의 다른 글
[Hackintosh] Smalltree.kext 작동 안하는 이슈 해결방법 (Opencore, macOS 12) (0) | 2021.12.07 |
---|---|
[Hackintosh] USB없이 부팅 가능하게 만들기 (Opencore) (0) | 2020.11.27 |
[Mac] pyenv & pyenv-virtualenv 로 파이썬 개발환경 만들기 (0) | 2020.05.17 |
[Mac] Oh my zsh + iTerm2 사용하기 (0) | 2020.05.16 |