MacInTouch Amazon link...

virtualization

Channels
Products, Questions

Ric Ford

MacInTouch
According to Oracle's notes, Mojave is a supported host but not a supported guest.
In fact, Oracle lists no Mac guest support there (for OS X 10.11 and later). However, I wonder if that is based on non-Mac hardware? My question was about running VirtualBox and new macOS versions on Mac hardware - though with 64-bit Linux as the host OS.

VMware promises to at least run Mojave in a macOS VM:
VMware said:
VMware Fusion Features
Ready for macOS Mojave
Launch virtual machines on Mac with macOS 10.14 Mojave, including APFS support, or safely test the latest macOS in a sandbox on your current Mac without disruption. With an updated UI and customizable support for the latest Touch Bar enabled Macs, Fusion is better than ever.
 


With the abandonment of 32-bit software, some of us have necessary applications (that are not going to be updated and have no alternative replacement) that will no longer work [after] Mojave.

I know that it is possible to use applications like VMware Fusion or Parallels to run older versions of an OS within the current version. I don't know how the new changes will affect the ability to emulate the 32-bit software, but am hoping for good news. I've never needed to do this before and would welcome any feedback from people who have.

What applications work best, which are the easist to set up and use, are there any gotchas to be aware of for someone just getting started...?

Thanks for the advice!
 


...I know that it is possible to use applications like VMware Fusion or Parallels to run older versions of an OS within the current version. I don't know how the new changes will affect the ability to emulate the 32-bit software, but am hoping for good news. I've never needed to do this before and would welcome any feedback from people who have. What applications work best, which are the easist to set up and use, are there any gotchas to be aware of for someone just getting started...?
In my personal opinion, Parallels is easier to use than VMWare and VirtualBox, but I'm sure others will chime in with pros and cons of each.

I've outlined obtaining, installing and setting up Mac OS X 10.6 Server in a simple step-by-step fashion on my MacStrategy web site, here. I'm planning on doing a similar one for OS X 10.8 when I get the time.

I also have an article about 32-bit applications here, including recommendations for which macOSes are best for virtualisation in this scenario. Basically, Mac OS X 10.6 Server, OS X 10.8 (if you have a licence or can pay for it and don't want all the iCloud internet stuff), or OS X 10.11 appear to be the best options.

You also need to consider what applications you are going to virtualise. Some may require specific hardware that is either not emulated at all or is not emulated very well. Examples of this are games and apps that require dedicated video/audio hardware.
 


Back when I was using Snow Leopard most of the time, I set up a Mavericks VM on my 5,1 Mac Pro’s Snow Leopard drive. It worked surprisingly well.

With Mojave and whatever desert regions come next, the idea of just dedicating a drive or machine to older OS versions and apps seems like the easier approach.
 


Back when I was using Snow Leopard most of the time, I set up a Mavericks VM on my 5,1 Mac Pro’s Snow Leopard drive. It worked surprisingly well. With Mojave and whatever desert regions come next, the idea of just dedicating a drive or machine to older OS versions and apps seems like the easier approach.
I agree!

My Mac Pro 5,1 has startup disks for Snow Leopard, Mountain Lion, Sierra, and High Sierra.

I can also run Snow Leopard Server in a VM, but sometimes I still need the non-VM version of Snow Leopard.
 


I agree! My Mac Pro 5,1 has startup disks for Snow Leopard, Mountain Lion, Sierra, and High Sierra. I can also run Snow Leopard Server in a VM, but sometimes I still need the non-VM version of Snow Leopard.
Similar set up on my 5,1 Mac Pro - Snow Leopard, Mavericks, El Capitan and Sierra. One of the externals houses another Snow Leopard drive and a Mountain Lion drive. I have Snow Leopard Server VMs on the Mac Pro and a MacBook Pro.
 


Similar set up on my 5,1 Mac Pro - Snow Leopard, Mavericks, El Capitan and Sierra. One of the externals houses another Snow Leopard drive and a Mountain Lion drive. I have Snow Leopard Server VMs on the Mac Pro and a MacBook Pro.
On my Mac Pro 4,1 flashed to 5,1 I have 4 hard drives, each partitioned using Disk Utility - bootable partitions for Snow Leopard through Sierra. This is OK if one doesn't mind re-booting and selecting via the Option/Alt key. Otherwise, virtualization is more convenient for sure if you have to alternate between OSes.

Has anyone virtualised High Sierra or Mojave? Was your firmware upgraded? Or did they just run with the Sierra firmware?
 


On 10 July 2018 in this virtualization thread, David Charlap gave this good advice:
... If you can install the VirtualBox guest additions in your Linux VM, that should fix the problem. Among other things, the guest additions direct Linux to read the time from the VM's clock device (which maps to the host's system clock) at every request.
But if you try and find where to download the guest additions, you might not know where to look. The VirtualBox User Manual in Chapter 4 states:
The Oracle VM VirtualBox Guest Additions for all supported guest operating systems are provided as a single CD-ROM image file which is called VBoxGuestAdditions.iso. This image file is located in the installation directory of Oracle VM VirtualBox.
It is not clear just what they mean by this. It's not in the Contents of the VirtualBox app (at least not on VirtualBox 6.0.4). I have found it though at

If you are going to install these guest additions, you should read and understand Chapter 4 of the VirtualBox user manual.

In my use case, I have set up the Raspberry Pi (2018-11-26-rpd-x86-stretch.iso) Raspbian OS (a distro of Debian for x86), which will make developing for my RPi 3B+ much easier.

If you wanted to boot directly from the Mac boot loader, i.e. not using VirtualBox, you should watch this video first:

Scroll down to the second video on that screen to see how to make a bootable USB for the Mac. I know it works on my Mac Pro, booting that Linux distro in EFI mode (hold down the alt/option key). You get to play live with the distro and later on install it if you really need to (as opposed to VirtualBoxing it).
 


But if you try and find where to download the guest additions, you might not know where to look.
... I have found it though at http://download.virtualbox.org/virtualbox/6.0.4/
You're doing that the hard way. Your running copy of VirtualBox always includes the corresponding guest additions disk image. No need to download anything.

With your VM running, go to the menu bar and select Devices -> Insert Guest Additions CD image...

The image, built-in to the VirtualBox application, will be inserted into the VM's virtual optical drive. The guest OS should mount it, just like any other optical disk. That disk will contain guest addition installers for Darwin (macOS), Linux, Solaris, Windows and OS/2.

There are autorun files for several popular operating systems, so (depending on how you have your guest configured) you might be able to just click a button after inserting the virtual disk. Or, if that doesn't work, you may have to manually run the appropriate installer application.

When you're done running the installer, eject the virtual disk using the guest OS's preferred mechanism. I recommend rebooting the guest OS at this point as well.
 



Oh, virtualization is definitely a solution, and you don't even have to resort to Windows. Last year, my main system was still on Yosemite, so in order to do my taxes, I ran TurboTax in an El Capitan VM just fine.
That sounds a fair bit easier than slicing a hard disk drive or SSD into multiple partitions and installing different versions of macOS just to run each new year's TurboTax.

A compatibility matrix would be very helpful - three variables needed: macOS version of the host system; Parallels (or VMWare or VirtualBox) version; macOS version of the guest system.

Does anyone know of such a table having already been worked out? If so, please post a link or synopsis. Thanks!
 



Recently I've been wondering about minimal OS X VMs on Mac Pro-hosted ESXi instances. How small can one go...?
Well, macOS doesn't really have install options anymore (unlike the Classic Mac OS days), so there's no way to do a minimal install. There's just the default install, and it'd be really tricky to know what is safe to trim down from that. Probably better off to leave it as-is.

Most hypervisors can support sparse disk images, so that would be your primary way of not using more disk space than you have to. An install of macOS Mojave would take about 12 GB. macOS doesn't bloat up the way Windows does (due to Windows SxS), so your disk usage after that would be dependent on what you install and add to it.
 


Ric Ford

MacInTouch
Well, macOS doesn't really have install options anymore (unlike the Classic Mac OS days), so there's no way to do a minimal install. There's just the default install, and it'd be really tricky to know what is safe to trim down from that.
True, although there's an interesting, extremely minimal system in the invisible Recovery HD partition. I found a way to take a look at it, but this is not recommended and may have adverse effects - attempt at your own risk....
Bash:
sudo mkdir /Volumes/RecoveryHD
diskutil list

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS Log12_SanDisk           11.5 GB    disk2s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk2s3

sudo mount -t hfs /dev/disk2s3 /Volumes/RecoveryHD
 


Recently I've been wondering about minimal OS X VMs on Mac Pro-hosted ESXi instances. How small can one go...?
There is utility called TechTool Pro that enables you to create a bootable drive with a minimal system install and the TechTool Pro application that you can use to boot your computer and fix issues. The minimal install takes 2.78 GB. You can customize it right up to a full OS X install.
 


There is utility called TechTool Pro that enables you to create a bootable drive with a minimal system install and the TechTool Pro application that you can use to boot your computer and fix issues. The minimal install takes 2.78 GB. You can customize it right up to a full OS X install.
I'm guessing this approach is (or once was) documented somewhere, since a few commercial products have done this. Alsoft's DiskWarrior was another, for example.
 


Bad news, everyone - I couldn't get this to work. There are many old references on the Internet to converting a .dmg to .vmdk using VMWare Fusion's rawdiskCreator and vdiskmanager utilities (e.g. this one). There are also many references to "p2v" (physical-to-virtual), all of which are great for Windows but ultimately no good for macOS.
One final note on all this virtualisation testing, something I thought of this morning and tried: As you can very easily create an OS X 10.11 or macOS 10.12 virtual machine with VMware Fusion, and they offer a 30-day trial, I wondered if you could easily create the virtual machine in Fusion first and then somehow import/use it with VirtualBox. Low and behold, you can! I've outlined the steps how to do this in my articles on MacStrategy.

Obviously, as I've commented here before, VirtualBox is not for the faint-hearted. I still recommend purchasing Parallels Desktop or VMware Fusion - they are simply better, more polished products all around. But if you want to use the free VirtualBox and want to get an OS X 10.11/macOS 10.12 virtual machine going, it appears you can (with a little help from Fusion).
 


Bad news, everyone - I couldn't get this to work. There are many old references on the Internet to converting a .dmg to .vmdk using VMWare Fusion's rawdiskCreator and vdiskmanager utilities (e.g. this one). There are also many references to "p2v" (physical-to-virtual), all of which are great for Windows but ultimately no good for macOS.
I created my .dmg's from working OS X 10.8 and macOS 10.12 hard disk partitions then tried to use the above instructions (or the myriad of similar ones on the internet). None of them would work. The second, vdiskmanager, command would generally fail with a "Received signal 11" error message. Googling this turned up this bug in Fusion 11. I can only assume the bug is still there in v12.

After what many viewed as, Apple's deliberate requirement of crippling VM software to not be able to use the client version of Mac OS X 10.6, I wouldn't put it past Apple that this bug has been deliberately required/introduced to stop users converting a .dmg to .vmdk.

In our use case, this feature would be really useful, but, of course, its primary use would end up being for Windows/Linux users to easily take a pre-installed .dmg of an OS X/macOS installation and convert and run it on non-Apple hardware, which would totally bypass the need for Apple hardware and the requirement to download and use the OS X/macOS installer to set up a virtual environment in the first place. Apple will no doubt take all action necessary to cripple a "feature" that allowed this to happen… (YDVOAMV - Your Dystopian View Of Apple May Vary).

On the good news side, what I could get to work is to create a clean OS X/macOS virtual environment (but not in VirtualBox) and then use Apple's Migration Assistant on first boot to access and use a .dmg clone to copy across the original setup/installation, users, applications and files. Of course, this requires setting up the basic/clean VM in the first place, on Apple hardware with Apple's official OS X/macOS installer, but at least this is possible.
With Mac OS X 10.6, you must have the Server version to make into a Fusion virtual drive. From OS X 10.8 and above, you can use the client OS to create virtual drives.

I like to create initial clean installs and then save them as stock virtuals. I can then duplicate them and install any additional apps, updates and drivers and know that I have a good clean start to work from. Also, as you noted above, you can migrate from any clone or Time Machine backup to that virtual drive. This will become more important as Apple transitions to an all-64-bit OS and the ongoing issues that older apps have with the new APFS file system.
 


With Mac OS X 10.6, you must have the Server version to make into a Fusion virtual drive. From OS X 10.8 and above, you can use the client OS to create virtual drives.
I like to create initial clean installs and then save them as stock virtuals. I can then duplicate them and install any additional apps, updates and drivers and know that I have a good clean start to work from. Also, as you noted above, you can migrate from any clone or Time Machine backup to that virtual drive. This will become more important as Apple transitions to an all-64-bit OS and the ongoing issues that older apps have with the new APFS file system.
Thank you for your input, but I think you've missed all our previous postings and conversation, so to summarise for everyone: we already know all about Mac OS X 10.6 needing to be the Server version. This has been extensively discussed here in the past, and I put together a step-by-step guide for virtualising this version of Mac OS X over on MacStrategy:

We've been discussing the need to run 32-bit applications in the future (macOS 10.15 onwards) and I maintain a list here:

I wanted to put together step-by-step guides for virtualising OS X 10.8, OS X 10.11 and macOS 10.12 - I didn't bother with other OS versions for various reasons already stated on MacInTouch:

A lot of this testing was done primarily to get Adobe Creative Suite running. I have documented my testing and findings:

All of this has raised a few points:
• VirtualBox is free but has many quirks and is not easy to use, unlike Parallels Desktop and VMware Fusion, which are very easy to use. It was okay to get OS X 10.8 virtualised with VirtualBox, but later versions of macOS just did not work.​
• This led to that fact that you can actually use a trial version of VMware Fusion to easily virtualise later versions of macOS and then transfer/import the virtual hard disk to VirtualBox​
• This also led to the question of whether you could take an existing macOS installation and "convert" it for use in a virtual environment.​
• This led to the fact that virtualising macOS generally requires starting from scratch, requiring an official Apple installer and setting up the virtual machine on Mac hardware in the first instance.
• Which proved that you cannot take a disk image .dmg clone of an existing macOS installation and "convert" it for use in a virtual environment.​
• But it did lead to the fact that you can use a Time Machine backup or clone of an existing macOS installation and "migrate" from it into an existing (clean) virtualised macOS environment.​
 


Which proved that you cannot take a disk image .dmg clone of an existing macOS installation and "convert" it for use in a virtual environment.
Have you tried a procedure like this (for VMware Fusion)?

To summarize the procedure: take a dmg clone like you have, mount it within an existing macOS VM. Attach and mount a new, empty vmdk to the VM, and use CCC or similar to copy the mounted dmg volume to the vmdk-backed volume. Use Startup Disk to select the new vmdk volume as the startup disk. Shutdown the VM, and remove the original vmdk. Fingers crossed, the VM boots successfully from the new vmdk, which is cloned from your physical machine.
 


Have you tried a procedure like this (for VMware Fusion)?

To summarize the procedure: take a dmg clone like you have, mount it within an existing macOS VM. Attach and mount a new, empty vmdk to the VM, and use CCC or similar to copy the mounted dmg volume to the vmdk-backed volume. Use Startup Disk to select the new vmdk volume as the startup disk. Shutdown the VM, and remove the original vmdk. Fingers crossed, the VM boots successfully from the new vmdk, which is cloned from your physical machine.
Thanks - a very interesting approach which I haven't tried yet. I will try to set aside some time to test this method this week/next week.
 


Thanks - a very interesting approach which I haven't tried yet. I will try to set aside some time to test this method this week/next week.
I just realised my test rig's VMware Fusion trial runs out tomorrow, so I moved my work schedule around and did some testing today.

Yippee - success!!

I've been able to clone across from disk image files of various operating systems using VMware Fusion. I've documented the steps over on MacStrategy:

Many thanks to Todd Bangerter for pointing us in the right direction.
 



I just realised my test rig's VMware Fusion trial runs out tomorrow, so I moved my work schedule around and did some testing today.
Yippee - success!!
I've been able to clone across from disk image files of various operating systems using VMware Fusion. I've documented the steps over on MacStrategy:
Many thanks to Todd Bangerter for pointing us in the right direction.
It seems like you should be able to do this directly from macOS, rather than inside a virtual machine.

VMware Fusion has the ability to directly read a host drive, a.k.a. "raw disk". It does this by creating a metadata .VMDK file that links to the actual drive.

So, per VMware, all you have to do is use vmware-rawdiskCreator to create the .VMDK linked to a host drive, then use vmware-vdiskmanager to create a normal file-based .VMDK by copying from the metadata .VMDK.

Both tools are found in /Applications/VMware Fusion.app/Contents/Library.

I said "per VMware" because they did say this is the right procedure, but they did not list the precise command syntax needed. So, 10 points to whoever can find the best link to a website that actually says how to do this.
 


It seems like you should be able to do this directly from macOS, rather than inside a virtual machine.

VMware Fusion has the ability to directly read a host drive, a.k.a. "raw disk". It does this by creating a metadata .VMDK file that links to the actual drive.

So, per VMware, all you have to do is use vmware-rawdiskCreator to create the .VMDK linked to a host drive, then use vmware-vdiskmanager to create a normal file-based .VMDK by copying from the metadata .VMDK.

Both tools are found in /Applications/VMware Fusion.app/Contents/Library.

I said "per VMware" because they did say this is the right procedure, but they did not list the precise command syntax needed. So, 10 points to whoever can find the best link to a website that actually says how to do this.
I've been there and tried that - it doesn't work! It works for PC Windows environments but it doesn't work for macOS.

It used to (maybe) work - there are many, many step-by-step guides on the internet to do this for macOS but they are all at least three years old (BTW, I've tried them all and spent hours testing them a couple of weeks ago). This feature stopped working for macOS environments with Fusion 10 (apparently due to a bug in vmware-vdiskmanager when working with macOS disks). That bug has never got fixed.

My personal speculation is that it is a deliberate bug (probably required by Apple) to specifically block this feature, because it allows Windows/Linux users to simply download a .dmg of a macOS installation, convert it and virtualise it on their non-Apple hardware without the need for a Mac, Apple ID, the App Store or an original macOS installer.

The methods we have managed to get working all require a real Mac and/or original macOS installer - so for Apple, those methods are all fine/allowable.
 


My personal speculation is that it is a deliberate bug (probably required by Apple) to specifically block this feature, because it allows Windows/Linux users to simply download a .dmg of a macOS installation, convert it and virtualise it on their non-Apple hardware without the need for a Mac, Apple ID, the App Store or an original macOS installer.
The methods we have managed to get working all require a real Mac and/or original macOS installer - so for Apple, those methods are all fine/allowable.
As far as I know, whether macOS can be virtualized on non-macOS hosts depends on whether the virtual machine's virtual SMC presents the key

ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc

when probed by the Dont Steal Mac OS X.kext kernel extension.

Fusion on macOS does (for certain macOS versions only?), but VMware Workstation on Windows does not.

Hackintoshes get around this by using their own EFI boot loader.
 


Probably the worst issue using a virtual machine is that backups on the OSX side see opening Windows in the vm as a huge file that got changed. Hence, backups can take a while after visiting Windows. (Note that Carbon Copy Cloner just replaces the old 'C' drive file with a new one, even if the 'C is 100 gig or larger.)
I have had to struggle a bit to ensure I get good backups of my virtual machines. One practice that makes this manageable is that I shut down the virtual machines at the end of the day. As a start, I have excluded the virtual machine folder from the Time Machine backup. Then, I use a scheduled Chronosync script to back up the virtual machine folder to (several) other locations every few nights. I get my VM backups, and they are not hogging all of the space on my Time Capsule drive, as they're not backed up each hour. I mainly use Time Machine for the immediate hourly backups. I use Chronosync to do a bootable backup to another SSD every few days, so I don't have too much downtime if something stops my machine from booting.
 


I have had to struggle a bit to ensure I get good backups of my virtual machines. One practice that makes this manageable is that I shut down the virtual machines at the end of the day. As a start, I have excluded the virtual machine folder from the Time Machine backup. Then, I use a scheduled Chronosync script to back up the virtual machine folder to (several) other locations every few nights. I get my VM backups, and they are not hogging all of the space on my Time Capsule drive, as they're not backed up each hour. I mainly use Time Machine for the immediate hourly backups. I use Chronosync to do a bootable backup to another SSD every few days, so I don't have too much downtime if something stops my machine from booting.
Since all of my application data resides on the host machine volumes, it is backed up by Time Machine and by my regular Clone (CCC) backups. I also shut down all VMs and use CCC to copy them to a dedicated partition on my CCC target drives. This is done before updating Parallels or any other significant updates and as part of a monthly off-site backup process.

Recovery of a VM instance has become a simple Finder copy process. This is occasionally necessary because of Windows failures, Parallels VM corruption, Apple's changes, or, of course, user errors.
 


Amazon disclaimer:
As an Amazon Associate I earn from qualifying purchases.

Latest posts