macos-guest-virtualbox.sh 는 Apple 서버에서 직접 다운로드 한 수정되지 않은 MACOS 설치 파일을 사용하여 VirtualBox에서 MacOS Virtual Machine 게스트를 작성하는 Bash 스크립트입니다.
기본 설치는 사용자가 참을성있게 앉아야하며, 가상 시스템과 상호 작용하지 않고 스크립트로 표시 될 때 Enter를 10 번 미만으로 누르면됩니다.
Cygwin의 bash 및 zsh 에서 테스트. VT-X 또는 AMD-V와 함께 X86 CPU의 MacOS, CentOS 7 및 Windows에서 작동합니다. 대부분의 현대적인 리눅스 배포판에서 작동해야합니다.
MacOS Catalina (10.15), Mojave (10.14) 및 High Sierra (10.13)는 현재 지원되었습니다.
이 저장소의 관리자가 되려면 이슈 #645 -MASTERTER WANTER를 참조하십시오.
문서는 명령을 실행하여 볼 수 있습니다 ./macos-guest-virtualbox.sh documentation
스크립트의 대부분은 문서화, 주석 또는 실행 가능한 오류 메시지로 스크립트를 직접 검사하고 이해할 수 있도록해야합니다.
iCloud, Imessage 및 기타 연결된 Apple 서비스에는 유효한 장치 이름 및 일련 번호, 보드 ID 및 일련 번호 및 기타 진정한 (또는 진정한) Apple 매개 변수가 필요합니다. 스크립트를 편집하여 EFI 및 NVRAM에서 설정할 수 있습니다. 자세한 내용은 문서 명령을 참조하십시오.
스크립트는 기본적으로 대상 가상 디스크 스토리지 크기 80GB를 할당하며, 초기 설치시 호스트에서 약 25GB로 채워집니다. 설치가 완료되면 스토리지 크기가 증가 할 수 있습니다. 자세한 내용은 문서 명령을 참조하십시오.
다음 1 차 디스플레이 해상도는 VirtualBox에서 MACOS에서 지원됩니다. 5120x2880 2880x1800 2560x1600 2560x1440 1920x1200 1600x1200 1680x1050 1440x900 1280x800 1024x768 640x480 . 자세한 내용은 문서 명령을 참조하십시오.
스크립트의 범위는 지원되는 하드웨어의 VirtualBox에서 기본 MACOS 설치 프로세스를 완료하고 있습니다. VirtualBox 또는 MacOS의 추가 기능 순서는이 스크립트의 범위를 벗어납니다. USB 장치 지원, 오디오 지원, FileVault 부팅 암호 프롬프트 지원 및 중요한 기능을 포함한 기타 기능과 같은 일부 기능은 예기치 않게 작동 할 수 있습니다.
이 스크립트는 X86 CPU Mac 하드웨어 용으로 설계되었습니다. VirtualBox의 MacOS 게스트는 일반적으로 다른 CPU 모델과 호환되지 않습니다. 게스트 MACOS 부팅 프로세스가 "LoadKernelFromStream", "EndrandomSeed"또는 "Exitbs"에 매달려 있으면 VirtualBox CPU 프로파일 및 CPUID 설정에 관한 문서 명령을 참조하십시오. 2020 년 이후에 출시 된 일부 CPU 모델은 설치 프로그램을 시작하거나 완료하지 못할 수 있으며 CPUID 설정을 수동으로 조정해야 할 수도 있습니다.
가상 머신은 소프트웨어 업데이트를 통해 최신 MacOS Big Sur (11) 및 MacOS Monterey (12) 버전으로 업그레이드 될 수 있습니다. Big Sur는 장소에 설치 될 수 있습니다. Monterey는 가상 머신에 다른 볼륨을 부착하고 설치 대상으로 볼륨을 선택해야 할 수도 있습니다. 그렇지 않으면 업그레이드가 실패하고 부팅 루프에 들어가기 쉽습니다.
작동하는 MACOS 가상 머신을 성공적으로 작성한 후보다 성능있는 가상화 소프트웨어로 가져 오거나 자동 배포를위한 구성 관리 플랫폼을 위해 포장하는 것을 고려하십시오. 이러한 가상화 및 배포 애플리케이션에는 스크립트 범위를 벗어난 추가 구성이 필요합니다.
KVM이있는 QEMU는 근거리 성능을 위해 가상 머신 하드웨어 패스 스루를 제공 할 수 있습니다. QEMU는 스크립트에서 작성하도록 구성 할 수있는 VMDK 가상 디스크 이미지 저장 형식을 지원합니다. 자세한 내용은 문서 명령을 참조하십시오. QEMU 및 KVM에는 스크립트의 범위를 벗어난 추가 구성이 필요합니다.
VirtualBox Native Execution Manager (NEM)는 실험적인 VirtualBox 기능입니다. VirtualBox는 VT-X 및 AMD-V에 대한 액세스가 가상화 소프트웨어 또는 Hyper-V, WSL2, WSLG, Wind MACOS 및 MACOS 설치 프로그램은 NEM 가상화에서 메모리 손상 문제가 있습니다. 스크립트는 NEM을 확인하고 오류 메시지가 감지되면 종료됩니다.
VirtualBox는 일부 커널 모듈 컴파일을 사용하여 WSL2 및 WSLG에서 실행할 수 있지만 성능은 매우 낮습니다. 커널 모듈 컴파일이 필요할 때 WSL2 및 WSLG에서 QEMU/KVM을 사용하는 것이 바람직 할 수 있으며, 이는 WSL2 및 WSLG의 VirtualBox보다 훨씬 빠릅니다. WSL2, WSLG, QEMU 및 KVM에는 스크립트 범위를 벗어난 추가 구성이 필요합니다.
MacOS VirtualBox 게스트는 추가 부트 로더없이로드되지만 OpenCore와 호환됩니다. OpenCore는 스크립트의 범위를 벗어난 추가 구성이 필요합니다.
MACOS는 내장 된 가상 박스 오디오 컨트롤러를 지원하지 않을 수 있습니다. BootLoader OpenCore는 VirtualBox에 오픈 소스 또는 내장 오디오 드라이버를로드하여 STAC9221 (Intel HD Audio) 또는 Sigmatel STAC9700,83,84 (ICH AC97)에 대한 구성을 제공 할 수 있습니다.
VirtualBox는 가상 디스플레이에 EDID를 공급하지 않으며 MacOS는 EDID없이 디스플레이 스케일링 (높은 PPI)을 활성화하지 않습니다. Bootloader OpenCore는 디스플레이 스케일링을 가능하게하는 EDID를 주입 할 수 있습니다.
VirtualBox EFI 구현은 부팅시 FileVault 전체 디스크 암호화 암호 프롬프트를 올바르게로드하지 않습니다. Bootloader OpenCore는 Parameter ProvideConsoleGop true 로 설정된 암호 프롬프트를로드 할 수 있습니다. 샘플 config.plist를 참조하십시오
패키지 관리자를 통해 다음 종속성을 사용할 수 있어야합니다.
bash coreutils gzip unzip wget xxd dmg2img virtualbox
다음 옵션 패키지는 스크립트와의 필요한 상호 작용을 줄이는 광학 문자 인식을 제공합니다.
tesseract-ocr tesseract-ocr-eng
지원되는 버전 :
Bash ≥ 4.3, Windows에서 Cygwin 또는 WSL "1"을 통해 실행되는 Windows, NEM을 참조하십시오.coreutils ≥ 8.22, GNU gzip ≥ 1.5, Info-Zip unzip ≥ V6.0, GNU wget ≥ 1.14, xxd ≥ 1.11dmg2img ≥ 1.6.5, Cygwin에서 패키지는 패키지 관리자를 통해 사용할 수 없으므로 스크립트가 자동으로 다운로드됩니다.tesseract-ocr ≥ 4