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.5k stars 1.12k forks source link

safe to keep using original apple hardware after `set_variables()`? #551

Closed mkarikom closed 2 years ago

mkarikom commented 2 years ago

Question:

Can I continue update, use iCloud, etc on the original host after running get_parameters_from_macOS_host="yes" on that machine? In particular, does iCloud, the AppStore, etc care if the same hardware parameters (DmiSystemSerial, DmiBoardSerial, etc) are simultaneously being used at two IP addresses?

Background:

Note, myWorkingMacbook is
My proposed use case is:

  1. run set_variables() on myWorkingMacbook -> myOsxGuest.vdi
  2. transfer myOsxGuest.vdi from myWorkingMacbook to myHostPC (a workstation running Ubuntu 20.04)
  3. use iCloud-based services and perform MacOS updates on both myWorkingMacbook and myOsxGuest
mkarikom commented 2 years ago

Also, sincere thanks for your work on this script!

If the above use case is not advised, I'm fine obtaining a second Apple machine to harvest the device numbers, then retiring it after generating the VM.

myspaghetti commented 2 years ago

You're welcome. Some people have reported a "Call customer support" message when using iMessage with the same NVRAM and EFI parameters on two machines (virtual and physical). When initially testing the script I got this message and I had to call Apple to get my Apple ID cleared. It only takes a minute to fix but it's probably better not to chance it.

You can avoid it by generating genuine-like parameters.

I recommend, since you're using Ubuntu, installing OpenCore on the VM (or using a preconfigured OpenCore image from OSX-KVM) and then booting the macOS disk image with OpenCore on QEMU/KVM. You might want to convert the VDI to qcow2 to avoid any compatibility issues. The VM should boot as-is with the preconfigured OpenCore with mild edits to the preconfigured QEMU command line options (changing the disk image filename, removing the BaseSystem image). You'll have to configure OpenCore with the NVRAM and EFI parameters you want to use, there are guides for configuring OpenCore.

The reason I'm writing all this is since you're already using Linux so you might as well use QEMU/KVM for far better performance than VirtualBox. Unless, of course, you just need something quick and dirty, in which case this script and VirtualBox are fine.

I offer no support for OpenCore, QEMU, or OSX-KVM, but I do recommend all three.

mkarikom commented 2 years ago

Thank you so much for these suggestions. This short primer was exactly what I [didn't know] I needed.