Installing the new macOS 10.12 Sierra ‘Developer Preview’ on VMware Fusion 8

*** HIGH SIERRA UPDATE ***

We have a pull request on our patch that can be used instead of the ‘main’ branch which will work with macOS High Sierra. I’ll be writing in more detail about this soon, but the process is the same, just use this version of the .tool.

https://github.com/VMwareFusion/sierra-vm-installer-fix/pull/9

*** [old] UPDATE ***

We fixed the script that was causing this to happen and needed this workaround. Now you can just update the script and it will ‘just work’ when you drag the Install .app onto Fusion’s New VM Creation Wizard.. Details here

http://blogs.vmware.com/teamfusion/2016/06/fix-for-installing-macos-sierra-as-a-vm.html

github.com/vmwarefusion

github.com/vmwarefusion/sierra-vm-installer-fix

Original post below

**************

It’s that time of year again! With #WWDC2016 in full swing, Apple has graced us with an insider look at the next big OS release for the newly renamed macOS, dubbed Sierra.

By default, it doesn’t work in Fusion as a virtual machine the same way users would expect by simply dragging the installer .app onto Fusion. (We’re working on it 😉

Luckily, we can use some tools built into OS X El Capitan (and earlier) to get this working in a VM.

At a high level, we need a blank OS X 10.11 (custom) VM, and we need to leverage command line tools (with links to their respective docs):

  • Apple’s ‘createinstallmedia‘ CLI tool which is bundled with the “Install 10.12 Developer Preview.app”
  • VMware’s ‘vmware-rawdiskCreator‘ tool to create the actual disk where we will be installing to.

First, you’ll need to have a blank, custom VM.

This is straightforward, but I’ll walk through just so you have it.

  • From Fusion go File > New
  • From the ‘New VM’ wizard we would choose ‘Create Custom VM’

new-vm-creation-wiz-custom

  • Choose the OS version OS X 10.11
  • Choose ‘Create New Disk
  • Save the VM wherever you please
  • I customized it to add more RAM, bumping it to 4GB (4096MB) just to be on the safe side.

When you have your new blank VM, we now need to do 3 things:

  1. Create the installation media “sparse image”
  2. Copy contents of the installer into the new installation media sparse image
  3. Create a .vmdk which ‘points’ to the installation media sparse image (now filled with the contents of the installer) that we just created.

So to do that we start with Mac’s Disk Utility app. You’ll find it in your /Applications/Utilities folder (or do like I do and hit cmd-space and search Spotlight for ALL THE THINGS… 😉

In Disk Utility go File > New Image > Blank Image… and use the settings I have in the image below (call the file whatever you like, but make sure it has the following:

disk-util-macOS_10.12

  • Size = 6GB (absolutely not smaller)
  • Format = OS X Extended (Journaled)
  • Encryption = none
  • Partition = Single Partition – GUID Partition Mac
  • Image Format = sparse disk image

This creates the blank slate that we will then copy the contents of the “Install 10.12 Developer Preview.app” into using ‘createinstallimage’ utility.

It should ‘mount’ the new image we just created, but if it’s not there you can mount it with Disk Utility or from the command line. Mine mounted automatically.

Once it’s mounted we can copy the contents of our installation app into the new sparse image.

For this, we jump down to the command line and run some commands.

 

First, let’s create our install media.

Run the following command (all one line):

sudo /Applications/Install\ 10.12\ Developer\ Preview.app/Contents/Resources/createinstallmedia --volume /Volumes/macOS-10.12_DP --applicationpath /Applications/Install\ 10.12\ Developer\ Preview.app

I named the thing I created with Disk Utility ‘macOS-10.12_DP’ as you can see in the ‘Name’ field in the image above.

createinstallmedia image

Easy peasy… contents copied, new installation media is created with the sparse image we just created, filled with the contents of the installer .app we got from Apple.

Now, let’s make sure the host Mac’s disk layout is okay with “diskutil list“:

(for clarity, $ is the prompt at the terminal, you do not need to type it)

$ diskutil list

It outputs something like the image below:

diskutil list

We can see that I have the ‘Install 10.12 Developer Preview’ mounted as /dev/disk2s2. We need this device id because this is the prepared installation media that we’ll be installing from in the blank virtual machine we created earlier, and the disk number may change depending on what you have mounted on your system.

Now we use VMware’s ‘vmware-rawdiskCreator’ tool to create a .vmdk based on the sparse image we created.

The syntax is as follows:

<path to vmware-rawdiskCreator> create <device id> <partition id> <path to where we want the .vmdk to be saved> <bus type>

So a few things about that so we understand what’s happening:

  • vmware-rawdiskCreator is located within the Fusion app bundle itself, so we’ll point to that
  • create is the vmware-rawdiskCreator function that will create a new “raw” disk
  • <device id> is the /dev/disk2 that we saw earlier, yours may be different if you have other disks mounted.
  • <partition id> is 2 because it’s the 3rd partition on the ‘device’, and numbering starts at 0 (so 0 = first, 1 = second…)
  • We tell it where we want it to be saved, and in our case it will be within the VM bundle that we created at the beginning
  • <bus type> we choose lsilogic so that it behaves like a CD-ROM.

So, for me the command is as follows (all one line):

$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk2 2 ~/Documents/Virtual\ Machines.localized/macOS_10.12.vmwarevm/macOS_installationmedia lsilogic

It should take a few seconds to make the new .vmdk.

 

Okay, breathe… we are about to get the actual install started.

Because Fusion doesn’t support mounting raw disks using the UI, we just have to add it to the configuration file manually.

In the Virtual Machine Library window, right-click your newly created OS X 10.11 VM.

If you hold down the ‘Option’ key you’ll notice some options change… including ‘Edit config file in a text editor’ (I couldn’t take a screenshot due to the need for multiple key presses).

With the config file open in TextEdit, paste the following either at the bottom or with the other SATA device to keep them together (if you’re a little ocd about it like I am 😉

sata0:2.present = "TRUE" 
sata0:2.fileName = "macOS_installationmedia.vmdk" 
sata0:2.deviceType = "rawDisk" 
suspend.disabled = "TRUE"

Notice the file we’re pointing at is ‘macOS_installationmedia.vmdk’… that’s the one we just created with our vmware-rawdiskCreator tool, and it’s a relative path meaning it’s in the same folder as the config file (.vmx) itself.

Close the document (if you’re using TextEdit it will save automatically).

Now all that’s left is to press ‘Play’ on the VM and go through the installation!

dp-10.12-installing

 

It’s a bit of hack, but we’re working on making it just as seamless as installing current and earlier versions of OS X on Fusion.

To recap, we did the following:

  1. Downloaded the macOS 10.12 Developer Preview
  2. Created a blank VM with OS X 10.11 as the type
  3. Created a sparse disk for the install media
  4. Copied the install media to the sparse disk
  5. Used vmware-rawdiskCreator to create a .vmdk based on the sparse disk with the installation media
  6. Boot and install

Once the installation is done you can delete the extra hard disk because it’s no longer needed, and you can’t suspend the VM while a raw disk is attached.

Hope that helps folks looking to try the latest that Apple has to offer!

Let me know in the comments how that’s working out for you, if you have any suggestions, or need clarity on anything I’ve written here!

 

 

*** Update***

Thanks commenters for the feedback!

a few things…

Reader nutmeg noted the following, which I totally agree with:

One minor nitpick After installation, one should shut down the VM (via macOS Shutdown option), then re-edit the VM configuration file and remove 4-line entries:

sata0:2.present = “TRUE”
sata0:2.fileName = “macOS_installationmedia.vmdk”
sata0:2.deviceType = “rawDisk”
suspend.disabled = “TRUE”

If you don’t delete these lines you end up with weird ‘bootcamp’ related errors… (we use rawdiskcreator for bootcamp installs, naturally)… And because it’s a raw-disk it can’t be deleted from the UI (because that would break a bootcamp VM so we disallow that).

Reader Leslie notes something that I often take for granted when posting technical instructions about command line operations:

To everyone getting “Unable to copy the source files (…) ” – just look into vmwarevm content and delete macOS_installationmedia (both of them) file from there then try to create raw disk again! And please do not copy paths from here, just drag n’drop files from Finder in order to get it. And it will work for sure. I am living proof ????

Thanks for the feedback, friends!

30 Replies to “Installing the new macOS 10.12 Sierra ‘Developer Preview’ on VMware Fusion 8”

  1. Glad to know you have a fix. I hope that VMWare will release a patch pretty soon that us dummies can use. Til that time i’ll just use boot camp. I don’t have the ability to make it work myself…

  2. Sadly, the end of the procedure didn’t work for me. The command

    /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk2 2 ~/Documents/Virtual\ Machines.localized/macOS_10.12.vmwarevm/macOS_installationmedia lsilogic

    failed to create anything (it was /dev/disk8 2 in my case). My hunch is that “Machines.localized” part should be “Machines/.localized” instead, but that didn’t work either, so I created the relevant .vmdk (a couple of files) in ~ and named it macOS_installationmedia and moved both files inside the newly created virtual machine package. After manually editing its configuration file and firing up the virtual machine, I entered an endless loop of kernel panics.

  3. Nice job 😉 For the screen capture you could not do because of multiple keys pressed, this is when the Grab utility becomes handy, as it has a timer feature 🙂 (though I hate otherwise).

  4. For the last set of terminal commands I get the following error back in Terminal “Unable to copy the source files to the destination files.”

    I’ve double checked the diskutil list path and it’s pointing to the newly mounted image, partition 3.

  5. To everyone getting “Unable to copy the source files (…) ” – just look into vmwarevm content and delete macOS_installationmedia (both of them) file from there then try to create raw disk again! And please do not copy paths from here, just drag n’drop files from Finder in order to get it. And it will work for sure. I am living proof 🙂

    1. Thanks, Leslie. That worked for me.

      Here are the steps I took to resolve the Unable to copy the source files (…) ” error:

      1. In the Finder, navigate “/Users/USERNAME/Documents/Virtual Machines/OS X 10.12/
      2. Right click (control click) on “OS X 10.12” and choose “Show Package Contents”
      3. Delete “macOS_installationmedia” (if necessary)
      4. Go back to the Terminal.
      5. The final Terminal command I entered was as follows (without quotes):

      “/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk3 2 /Users/USERNAME/Documents/Virtual\ Machines.localized/OS\ X\ 10.12.vmwarevm/macOS_installationmedia lsilogic”

      Note: USERNAME is my home directory. Replace it with your home folder username.
      Note: I have Bootcamp set up, so my “/dev/disk number” is different than the typical single Macintosh HD volume setup.

      6. Close the Finder windows, return back to VMware Fusion, and start the VM.

      Hope this helps

      1. [email protected] says:

        Im still having issues with this . I entered /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk2 2 /Users/USERNAME/Documents/Virtual\ Machines.localized/OS\ X\ 10.12.vmwarevm/macOS_installationmedia lsilogic and still get “cannot copy files to surge” . What do I do? Is there an error between the \Virtual\Machines part in the commas ?

  6. One minor nitpick After installation, one should shut down the VM (via macOS Shutdown option), then re-edit the VM configuration file and remove 4-line entries:

    sata0:2.present = “TRUE”
    sata0:2.fileName = “macOS_installationmedia.vmdk”
    sata0:2.deviceType = “rawDisk”
    suspend.disabled = “TRUE”

  7. Sadly, much as I’ve tried following the advice that we drag the relevant vmwarevm path to the Terminal window (in my case the end of the instruction is ~/Documents/Virtual\ Machines.localized/macOS\ 10.12\ Sierra.vmwarevm/macOS_installationmedia lsilogic), the “create” command only takes a couple of seconds and the result is a couple of files within the vmwarevm package: the first one is macOS_installationmedia-pt.vmdk, and its size is just 34 KB; the second one is macOS_installationmedia.vmdk and its size is just 1 KB. Is this normal at all? Isn’t one of them supposed to contain the entire 6GB Sierra installer?

    1. That’s what i thought as well but it’s the expected behaviour it’s creating a link the mounted image. Worked for me.

  8. As a continuation of the above, I figured out the macOS_installationmedia virtual disk created is a “link” virtual disk, which actually points to the sparse disk image we’ve created before. Following VMware instructions, I managed to turn that “link” virtual disk into a self-contained, full-sized vmdk that actually contains the full contents of the sparse disk image. Unfortunately, the result is the same: perpetual kernel panics.

    I was wondering if this situation might be caused by the actual hardware on which Fusion runs. In my case, it’s a Mac Pro 1,1, and on this platform, for instance, there’s no VT-x/EPT. Might this be the cause it’s failing?

  9. I dunno. This seems to be a lot to do about nothing…

    Here’s how I did it:

    1). Download the Install 10.12 Developer Preview to the Desktop
    2). Create an El Capitan VM in VMWareFusion using Mac recovery disk as the source
    3). Drag & drop the Developer Preview from the Desktop onto the new VM
    4). Upgrade El Capitan to OSX Sierra

    Thats it.

  10. I did the same as groverscorner before I saw this blog post. Seemed pretty simple that way. I probably do have artifacts though since I upgraded over 10.11.6 DP2

  11. Thanks for wonderful tips.

    It seems everything goes well and I now see the first screen of the installer.

    Is it OK to choose my main disk where macOS 10.12 should be installed?
    I know the installer is running under VMware Fusion but I’m a bit scared if it really is OK…

  12. Unfortunately, early failure for me. The createinstallmedia command fails with an unhelpful message “The copy of the installer app failed”. I tried to make the disk image larger, with no change.

    Any suggestion appreciated.

    1. Try and find some clues in your console logs… There should be reasons for the failure listed. Could be disk space related, or corrupt something-or-other… hard to say without knowing the error, but the console logs should tell you something

  13. Thanks a lot for this. I had a few problems with the rawdiskcreator. I finally got it working when I fully qualified the destination path AND realised that my vm file didn’t have the same name as yours.

  14. I had the same issue as Jean-Denis. It looks like the sparse disk is not sizing up properly. System log shows things like “mounted on ‘/Volumes/Install 10.12 Developer Preview’, from ‘/dev/disk4s1’, low disk, very low disk”

    Trying again by creating a read/write disk image now.

Leave a Reply