Mac에서 VirtualBox는 비추한다

Ryzen으로 Hackintosh를 하던 시절에는 MacOS의 hypervisor framework을 쓸 수 없기 때문에 이름난 가상 머신은 쓸 수가 없다. 심지어는 qemu도 제 구실을 못한다. 신기하게도 VirtualBox만 제구실(?)을 하는데, 그 이유가 VirtualBox가 별도의 kext를 두어서 가상화를 하고 있고 이게 AMD CPU를 지원하고 있기 때문이다.

어떻게 이것을 알 수 있느냐? AMD CPU의 SVM을 BIOS에서 꺼두고 시작하면 virtualbox의 kext가 가상화를 지원할 수 없다는 메시지를 내보낸다. 분명히 intel CPU와 AMD CPU의 가상화방법이 다르기 때문에 인텔만 지원하면 CPU가 지원대상이 아니다라고 해야맞지 AMD의 SVM안된다는 메시지를 내지 않기 때문이다.

어쩄든 이런 이유로 Mac에서 intel cpu를 사용하면 어떤 가상 머신이든 깔끔하게 잘 돌아가지만 ryzen이 되면 아예 시작부터 돌지 않거나 엄청 느리게 돌거나 하지만 VirtualBox만 신기하게도 나름 뭔가 결과를 내주기 때문에 좋은 VM이 아닐까 하는데, 문제는 intel CPU로 정상적인 구동환경이 갖춰줬을 때 돌려보면 뭔가 뻑뻑한 느낌이 나기 때문에 대부분 여기서 사용을 포기하게 된다.

VirtualBox와의 반응속도를 비교하면 거의 하늘과 땅차이라고 하면 좀 너무하긴 하지만 매우 좋다. 쓰지 마라 한마디로. 그래픽 인터페이스가 있다는 것 때문에 막대한 손실을 본다. 뭐든지 다 느리고 확장성/옵션도 없고 답답하기만 하다. 오직 Ryzen을 쓸 때 CPU 자원을 좀 더 쓸 수 있다는 것 외엔 (대신에 반응이 느린 단점을 감수) 없다.

여기서 또 넘어야 할 벽이 하나 있다. Cpu model에 관한 것이다. cpu=host로 했을 때 부팅이 진행되지 않을 수 있다. 이때 CPU를 아무것도 설정하지 않으면 QEMU custom model이 자동으로 설정되는데, 이렇게 하면 일단 부팅을 진행할 수는 있다. 문제는 너무 느린게 탈이지.

어쩔 수 없이 구형 CPU 모델(이를테면 Penryn)을 선택한 뒤에 여러 가지 옵션들 (sse, avx 등등)을 선택해서 활성화시켜주다보면 최적화(?)가 가능하다. 이상하게 hvf를 선택해서 cpu를 host로 두면 아무 것도 진행할 수 없다 (i7 8700 사용 중)