Jump to content

1 Screenshot

About This File

Mac OS X Unlocker for VMware V2.0

 

Please ask questions in this thread http://www.insanelymac.com/forum/topic/303311-workstation-1112-player-712-fusion-78-and-esxi-6-mac-os-x-unlocker-2/

1. Introduction

 

Unlocker 2 is designed for Workstation 11, Player 7, ESXi 6 and Fusion 7.

 

If you are using an earlier product please continue using Unlocker 1

 

Version 2 has been tested against:

  • Workstation 11/12 on Windows and Linux
  • Player 7 & Workstation Player 12 on Windows and Linux
  • Fusion 7/8 on Mavericks and Yosemite
  • ESXi 6.0

The patch code carries out the following modifications dependent on the product

being patched:

  • Fix vmware-vmx and derivatives to allow Mac OS X to boot
  • Fix vmwarebase .dll or .so to allow Apple to be selected during VM creation
  • Fix libvmkctl.so on ESXi 6 to allow use with vCenter

  • Download a copy of the latest VMware Tools for OS X

Note that not all products recognise the darwin.iso via install tools menu item.

You will have to manually mount the darwin.iso for example on Workstation 11 and Player 7.

 

The vmwarebase code does not need to be patched on OS X or ESXi so you will see a

message on those systems telling you that it will not be patched.

 

In all cases make sure VMware is not running, and any background guests have

been shutdown.

 

The code is now Python as it makes the Unlocker easier to run and maintain on ESXi.

There are some challenges to write the code as ESXi has a subset of Python 2.7 which

constrains some modules that can be used.

 

2. Prerequisites

 

The code requires Python 2.7 to work. Most Linux distros, ESXi and OS X ship with a compatible

Python interpreter and should work without requiring any additional software.

 

Windows has a packaged version of the Python script using PyInstaller, and so does not

require Python to be installed.

 

3. Limitations

 

If you are using VMware Player or Workstation on Windows you may get a core dump.

 

Latest Linux and ESXi products are OK and do not show this problem.

 

IMPORTANT:

 

If you create a new VM using version 11 hardware VMware will stop and create a core dump.There are two options to work around this issue:

1. Change the VM to be HW 10 - this does not affect performance.

2. Edit the VMX file and add:

smc.version = "0" |

4. Windows

 

On Windows you will need to either run cmd.exe as Administrator or using

Explorer right click on the command file and select "Run as administrator".

 

win-install.cmd - patches VMware

win-uninstall.cmd - restores VMware

win-update-tools.cmd - retrieves latest OS X guest tools

 

5. Linux

 

On Linux you will need to be either root or use sudo to run the scripts.

 

You may need to ensure the Linux scripts have execute permissions

by running chmod +x against the 2 files.

 

lnx-install.sh - patches VMware

lnx-uninstall.sh - restores VMware

lnx-update-tools.cmd - retrieves latest OS X guest tools

 

6. Mac OS X

 

On Mac OS X you will need to be either root or use sudo to run the scripts.

This is really only needed if you want to use client versions of Mac OS X.

 

You may need to ensure the OS X scripts have execute permissions

by running chmod +x against the 2 files.

 

osx-install.sh - patches VMware

osx-uninstall.sh - restores VMware

 

7. ESXi

 

You will need to transfer the zip file to the ESXi host either using vSphere client or SCP.

 

Once uploaded you will need to either use the ESXi support console or use SSH to

run the commands. Use the unzip command to extract the files.

 

<<< WARNING: use a datastore volume to run the scripts >>>

 

Please note that you will need to reboot the host for the patches to become active.

The patcher is embbedded in a shell script local.sh which is run at boot from /etc/rc.local.d.

 

You may need to ensure the ESXi scripts have execute permissions

by running chmod +x against the 2 files.

 

esxi-install.sh - patches VMware

esxi-uninstall.sh - restores VMware

 

Note:

1. Any changes you have made to local.sh will be lost. If you have made changes to

that file, you will need to merge them into the supplied local.sh file.

2. The unlocker runs at boot time to patch the relevant files and it now survives

an upgrade or patch to ESXi as local.sh is part of the persisted local state.

 

8. Thanks

 

Thanks to Zenith432 for originally building the C++ unlocker and Mac Son of Knife

(MSoK) for all the testing and support.

 

Thanks also to Sam B for finding the solution for ESXi 6 and helping me with

debugging expertise. Sam also wrote the code for patching ESXi ELF files.

 

 

History

 

12/12/14 2.0.0

  • First release

13/13/14 2.0.1

  • Removed need for Python for Windows

13/13/14 2.0.2

  • darwin.iso was missing from zip file

02/01/15 2.0.3

  • Added EFI firmware files to remove Server check
  • Refactored Python code

07/01/15 2.0.4

  • Added View USB Service to Windows batch files
  • Fixed broken GOS Table patching on Linux

18/06/15 2.0.5

  • ESXi 6 working
  • Latest tools from Fusion 7.1.2

20/06/15 2.0.6

  • ESXi 6 patch for smcPresent vCenter compatibility

16/09/15 2.0.7

  • Workstation 12 on Linux fixes

14/11/15 2.0.8

  • Player 12 on Linux fixes
  • Get latest VMware tools command
  • Removed firmware files
  • Moved to PyInstaller 3.0

 

© 2011-2015 Dave Parsons


What's New in Version 2.0.8   See changelog

Released

  • 12/12/14 2.0.0
  • - First release
  • 13/13/14 2.0.1
  • - Removed need for Python for Windows
  • 13/13/14 2.0.2
  • - darwin.iso was missing from zip file
  • 02/01/15 2.0.3
  • - Added EFI firmware files to remove Server check
  • - Refactored Python code
  • 07/01/15 2.0.4
  • - Added View USB Service to Windows batch files
  • - Fixed broken GOS Table patching on Linux
  • 18/06/15 2.0.5
  • - ESXi 6 working
  • - Latest tools from Fusion 7.1.2
  • 20/06/15 2.0.6
  • - ESXi 6 patch for smcPresent vCenter compatibility
  • 16/09/15 2.0.7
  • - Workstation 12 on Linux fixes
  • 14/11/15 2.0.8
  • - Player 12 on Linux fixes
  • - Get latest VMware tools command
  • - Removed firmware files
  • - Moved to PyInstaller 3.0



User Feedback

Recommended Comments



I hate to be the bearer of bad news, but this DOES NOT work on ESXi 6.5, I ran the installer, and got "Failed - Transport (VMDB) error -45: Failed to connect to peer process. Errors Transport (VMDB) error -45: Failed to connect to peer process." after reboot when trying to start ANY, Windows, Linux, VM.

So I ran the uninstaller .bat script, thank god it worked and now everything is back to normal.

ESXi 6.5 users beware, this won't work yet, and until the post is updated to mention .5 support, I wouldn't recommend trying it.

Share this comment


Link to comment
Share on other sites

I hate to be the bearer of bad news, but this DOES NOT work on ESXi 6.5, I ran the installer, and got "Failed - Transport (VMDB) error -45: Failed to connect to peer process. Errors Transport (VMDB) error -45: Failed to connect to peer process." after reboot when trying to start ANY, Windows, Linux, VM.

 

So I ran the uninstaller .bat script, thank god it worked and now everything is back to normal.

 

ESXi 6.5 users beware, this won't work yet, and until the post is updated to mention .5 support, I wouldn't recommend trying it.

 

Did you try the release candidate available here https://github.com/DrDonk/unlocker(2.0.9 RC) or did you try the one available here (2.0.8)?

jricks92 said the 2.0.9 RC works fine.  I'm interested in upgrading to ESXi 6.5.

Share this comment


Link to comment
Share on other sites

For the problem with install on Wayland on Fedora 25, this is because of the new strict security policy... I made this patch below

 

Also hopefully someday wayland keyboard-grab works. This is such a pain not to have the cmd/apple key working...

 

diff --git a/unlocker.py b/unlocker.py
index d445f70..32873aa 100644
--- a/unlocker.py
+++ b/unlocker.py
@@ -358,7 +358,7 @@ def main():
         vmx = vmx_path + 'vmware-vmx'
         vmx_debug = vmx_path + 'vmware-vmx-debug'
         vmx_stats = vmx_path + 'vmware-vmx-stats'
-        vmx_version = subprocess.check_output(["vmplayer", "-v"])
+        vmx_version = subprocess.check_output(["sudo", "-u", os.environ['USER'], "vmplayer", "-v"])
         if vmx_version.startswith('VMware Player 12'):
             vmx_so = True
             vmwarebase = '/usr/lib/vmware/lib/libvmwarebase.so/libvmwarebase.so'

Share this comment


Link to comment
Share on other sites

Did you try the release candidate available here https://github.com/DrDonk/unlocker(2.0.9 RC) or did you try the one available here (2.0.8)?

jricks92 said the 2.0.9 RC works fine.  I'm interested in upgrading to ESXi 6.5.

 

 

Just tried it on my new ESXi 6.5 instance and it ran like a charm! I was getting that exact same error until I re-ran it from GitHub

Share this comment


Link to comment
Share on other sites

VMware 14. I have an error "Dictionary problem" when I use a physical disk :/ With virtual vmdk disk macOS works fantastic :)

Unlocker 2.0.9 from github.

 

a2c0888849e24.png

Share this comment


Link to comment
Share on other sites

2.0.9 installed, but creating new vm still does not give macOS/OS X option for OS on workstation pro 14. 

hello Installing the unofficial gives me the macOS/OS X option

 

but installing the one from GitHub some minutes ago does not give me the macOS/OS X option. isnt it strange?

 

from github:

05/10/17 2.0.9 - New version to support ESXi 6.5, Workstation/Player 14 and Fusion 10

- Removed support for ESXi 6.0

- Added ESXi boot option to disable unlocker (nounlocker)

Share this comment


Link to comment
Share on other sites

Thanks for such a great tool! 

Could you please fix some black background? Why does it happen?

 

kShlL5u.png

Share this comment


Link to comment
Share on other sites

×