Jump to content
63 posts in this topic

Recommended Posts

Run Vanilla OS X El Capitan, Sierra, High Sierra or Mojave in VMware Workstation on a Windows Host

 

I wanted to make a simple guide on how to create a vanilla OS X El Capitan virtual machine running on a Windows host.  The virtual machine should be useful for testing El Capitan and also for creating installers for use on a real machine/hackintosh.

 

There are many guides and videos on the net about running OS X on Windows machines using pre-made VMWare disk images but you can never guarantee what else is in there….

 

I’ve gathered info for this guide from various threads in the Multibooting and Virtualisation section of this forum eg

 

Credit and thanks to @Donk, @Albert Nietsnie and @MSOK for all their hard work in creating and testing the VMware Unlocker program.

 

Requirements

  • Intel PC with four or more CPU cores running Windows 7 X64 or later OS (2 or more cores needed for OS X)
  • 4GB or more RAM (2GB or more will be needed for OS X)
  • Hard Disk with at least 40GB free for Virtual Machine
  • VMware Workstation 12 or later
  • VMware Unlocker 2.0.7 or later
  • Install OS X El Capitan app and Mac or Hack to prepare installation iso <-- Now, no longer necessary to have previous access to a Mac or Hack by building the Installer.app from scratch - see post#41
  • 16GB or larger exFAT formatted USB stick to transfer El Capitan iso from Mac/Hack to Host PC

Prepare Installation ISO on your Mac or Hack
1.  On your Mac or Hack, download "Install OS X El Capitan.app" from the App Store into your Applications folder.

2.  Unmount any attached install image/InstallESD.dmg (if currently mounted) by rebooting the system or running the hdiutil unmount command in terminal eg

 

 

ls /Volumes

hdiutil unmount -force /Volumes/OS\ X\ Base\ System   (if you find 'OS X Base System')

hdiutil unmount -force /Volumes/OS\ X\ Install\ ESD       (if you find 'OS X Install ESD')

3.  Download and unzip the CECI.tool (attached to this post) into your ~/Downloads folder. The commands in this executable script are shown below for informational purposes….

 

 

 

 


#!/bin/bash
 
 # Mount the Installer image
 hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
 
 # Create El Capitan sparseimage of 7316mb with a Single Partition - Apple Partition Map
 hdiutil create -o /tmp/ElCapitan -size 7316m -layout SPUD -fs HFS+J -type SPARSE
 
 # Mount the El Capitan sparseimage
 hdiutil attach /tmp/ElCapitan.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build
 
 # Restore the Base System into the El Capitan Blank sparseimage
 asr restore -source /Volumes/install_app/BaseSystem.dmg -target /Volumes/install_build -noprompt -noverify -erase
 
 # Remove Packages link and replace with actual files
 rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages
 cp -rp /Volumes/install_app/Packages /Volumes/OS\ X\ Base\ System/System/Installation/
 
 # Copy El Capitan installer dependencies
 cp -rp /Volumes/install_app/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/BaseSystem.chunklist
 cp -rp /Volumes/install_app/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/BaseSystem.dmg
 
 # Unmount the installer image
 hdiutil detach /Volumes/install_app
 
 # Unmount the Base System image
 hdiutil detach /Volumes/OS\ X\ Base\ System/
 
 # Convert the ElCapitan spareseimage image to ISO/CD master
  hdiutil convert /tmp/ElCapitan.sparseimage -format UDTO -o /tmp/ElCapitan.iso
 
 # Rename the ElCapitan ISO image and move it to the desktop
  mv /tmp/ElCapitan.iso.cdr ~/Desktop/'EC 10.11.0.iso'
 
 # Delete ElCapitan.sparseimage file
  rm -f /tmp/ElCapitan.sparseimage

 

 

4.  Open OS X terminal, then run the following commands to execute the script:

cd downloads
chmod +x CECI.tool
./CECI.tool

5.  At the end of the process, you will have an El Capitan iso on your desktop - copy this onto an exFAT formatted USB for use on the PC Host later.

 

Updates:

@shela has created an ISO generating script compatible with OS X 10.6-10.12: create_osx_iso post #362.

See post#30 for macOS_iso_cim.tool script to create ISO for macOS 10.13+ using Apple's createinstallmedia utility.

 

Install and Patch VMware Workstation 12 on your PC
1.  Download and install VMWare Workstation Player 12 or later
2.  Download and extract Unlocker 2.0.7 or later to your USB stick…
3.  Run the win-install.cmd as administrator by right clicking the file in Windows explorer or run it from an Administrative Command Prompt.

 

post-846696-0-87299700-1448274753_thumb.png

post-846696-0-95749200-1448274777_thumb.png

post-846696-0-71490600-1448274815_thumb.png

 

Create an El Capitan Virtual Machine
1.  Double click on the VMware Workstation 12 Player icon on your desktop and click “Create a New Virtual Machine”.  Choose “I will install the operating system later” at the How will you install screen….

 

post-846696-0-38738400-1448274880_thumb.png

2.  Select Apple Mac OS X as the Guest operating system and OS X 10.11 as the version.  By default, an OS X 10.11 folder will be created in your Documents\Virtual Machines folder.

 

post-846696-0-35104900-1448275064_thumb.png

post-846696-0-53925300-1448275150_thumb.png

3.  Under Specify Disk Capacity, you can leave the default 40GB or set a larger value.  I personally store the virtual disk as a single file.  Click Finish and you will see OS X 10.11 on the Main Screen of Workstation 12.

 

post-846696-0-44955000-1448275197_thumb.png

post-846696-0-61560500-1448275218_thumb.png

4.  Next, we need to edit the virtual machine settings to map the virtual SATA CD/DVD drive to the El Capitan installation iso we created earlier.

 

post-846696-0-43595000-1448275263_thumb.png

post-846696-0-99469400-1448275283_thumb.png

 
5.  To prevent the virtual machine from crashing in Windows, the virtualHW.version set in the vmx configuration file needs to be changed from 12 to 10 (alternatively, the line smc.version = "0" can be added to the file).  The OS X 10.11.vmx file can be edited with the WordPad program (navigate to the OS X 10.11 virtual machine folder with Windows Explorer and right click on the file to open in WordPad).

 

post-846696-0-47872200-1448275473_thumb.png

post-846696-0-35905000-1448275509_thumb.png

 

6.  For HW10, set USB compatibility to USB 2.0, otherwise your mouse and keyboard might not work in the virtual machine.

 

post-846696-0-53346500-1448275616_thumb.png

7.  Finally click “Play virtual machine”

 

post-846696-0-04406600-1448275661_thumb.png

Installation of El Capitan
Installation should be relatively straight forward, just following the prompts of the OS X installer:
1.  Select language, agree to legal terms

 

post-846696-0-18770600-1448275703_thumb.png

2.  Use Disk Utility from the Utilities Menu to erase and format the virtual hard drive as a single partition GUID Mac OS X Extended.  I’ve named the drive Macintosh HD but you can enter whatever you like eg El_Capitan.

 

post-846696-0-61404700-1448275764_thumb.png

post-846696-0-08659000-1448275824_thumb.png

post-846696-0-27948900-1448275853_thumb.png

3.  Quit DU and choose Macintosh HD to install El Capitan on.

 

post-846696-0-97360700-1448275971_thumb.png

4.  After 20-30 min (depending on how fast your system is), the installation will complete and the VM will automatically reboot…

 

post-846696-0-43308500-1448276008_thumb.png

5.  At the welcome screen, choose your country and keyboard layout.  You can skip transfer information, location services and logging in with your Apple ID if you wish…

 

post-846696-0-22300100-1448276067_thumb.png

post-846696-0-72361700-1448276173_thumb.png

6.  Create a User Account and select your Time Zone.  You can skip sending diagnostics and usage data to Apple….

 

post-846696-0-00744800-1448276203_thumb.png

post-846696-0-28889900-1448276237_thumb.png

7.  Finally, you will arrive at the El Capitan Desktop.  You should eject the Installation iso now by right clicking and selecting “Eject OS X Base System”.  This will allow you to install VMware Tools….

 

post-846696-0-78982300-1448276303_thumb.png

post-846696-0-33468500-1448276342_thumb.png

post-846696-0-81527500-1448276376_thumb.png

8.  After rebooting, the VM can now be resized or run at full screen resolution.  Audio and network/internet should also work OOB.

 

post-846696-0-05989800-1448276581_thumb.png

 

SMBIOS Customization and iMessage Vars

To make the Virtual Machine more "Mac like", you can edit the vmx file to add unique identifiers from a real Mac's SMBIOS -

eg for an iMac 11,3 SMBIOS, you can enter the following lines....

smbios.reflectHost = "FALSE"
board-id.reflectHost = "FALSE"
board-id = "Mac-F2238BAE"
hw.model.reflectHost = "FALSE"
hw.model = "iMac11,3"
serialNumber.reflectHost = "FALSE"
serialNumber = "W80#######6"

Refer How to spoof real Mac in VMware - Multi-booting and Virtualisation.

 

The critical variables for iMessage/Facetime activation are MLB & ROM.  By default, VMware "reflects" the host's MLB and ROM since it assumes you are running the OSX guest on a real Mac host - see post#42 by @Donk.

 

If the host is a Windows PC, the following lines need to be added to the vmx file (requires virtualHW.version 12 and smc.version = "0")....

efi.nvram.var.ROM.reflectHost = "FALSE"
efi.nvram.var.MLB.reflectHost = "FALSE"
system-id.enable = "TRUE"

and the MLB, ROM and optionally system-id entered manually eg

efi.nvram.var.MLB = "W80######BA1A" (MLB can be 13 or 17 characters long, alphanumeric string)
efi.nvram.var.ROM = "<=>?@A" (ROM is entered here as a 6 character ASCII string)
uuid.bios = "## ## ## ## ## ## ## ##-## ## ## ## ## ## ## ##" <---Optional (if you want to inject a given system-id hexadecimal value)

Note the output for ROM from imessage_debug is a 12 character hexadecimal that needs to be entered here as a 6 character ASCII string eg using an Hex to ASCII converter we find that "3c3d3e3f4041" hex is equivalent to   "<=>?@A".

 

Vanilla Mavericks and Yosemite

The same VM settings for El Capitan will also boot and run vanilla installations of OS X Mavericks and Yosemite :).  Attached to this post are installer scripts to create bootable Mavericks (CMI.tool) and Yosemite (CYI.tool) ISOs for VirtualBox and VMware.

 

With the respective OS X installer apps in the Applications folder, download and run the installer tools using terminal ie

 

To create a Mavericks ISO on your desktop

cd downloads
chmod +x CMI.tool
./CMI.tool

To create a Yosemite ISO on your desktop

cd downloads
chmod +x CYI.tool
./CYI.tool

Here is a screenshot of the VM running Mavericks 10.9.5...

 

post-846696-0-16750200-1449393567_thumb.jpg

 

Enjoy :)

 

Update for macOS 10.12 Sierra

The above settings still work for macOS Sierra after upgrading to VMware Workstation 12.5 and unlocker 2.0.8 - see post #13.

 

Update for macOS 10.13 High Sierra and 10.14 Mojave

See post#30 for macOS_iso_cim.tool script to create ISO for macOS using Apple's createinstallmedia utility.

Post#41 describes how to build "Install macOS ******.app" on the fly from installer files downloaded beforehand in /SharedSupport folder.

 

Update for macOS 10.15beta Catalina

See post Update for macOS Catalina 10.15beta

 

CECI.zip

CYI.tool.zip

CMI.tool.zip

Edited by fusion71au
Update for Catalina
  • Like 16

You can get imessage working (if it isn't already) by adding the following to VMWare configuration file (OS X 10.11.vmx):

 

efi.nvram.var.ROM.reflectHost = "FALSE"
efi.nvram.var.MLB.reflectHost = "FALSE"
efi.nvram.var.ROM = "XXXXXX" [6 digit decimal]
efi.nvram.var.MLB = "XXXXXXXXXXXXXXXX" [16 digit hexadecimal]
 
You can use a random number for ROM and MLB.
  • Like 3

El Capitan Recovery Partition

Sometimes you may need to boot into El Capitan's Recovery Partition to disable SIP (System Integrity Protection) to install a particular kext or application.

 

The quickest way to achieve this is by simultaneously holding down the <Windows> and <R> keys as your El Capitan virtual machine is booting up and you see the VMware logo.  Ensure you click inside the VM window first so that your keystrokes are registered!

 

Once you reach the GUI to select your language and are presented with OS X Utilities, open the terminal app and type csrutil disable as shown below, then reboot the VM...

 

post-846696-0-91139500-1450561367_thumb.png

post-846696-0-44332700-1450561399_thumb.png

 

Adding the Recovery Partition as an entry to the VMware Boot Manager

If you are unable to directly boot into the recovery partition with <Windows>+<R>, another method is to add the Recovery HD as a boot option to VMware's EFI Boot Manager.  Procedure courtesy of @EMR from the VMware forums:

 

1.  Once your El Capitan virtual machine has been completely shut down, open the VM's vmx file with Wordpad and add the line

bios.bootDelay = "3000"

Save the file and restart the virtual machine.

2.  As the virtual machine starts booting, click anywhere inside its window and press <F2> when you see the "VMware" logo.  Most likely the Boot Manager will only display one useful option ("Mac OS X") which lets you boot your OS X virtual machine but no option will appear for the Recovery HD.  Use your down-arrow key until you get to "Enter setup".  Press Enter.  That will take you to the Boot Maintenance Manager:

 

post-846696-0-18282800-1450562277_thumb.png

 

3.  Don't move the focus away from "Configure boot options". Press Enter. That will take you to the "Configure boot option" menu.

 

post-846696-0-70718300-1450562431_thumb.png

4.  Don't move the focus away from "Add boot option". Press Enter. That will take you to File Explorer, in which a series of boot files are displayed.

 

post-846696-0-72145200-1450562516_thumb.png

5.  Using your down-arrow key, navigate to the "file" whose name begins with "Recovery HD". Press Enter. You'll remain in File Explorer.

 

post-846696-0-14794800-1450562567_thumb.png

6.  Using your down-arrow key, navigate to "<com.apple.recovery.boot>". Press Enter. You'll remain in File Explorer.

 

post-846696-0-66193800-1450562604_thumb.png

Edit:  For High Sierra and newer macOS with APFS volume for Recovery, the path to boot.efi is different.  Instead of "com.apple.recovery.boot", boot.efi will be inside a folder with long number "UUID" name eg \UUID\boot.efi...

 

Spoiler

650197618_VMwareAddRecovery1.thumb.png.935b82ecc9170452250bf308ae6f90a4.png1544100484_VMwareAddRecovery2.thumb.png.39f95947c347d6fe5dc153f5aac697fa.png60456899_VMwareAddRecovery3.thumb.png.201bf097861223b24b58823d73b0e472.png

 

7.  Using your down-arrow key, navigate to "boot.efi". Press Enter. That will take you to the "Modify Boot Option Description".

 

post-846696-0-08966600-1450562644_thumb.png

 

8.  Don't move the focus away from "Input the description". Enter whatever description you deem appropriate. For instance, enter "Recovery HD".

 

post-846696-0-47952300-1450562688_thumb.png

post-846696-0-31141900-1450562766_thumb.png

 

9.  Then, on the same screen, select "Commit changes and exit".

 

post-846696-0-74717400-1450562841_thumb.png

 

10.  From that point on, whenever you go to your virtual machine's "Boot Manager", there'll be a "Recovery HD" option, which is the one you should select to go to your Recovery HD.

 

post-846696-0-44333800-1450562923_thumb.png

 

Install and configure Clover for your VMware guest

In this mini guide, I'll show how to install and configure Clover for an El Capitan guest running in VMware.

 

Why install Clover?

  • Clover acts as a boot manager so you can select partitions other than your main OSX installation to boot eg the Recovery HD.
  • By selecting a volume and then the <Spacebar> key, you can boot in verbose mode, safe mode or single user mode to diagnose and fix booting problems.
  • By setting the CsrActiveConfig in Clover's config.plist to 0x67 or 0x0, you can disable or enable El Capitan's SIP without needing to boot into the Recovery Partition.
  • Finally by entering various serials in Clover's config.plist (SMBIOS and Rt Variables), you can customise your VM for iMessage/Facetime/iCloud activation purposes.

Pre-requisites

Installation of Clover

 

 

 

1.  Open and run the Clover package installer by double clicking on it in Finder.

 

post-846696-0-50161100-1448800143_thumb.png

2.  Read the "Important Information" and click continue.

 

post-846696-0-14152400-1448800171_thumb.png

3.  Select the OSX partition as the target to install to (in this example, "Macintosh HD") and click continue.

 

post-846696-0-25319700-1448800208_thumb.png

4.  Click the customize button...

 

post-846696-0-58328400-1448800238_thumb.png

5.  Select "Install for UEFI booting only" and "Install Clover in the ESP" check boxes (optionally, you can also select to install a theme eg BGM), then click install.  You do not need to install any other UEFI drivers or select any other options.

 

post-846696-0-01903800-1448800294_thumb.png

6.  Provide your administrator password to allow the installer app to proceed...

 

post-846696-0-25967200-1448800320_thumb.png

7.  Close the installer app once it has done its job.  You'll notice that the EFI partition is now mounted and can be accessed from the desktop.

 

post-846696-0-20354500-1448800343_thumb.png

 

 

 

 

Configure Clover's config.plist with Clover Configurator

 

 

 

1.  Navigate to the /EFI/EFI/Clover folder in Finder and right click on the config.plist file to open with the Clover configurator app.

 

post-846696-0-38015100-1448800387_thumb.png

2.  Click on the ACPI tab on the LHS of the GUI and make sure all the DSDT fixes and other options are unchecked.  Note both "Old way" and "New way" DSDT fixes should be removed.

 

post-846696-0-45322400-1448800417_thumb.png

3.  Click the Boot tab and uncheck all the boot arguments.  The Default Boot Volume can be left as LastBootedVolume and the Default Loader as boot.efi.  Adjust Timeout value in seconds if you wish.

 

post-846696-0-82590000-1448800446_thumb.png

4.  CPU tab should be empty.

 

post-846696-0-03338400-1448800472_thumb.png

5.  Devices tab should be empty (uncheck USB fixes).

 

post-846696-0-03554800-1448800497_thumb.png

6.  Disable Drivers tab should be empty.

 

post-846696-0-66038800-1448800522_thumb.png

7.  Screen resolution in GUI tab should be changed to 1024x768 to prevent the error message "Your Mac OS guest might run unreliably with more than one virtual core" when you run the VM with Clover.  Note: If you have installed VMware tools for your virtual machine, you will still be able to resize and adjust the resolution of your VM window after you have booted into OSX.  In this example, I have selected the BGM theme.

 

post-846696-0-86739600-1448800564_thumb.png

8.  Graphics tab should be empty (uncheck all injections).

 

post-846696-0-35117200-1448800593_thumb.png

9.  Kernel and Kext Patches tab should be empty.

 

post-846696-0-03706400-1448800617_thumb.png

10.  For the purposes of iMessage and Facetime activation, make sure you place valid values for MLB and ROM in the Rt Variables tab - see How to enable iMessage FAQ for more details.  The CsrActiveConfig can be set to 0x67 to fully disable El Capitan's SIP or 0x0 to leave it fully enabled.

 

post-846696-0-33985000-1448800656_thumb.png

11.  You can leave the SMBIOS tab blank and Clover will automatically assign a valid SMBIOS for your VM based on the host CPU.  You can optionally choose to generate your own values by clicking the magic wand icon on the RHS and entering unique values for Serial Number and SmUUID.

 

post-846696-0-24275000-1448800690_thumb.png

12.  Click the System Parameters tab and make sure that Inject Kexts is set to No.  Inject System ID can be left checked and optionally, a value can be specified in Custom UUID.

 

post-846696-0-85434900-1448800720_thumb.png

13.  Click the Save button (bottom icon second from left), and then OK when you see "the document config.plist is on a volume that does not support permanent version storage".

 

post-846696-0-94153800-1448800768_thumb.png


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Debug</key>
			<false/>
			<key>DropOEM_DSM</key>
			<false/>
			<key>Name</key>
			<string>DSDT.aml</string>
			<key>ReuseFFFF</key>
			<false/>
		</dict>
		<key>DropTables</key>
		<array>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>Cpu0Ist</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>DMAR</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>CpuPm</string>
			</dict>
		</array>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<false/>
			<key>Generate</key>
			<false/>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>Debug</key>
		<false/>
		<key>DefaultLoader</key>
		<string>boot.efi</string>
		<key>DefaultVolume</key>
		<string>LastBootedVolume</string>
		<key>Legacy</key>
		<string>PBR</string>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>5</integer>
		<key>XMPDetection</key>
		<false/>
	</dict>
	<key>Devices</key>
	<dict>
		<key>USB</key>
		<dict>
			<key>FixOwnership</key>
			<false/>
			<key>Inject</key>
			<false/>
		</dict>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Mouse</key>
		<dict>
			<key>DoubleClick</key>
			<integer>500</integer>
			<key>Enabled</key>
			<false/>
			<key>Mirror</key>
			<false/>
			<key>Speed</key>
			<integer>8</integer>
		</dict>
		<key>Scan</key>
		<true/>
		<key>ScreenResolution</key>
		<string>1024x768</string>
		<key>Theme</key>
		<string>BGM</string>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<false/>
			<key>Intel</key>
			<false/>
			<key>NVidia</key>
			<false/>
		</dict>
		<key>NvidiaSingle</key>
		<false/>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleRTC</key>
		<false/>
		<key>AsusAICPUPM</key>
		<false/>
		<key>Debug</key>
		<false/>
		<key>KernelCpu</key>
		<false/>
		<key>KernelHaswellE</key>
		<false/>
		<key>KernelLapic</key>
		<false/>
		<key>KernelPm</key>
		<false/>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x0</string>
		<key>MLB</key>
		<string>C02032109R5DC771H</string>
		<key>ROM</key>
		<string>UseMacAddr0</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>Manufacturer</key>
		<string>Apple Inc.</string>
		<key>Trust</key>
		<false/>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<string>No</string>
		<key>InjectSystemID</key>
		<true/>
	</dict>
</dict>
</plist>

 

 

 

Booting into OSX with Clover
1.  Click play in VMware's main screen to start your OSX guest, then click inside the VM window to focus mouse/keyboard input to the VM.
2.  After the VMware splash screen, you will see Clover's main menu with El Capitan and its Recovery HD to choose from.

 

post-846696-0-38964700-1448800834_thumb.png

3.  Pressing <Spacebar> will allow you to choose special booting modes eg verbose, safe mode, single user verbose mode.

 

post-846696-0-13548700-1448800882_thumb.png

4.  When you reach the desktop after logging in, the "System Information" screen will now be more realistic.  Instead of just "Mac" and the VMware 7,1 model identifier, you'll have something like the picture below.  You can confirm your iMessage serials by running iMessage debug....

 

post-846696-0-00471200-1448800915_thumb.png

 

Addendum: 

The official Clover releases from SourceForge after r3423, compiled with Xcode5, don't seem to work well in Virtual Machines.

 

Attached to this post is Clover r4332 (compiled with gcc5,3 in Linux) and a minimal Clover config.plist for VMware - the end result of editing with Clover configurator as described above.  Tested with unlocked Workstation 12 running OSX 10.9 -->10.13 guest in Windows X64 host.

 
Installation
1. Download and unzip EFI folder from "EFI_Clover_r4332 for VMware.zip"
2. Mount your VM's EFI System Partition eg in terminal
diskutil mount disk0s1
3. Copy EFI folder from step 1 into the EFI partition.
4. Reboot your VM.
 
Substitute your own unique and valid MLB and ROM variables in the /EFI/CLOVER/config.plist (Rt Variables section) to activate iMessage/Facetime on your VM.

EFI_Clover_r4332 for VMware.zip

Clover-v2.4k-4332-X64.iso.zip

Edited by fusion71au
Path to Recovery boot.efi different in High Sierra and newer macOS with APFS Recovery
  • Like 2
  • 3 months later...
  • 2 weeks later...

I got iMessage working without Clover.

1) Use Chameleon Wizard to generate name, board and serial in the VM once it's running: http://wizards.osxlatitude.com/chameleon/download.html

2) Choose a MAC address (make it easy on your self and pick one that coverts to characters easily): http://hwaddress.com/?q=Apple

3) Put that in the vmx for the static ethernet address

4) Covert that to ascii and use it for the ROM: http://www.rapidtables.com/convert/number/hex-to-ascii.htm

5) Run this MLB Generator and use the generated MLB: https://gist.github.com/theracermaster/b6a9db46b14061d4c995

 

Then login to iMessage. I got no request to contact Apple or anything.

  • Like 3
  • 4 weeks later...
  • 3 weeks later...

I have followed the instructions for creating the ISO but when trying to boot to it i get the below screen.  I am running VMware Workstation 12.1 on a Windows 10 Laptop.  I have run add the SMC.Version line to the vmx file and have been able to run an OS X from a vmdk file, but I have not been able to do a Vanilla install.  Any help is greatly appreciated.

 

Thanks,

Tim

post-1635159-0-70905500-1462413917_thumb.png

  • 2 weeks later...

Hi,

 

Using ESXi 6 with some real hardware pass-through. HW that I'm using is PCIe adapter for broadcom WiFi/BT that is natively supported in OSX and Nvidia GT610 (both were working out of the box on Mavericks using myHack on a real Dell hardware). So now I've decided to go virtual but have full 3D support and real network that allows me to use continuum feature.

 

ESXi is patched, installation went successful. Network card is recognized without any issues but video is not. I can see it in system information GPU is seen but memory is reported incorrectly (128mb instead of 2gb). So the issue is - I cannot use my video card - virtual video is taking priority. 

 

Please advise.

post-1357557-0-07849000-1463572765_thumb.png

  • Like 1
  • 3 months later...

Hello,

 

Thanks for the great post and I have successfully installed macOS on my ThinkPad.

 

FYI. I've recently forked the spoiler for installer, and created my version for macOS Sierra. It's tested to be working fine.

 

https://gist.github.com/yyang/8d0e5d0ce45957a2b0218e7576f917b5 

 

-S

  • Like 1

Update for Sierra GM

The host settings from post#1 still work for macOS Sierra.  After upgrading to VMware Workstation 12.5 and unlocker 2.0.8, select Apple Mac OS X as the Guest operating system and macOS 10.12 as the version.

 

To prepare the Sierra ISO on your Mac or Hack:

 

1.  On your Mac or Hack, download/copy "Install macOS Sierra.app" into your Applications folder.

2.  Unmount any attached install image/InstallESD.dmg (if currently mounted) by rebooting the system or running the hdiutil unmount command in terminal eg

 

 

 

ls /Volumes

hdiutil unmount -force /Volumes/OS\ X\ Base\ System   (if you find 'OS X Base System')

hdiutil unmount -force /Volumes/OS\ X\ Install\ ESD       (if you find 'OS X Install ESD')

 

 

3.  Download and unzip the CSI.tool (attached to this post) into your ~/Downloads folder. The commands in this executable script are shown below for informational purposes.  Note: you will need approx 16GB of free space on your hard disk for the script to complete.

#!/bin/bash
 
 # Mount the Installer image
 hdiutil attach /Applications/Install\ macOS\ Sierra.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
 
 # Create Sierra sparseimage of 7316mb with a Single Partition - Apple Partition Map
 hdiutil create -o /tmp/Sierra -size 7316m -layout SPUD -fs HFS+J -type SPARSE
 
 # Mount the Sierra sparseimage
 hdiutil attach /tmp/Sierra.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build
 
 # Restore the Base System into the Sierra Blank sparseimage
 asr restore -source /Volumes/install_app/BaseSystem.dmg -target /Volumes/install_build -noprompt -noverify -erase
 
 # Remove Packages link and replace with actual files
 rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages
 cp -rp /Volumes/install_app/Packages /Volumes/OS\ X\ Base\ System/System/Installation/
 
 # Copy Sierra installer dependencies
 cp -rp /Volumes/install_app/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/BaseSystem.chunklist
 cp -rp /Volumes/install_app/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/BaseSystem.dmg
 
 # Unmount the installer image
 hdiutil detach /Volumes/install_app
 
 # Unmount the Base System image
 hdiutil detach /Volumes/OS\ X\ Base\ System/
 
 # Optimise Sparseimage Size
 hdiutil compact /tmp/Sierra.sparseimage
 hdiutil resize -size min /tmp/Sierra.sparseimage
 
 # Convert the Sierra spareseimage to ISO/CD master
  hdiutil convert /tmp/Sierra.sparseimage -format UDTO -o /tmp/Sierra.iso
 
 # Rename the Sierra ISO image and move it to the desktop
  mv /tmp/Sierra.iso.cdr ~/Desktop/Sierra.iso
  
 # Delete Sierra.sparseimage file
  rm -f /tmp/Sierra.sparseimage

 

4.  Open OS X terminal, then run the following commands to execute the script:

cd downloads
chmod +x CSI.tool
./CSI.tool

5.  At the end of the process, you will have a Sierra.iso on your desktop - copy this onto an exFAT formatted USB for use on the PC Host later.

6.  Attach the iso to the Virtual Machine on the PC Host and start the installer, run VMware tools etc...

 

 

post-846696-0-88592300-1474157047_thumb.png

post-846696-0-51434600-1474157095_thumb.png

CSI.tool.zip

  • Like 2

Sierra ISO on your Mac or Hack:

 

1.  On your Mac or Hack, download/copy "Install macOS Sierra.app" into your Applications folder.

2.  Download and unzip the CSI.tool (attached to this post) into your ~/Downloads folder. The commands in this executable script are shown below for informational purposes.  Note: you will need approx 16GB of free space on your hard disk for the script to complete.

 

 

I ran the script on a fresh Virtual El Capitan guest and it gave out errors (see attached picture). What should I do to fix?

 

post-1810956-0-15789900-1474473594_thumb.png

I ran the script on a fresh Virtual El Capitan guest and it gave out errors (see attached picture). What should I do to fix?

 

attachicon.gifOS X 10.11-2016-09-21-22-53-41.png

 

Hi,

 

I had this issue also.

 

You need to open a terminal and enter: hdiutil info and find the disk that the disk id that is showing /Volumes/OS X Install ESD

For me this was /dev/disk3s2. For you it may be something else.

Then enter: hdiutil detach /dev/disk3s2 (or whatever yours is).

This will unmount the Sierra.app install image.

 

From there you can run the script as outlined.

 

Thanks

Adam

  • Like 1

Hi,

 

I had this issue also.

 

You need to open a terminal and enter: hdiutil info and find the disk that the disk id that is showing /Volumes/OS X Install ESD

For me this was /dev/disk3s2. For you it may be something else.

Then enter: hdiutil detach /dev/disk3s2 (or whatever yours is).

This will unmount the Sierra.app install image.

 

From there you can run the script as outlined.

 

Thanks

Adam

 

Thanks, but I did not have the chance to try your method. After a restart, the script worked. Whatever, now I could finally start learning about this macOS :)

  • 2 weeks later...
  • 1 month later...

Hello. I set this up myself a couple of weeks ago on a Dell Precision 7510. Anyway I have one small issue and a question. The small issue is, getting itunes or xcode to recognize when I attach my iPhone. I finally found if I change the settings for the VM's USB from 3.0 to 2.0 it works. But I also have a USB Blu-ray Burner that is USB 3.0 and a few hard drives that are USB 3.0 also. So if I could get USB 3.0 to work that would be great. If not I can get by with 2.0

 

The second question is I realized I had installed the 32-bit version of VMware Player. I have since downloaded the 64-bit version. How hard would it be to switch to the 64-bit version without starting from scratch? Would it even be worth it? I just know OSX has been 64-bit for a couple of versions now. And it seems a bit sluggish. Don't even know if this would make a difference. But everything else I have is 64-bit. Thanks in advance.

  • 2 weeks later...

After some messing about with a Snow Leopard disc I had and not getting anywhere (the "not Mac OSX Server" error), I followed the guide for macos Sierra instead. Installed successfully and appears to be very responsive running from an SSD.

 

I was able to install the VMWare tools and there are no issues with sound/network.

 

VMWare Workstation Player 12.5.2 build-4638234

 

Attached my vmx file macosSierra.7z in case it's useful. This was on a Skylake i5 6600K system.

 

The only slight problem I've noticed so far is some graphical glitches on widgets.

post-1895063-0-08954500-1479655028.png
 
There is also an issue with moving graphical elements in application windows not updating unless you drag the window around. Must be a graphics driver problem?

macosSierra.7z

post-1895063-0-08954500-1479655028.png

  • 2 weeks later...

Hello,

Thank you very much for the guide.

I have installed macOS Sierra using your guide and it is working. One thing I couldn't managed is the resolution of the VM. I have installed the VMWare Tools after macOS installation and restarted the Sierra but still only resolution is 1024*768.

How can I fix this?

Regards.

  • 2 weeks later...

I've been forced (at new job) to use a dell :/

I have VMWare Workstation 12 Pro 12.5.2 build-4638234, Unlocker 2.08 and a pre-existing macOS Sierra VM (set up on my original mac using VMWare Fusion)

 

I have modified the vmx file with the following and the machine will boot.  iMessage Debug did not return an existing system-id from the VM (running just fine/iMessage working under Mac VMWare Fusion) so i assumed i could exclude it, since the guide says 'optional'

smc.version = "0"
smbios.reflectHost = "FALSE"
board-id.reflectHost = "FALSE"
board-id = "Mac-BORKBORKBORKBORK"
hw.model.reflectHost = "FALSE"
hw.model = "VMware7,1"
serialNumber.reflectHost = "FALSE"
serialNumber = "BORKborkBORK"
efi.nvram.var.ROM.reflectHost = "FALSE"
efi.nvram.var.MLB.reflectHost = "FALSE"
system-id.enable = "TRUE"
efi.nvram.var.MLB = "BORKBORKBORKBORKB"

but when I add the final line, VMWare errors with "VMX file is corrupt."

efi.nvram.var.ROM = "BORKB"

I THINK it has something to do with the text encoding from the hex<>ascii website.. my hex ROM converted to ascii only ends up as 5 characters.. not 6 as suggested in the guide, and presumably one of the characters is not UTF-8 compatible?  

 

Well.. I messed around with it and finally got rid of the corrupt VMX error.. must've been a problem i introduced when mixing and matching Mac TextEdit and Windows Notepad.

 

PS THANK YOU!! THIS IS AWESOME!!

Edited by hunterdg
  • 2 weeks later...

Hi All,

 

I'm running a Sierra vm on Windows host with workstation 12.  I have a usb headset that doesn't work.  Audio plays haltingly or not at all.

 

I have tried these things to no avail:

  1. reinstall vmware tools
  2. set USB on VM from USB 3.0 to USB 2.0
  3. Used Audio MIDI setup to tweak the headset format.  (I have tried 8, 16, 24, 32, 44, 48 X1000 Hz).  The lowest frequencies work slightly better (but still not good enough for headset use.

I haven't found any other things to try and am out of ideas.  

 

Any advice?  Best, greg

Hello,

Thank you very much for the guide.

I have installed macOS Sierra using your guide and it is working. One thing I couldn't managed is the resolution of the VM. I have installed the VMWare Tools after macOS installation and restarted the Sierra but still only resolution is 1024*768.

How can I fix this?

Regards.

 

I found the fix for this in the VMWare Tools folder...  make sure you have the latest VMWare Tools installed in your guest OS.

 

open Terminal and run

cd /Library/Application\ Support/VMWare\ Tools/        (*note this is the Root Library folder, not the User Library folder)

vmware-resolutionSet 1920 1080                               (or whatever resolution you want)

  • 2 weeks later...

Hello again.

Not sure what happened but I can't get the VM to work anymore. It boots to a black screen and I can't ever get it to do anything. Eventually the screen saver will start running, but I can't get it to go away. Not sure what I did wrong. Tempted to delete it and start over, but thought I might see if someone had some ideas first.

 

Thanks

×
×
  • Create New...