1. 배경 및 개요
- Proxmox VE는 KVM 기반의 가상화 솔루션으로, 서버 자원을 효율적으로 분리해 다양한 OS를 동시에 실행할 수 있는 강력한 환경을 제공합니다.
- 그러나 macOS는 Apple SMC(Security Management Controller)와 자체 하드웨어 식별 메커니즘 때문에 일반적인 방식으로는 가상화가 불가능합니다.
- 이 문제를 해결하기 위해 커뮤니티에서는 OpenCore 부트로더를 이용한 SMC 우회 기법을 활용하고 있습니다.
- 본 포스트에서는 Proxmox 9.x 환경에서 단 한 줄의 명령어로 macOS 설치 환경을 자동 구성하는 방법을 실전 중심으로 소개해 드립니다.
- 참고 소스: https://github.com/luchina-gabriel/OSX-PROXMOX
2. 주요 변경 사항
- Proxmox 9.x 버전은 기존 8.x 대비 다음과 같은 향상된 구조를 통해 macOS 설치 호환성이 개선되었습니다.
- QEMU/KVM 업그레이드로 인한 OpenCore 부트 안정성 향상
- OVMF(UEFI) 지원 강화, EFI 초기화 시 오류 발생률 감소
- VirtIO 및 vmxnet3 네트워크 드라이버 호환성 개선
- OSX-PROXMOX 설치 스크립트 완전 호환 (Proxmox 9 verified)
- 결과적으로, 수동 설정 과정이 크게 단축되고 설치 성공률이 높아졌습니다.
3. 기술 원리 및 구성 요소
- Proxmox에서 macOS를 실행하기 위해 반드시 필요한 두 가지 기술적 요소는 다음과 같습니다.
> Apple SMC 우회 (Fake SMC Key 적용)
- macOS는 부팅 시 “진짜 Mac 하드웨어”에서 실행 중인지를 검증합니다.
- 이를 우회하기 위해 QEMU 설정 파일에 가상의 SMC 인증 키(OSK)를 삽입합니다.
- 이 부분이 macOS 가상화의 핵심이며, 다음 명령이 실제 적용 포인트입니다.
| args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" |
> OpenCore 부트로더
- macOS가 비공식 하드웨어(QEMU VM) 위에서 정상적으로 부팅되도록 EFI 계층을 에뮬레이션합니다.
- 쉽게 말해, OpenCore는 “Proxmox를 Mac처럼 보이게 만드는 가상 펌웨어”입니다.
4. 설치 자동화 스크립트 실행
- 먼저 서버 쉘에서 다음 명령어 한 줄로 OSX-PROXMOX 설치를 자동으로 진행할 수 있습니다.
| # /bin/bash -c "$(curl -fsSL https://install.osx-proxmox.com)" |
- 이 스크립트는 다음 과정을 자동 처리합니다.
- macOS용 VM 템플릿 구성 및 EFI 디스크 생성
- QEMU 파라미터 세팅(ISA SMC, SMBIOS, EFI, Hypervisor flags 등)
- OpenCore 및 macOS 설치 ISO 자동 다운로드 및 마운트
- 설치가 완료되면 Proxmox 웹 콘솔에서 macOS용 VM이 생성됩니다.
5. 수동 구성 가이드
- 자동 스크립트 외에도, 세부 설정 과정을 직접 관리하고 싶으신 분들을 위해 주요 단계별 수동 가이드를 함께 정리하였습니다. (실제 설정 단계 : 정상적으로 작동하지 않을 수 있습니다.)
> Phase 1: 준비 파일 업로드
- macOS Catalina ISO (이미 보유 중인 macOSCatalina.iso)
- OpenCore 부트로더 ISO (Nick Sherlock 등의 공개 이미지 다운로드)
- Proxmox 웹 GUI에서 local → ISO Image 저장소로 각각 업로드합니다.
> Phase 2: VM 생성
- BIOS: OVMF (UEFI)
- Machine Type: q35
- SCSI Controller: VirtIO SCSI single
- Disk Size: 64GB 이상 (VirtIO Block)
- CPU Type: host
- Memory: 8192MB, Ballooning Device 해제
- Network Adapter: VirtIO 또는 vmxnet3
- OS Type은 "Do not use any media"로 설정 후 나중에 ISO를 추가합니다.
> Phase 3: Apple SMC 우회 코드 삽입
- Proxmox 쉘에서 VM 설정 파일을 수정합니다.
- 예) VM ID가 100인 경우
| # nano /etc/pve/qemu-server/100.conf |
- 가장 아래에 다음 줄을 추가합니다:
| args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -device usb-mouse,bus=ehci.0,port=3 -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc |
> Phase 4: ISO 마운트 및 부팅 순서 지정
- Hardware 메뉴에서 ISO 2개 추가
- IDE 0: OpenCore.iso
- IDE 1: macOSCatalina.iso
- Options > Boot Order에서 OpenCore를 최상단으로 설정
> Phase 5: macOS 설치 진행
- VM 부팅 후 OpenCore 메뉴에서 “Install macOS Catalina”를 선택합니다.
- 이후 Disk Utility > QEMU VIRTIO BLOCK을 선택 → “MacHD”라는 이름으로 APFS 포맷 > GUID Partition Map으로 초기화합니다
- 포맷 완료 후 macOS를 해당 Disk에 설치합니다. 재부팅 시마다 OpenCore 메뉴에서 “macOS Installer / MacHD”를 선택해 이어서 설치합니다.
> Phase 6: 하드디스크 부팅 세팅 (마무리)
>> 설치 완료 후 macOS에서 로그인했다면, 터미널을 열어 다음을 수행합니다.
- diskutil list로 EFI 파티션 확인
- OpenCore CD의 EFI 폴더를 MacHD의 EFI 파티션으로 복사
- Proxmox Hardware 탭에서 두 ISO(OpenCore, macOS) 모두 제거
- 재부팅 후 하드디스크 단독 부팅을 확인합니다.
6. 기획 의도 및 기술적 개선
- 이 프로젝트는 비공식적으로 macOS 테스트 환경을 연구/개발 목적으로 간소화하기 위해 설계되었습니다.
- 특히 OSX-PROXMOX 자동화 스크립트는 다음과 같은 이점을 제공합니다.
- 기존의 복잡한 OpenCore 구성 파일 수동 수정을 완전히 자동화
- Proxmox 최신 버전에서도 커널 패치 없이 안정적으로 동작
- macOS 설치 ISO와 EFI 디스크를 일괄 관리하는 통합 루틴 구현
- Apple 라이선스 보호구조를 침해하지 않는 범위에서 테스트 환경 구성 가능
7. 기대효과 및 주의사항
- 기대효과
- macOS/iOS 개발 환경을 가상화 환경 내에 손쉽게 구현
- Swift, Xcode, Cocoa 테스트 및 빌드용으로 즉시 활용 가능
- 포렌식, 악성코드 분석, 크로스 OS 대응 테스트 등 다양한 연구 목적에 적합
- 주의사항
- macOS 실행은 Apple 하드웨어 이용 약관을 준수하셔야 하며, 연구·테스트 목적의 내부 환경에서만 사용을 권장드립니다.
- VM 설치 중 네트워크 끊김 또는 메모리 벌루닝 활성화 시 설치 오류가 발생할 수 있습니다.
- 설치 과정 중 2~3회 자동 재부팅이 이루어지며, 매회 OpenCore 메뉴에서 수동 선택이 필요합니다.
- CPU가 AMD 계열이거나 VT-x 기능이 비활성화된 경우 설치가 제한될 수 있습니다.
'VIRTUALIZATION > Proxmox' 카테고리의 다른 글
| [Proxmox VE] Proxmox Virtual Environment 9.0 with Debian 13 released (2) | 2025.08.07 |
|---|---|
| [Proxmox VE] 중첩 가상화(Nested Virtualization) 활성화하기 (1) | 2025.06.07 |
| [Proxmox VE] OS 및 Proxmox 업데이트 방법 (2) | 2025.06.04 |
| [Proxmox VE] No valid subscription 팝업 제거(주의필요) (2) | 2025.06.04 |
| [Proxmox VE] 설치하기 (0) | 2025.05.27 |


















































