애플 실리콘 VM 2개 제한 우회 방법 공개
원제: Apple Silicon and Virtual Machines: Beating the 2 VM Limit (2023)
개발자가 애플 실리콘 Mac의 가상머신 2개 제한을 우회하는 방법을 공개했다. macOS 커널 내 hv_apple_isa_vm_quota 변수를 수정해 제한을 해제할 수 있다고 분석했다. 애플은 소프트웨어 라이선스 조항으로 VM 개수를 제한하고 있다.
Mac 관리자 인턴으로 일하던 개발자 미콜라가 애플 실리콘 Mac에서 macOS 가상머신을 2개까지만 동시 실행할 수 있는 제한을 우회하는 방법을 공개했다. 애플의 Virtualization 프레임워크는 'VZError.Code.virtualMachineLimitExceeded' 오류로 이 제한을 강제한다.
이 제한은 macOS 벤츄라 소프트웨어 라이선스 계약 2.B.iii 조항에 명시되어 있다. 소프트웨어 개발, 테스트, macOS 서버 사용, 개인 비상업적 용도로만 최대 2개의 가상 macOS 인스턴스를 허용한다고 규정한다.
개발자는 처음에 /System/Library/Frameworks/Virtualization.framework에서 제한이 구현된 것으로 추정했으나, 실제로는 macOS 커널(XNU)의 비공개 소스 부분에 구현되어 있음을 발견했다. macOS 소노마 베타 4의 개발 커널을 IDA로 분석한 결과, hv_apple_isa_vm_quota 변수가 VM 개수를 추적하며, hv_trap_vm_create와 hv_vm_destroy_0 함수가 VM 생성/삭제 시 이 값을 증감시킨다는 것을 확인했다.
왜 중요한가
애플 실리콘 Mac의 가상화 제한 해제로 개발자와 연구자의 테스트 환경 확장 가능성을 제시
출처
※ 본 기사는 해외 미디어의 공개 정보를 편집부가 한국어로 요약한 것입니다. 투자 판단을 권유하는 것이 아닙니다.