- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@iPodShuffle wrote:What is the reason that the technical check for OS version / hardware support gets skipped when being run within a VM? Did Apple do something intentionally to make it easier to run virtual machines, or is it because it can't determine the hardware and it just therefore allows it?
In the installer script for macOS 10.7 Lion and later, there is an explicit check for whether it is running in a VM. In that case it bypasses the model check. Using Lion as an example, the Distribution file in the installer package contains a function isVirtualMachine() which is called from isSupportedPlatform(). It detects the VM by looking for "VMM" in the output of sysctl machdep.cpu.features. If not running on a VM, it checks a board-id retrieved from the I/O registry against a list of supported values, which can be mapped to specific Mac models.
This is clearly intentional, and I expect the reason was to allow running macOS in a VM on a Mac model which didn't support that macOS version.
10.6 Server's installer doesn't do a similar check, and from a quick glance it appears to not even be checking for future unsupported models (or past ones - it only has checks left over from the Leopard installer which exclude things like G3s and Macs slower than 800 MHz). You can't even boot the 10.6 install DVD on a Mac unless its model identifier is in a list of supported models, so the install script may be relying on that. I can't see a special case to allow the disc to boot in a VM (it may be buried in lower level code). One possibility is that Fusion could pretend to be a particular Mac model when booting the 10.5 and 10.6 Server installers. In normal operation, its model identifier is "VMware7,1".
Thank you!
You're welcome. Glad you were able to get it working.