myspaghetti / macos-virtualbox

Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS
GNU General Public License v2.0
13.46k stars 1.11k forks source link

help or docs on upgrading to Monterey #583

Closed joaomcferreira closed 2 years ago

joaomcferreira commented 2 years ago

Hello,

Thank you for this great project. I have installed it several times with success and it is fine. But I have also tried many times to upgrade to Monterey (following several indications like number of processors and using an alternative storage for Monterey) but it always failed.

It would be perfect for me if someone could help me or some document be written on how to achieve this. I tried several times and it always fails. I would love to use it with Monterey due to a personal project.

Thank you Joao

myspaghetti commented 2 years ago

The best advice is to run it on QEMU/KVM if you can. That gives you fine-grained control over the CPUID and better compatibility in general. VirtualBox has fine-grained control over CPUID too, but it has to be entered in hex which is a pain, while QEMU/KVM uses mnemonics which simplifies turning specific features on and off.

Thanks to WSLg, QEMU/KVM is even available on Windows 10 and 11 (you can skip all the compilation stages if cat /sys/module/kvm_intel/parameters/nested outputs Y). If you want the absolute best performance, you might be better off running Linux on bare metal (maybe Proxmox) and running Windows and macOS on QEMU.

As for VirtualBox, I've found that downloading Monterey from Software Update or the app store and installing it on an empty volume on its own virtual disk works, as long as you keep the script's default 2 CPU cores. Others have reported that Monterey crashes every few hours or when running a specific app.

TL;DR if you already have a working macOS disk image, put it on QEMU/KVM, and upgrade to Monterey. You could run it on VirtualBox but not very well.

UInt2048 commented 2 years ago

TL;DR if you already have a working macOS disk image, put it on QEMU/KVM

Do you have any resources to make that step as straightforward as you made it seem? According to the README, QEMU and KVM require additional configuration that is beyond the scope of the script.

myspaghetti commented 2 years ago

It's not straightforward but it's the best solution. Install OpenCore (on a separate image or the same image), configure QEMU, and boot. Basically what the ProxMox guide says except instead of booting an installer, you boot an existing image.

UInt2048 commented 2 years ago

@myspaghetti Thank you for the information. I'm using a macOS host but it seems like these guides can only be followed on Linux. Even if it means starting from scratch, is there a way to do this on a real Mac (e.g. for use in UTM) without having to use a bootable Linux USB?

Masamune3210 commented 2 years ago

Apple computers shouldn't need this script as from my understanding their versions of VirtualBox/VMware/inseremulationsoftwarehere could already do it natively

ArsenicBismuth commented 2 years ago

As for VirtualBox, I've found that downloading Monterey from Software Update or the app store and installing it on an empty volume on its own virtual disk works, as long as you keep the script's default 2 CPU cores. Others have reported that Monterey crashes every few hours or when running a specific app.

@myspaghetti Finally successfully upgraded to Monterey by setting 1 CPU cores and installing on another volume. But seems to be unsuccessful in installing Xcode.