一、介绍
macOSUnlocker是一个能够解锁VMware Workstation的macOS客户机的工具,它使得安装macOS虚拟机变得更加容易和稳定。该工具在GitHub开源,由Donk开发并维护。本文将带领大家了解macOSUnlocker的使用流程及原理。
二、使用流程
使用macOSUnlocker让您在VMware上运行macOS虚拟机非常简单。您只需按照以下步骤执行即可:
1.下载macOSUnlocker
https://github.com/BDisp/unlocker/releases
2.关闭VMware Workstation和所有相关进程
安装前请确保VMware Workstation和所有相关的进程都处于关闭状态。
3.安装macOSUnlocker
使用管理员权限打开macOSUnlocker并单击“Unlocker”进行安装。如果您使用的是Windows,请选择“win-install.cmd”;如果您使用的是Linux,请选择“linux-install.sh”,然后等待安装完成。
4.创建虚拟机
打开VMware Workstation并创建一个新的虚拟机,然后选择macOS虚拟机并进行操作系统安装
5.在VMware上运行macOS虚拟机
打开虚拟机并启动macOS虚拟机。如果您已经成功解锁,您会看到安装程序启动。
三、原理
1.背景知识
macOSUnlocker主要是利用VMware对Apple硬件的支持机制,利用虚拟机的方法来使Mac系统在x86的非Apple平台上能够很好的运行。然而,当我们使用VMware虚拟机创建Mac客户机时,有可能会遇到“CPU不支持”“操作系统无法检测”等问题。因此,需要使用macOSUnlocker解锁。
2.解锁原理
macOSUnlocker主要涉及到修改VMware Workstation软件中的VMware-vmx和VMwarebase.dll两个文件,以便支持Mac OS X客户端操作系统。
3.修改VMware-vmx文件
/* 0x200 */
unsupportedGuest OS = "darwin16"
gui.requirements = "0x8000000"
bios.bootDelay = "5000"
monitor_control.restrict_backdoor = "true"
VMware-vmx文件可以被简单地打开和编辑,只需要添加以上VMX配置项即可解锁macOS。这些设置可以使得VMware Workstation支持运行Mac OS X。
4.修改VMwarebase.dll文件
DWORD _stdcall Vmx_VMPowerOn(void* pVMHandle, DWORD* pVmPowerState, DWORD* pVmxReturn)
{
...
if (strcmp(szGuestOsType, "darwin-servers") == 0
|| strcmp(szGuestOsType, "darwin") == 0)
{
*pEmul = 1; // 发现Mac OS X
*pVmxReturn = 0;
*pVmPowerState = 6;
goto end;
}
...
}
VMwarebase.dll文件是VMware Workstation的核心组件,它是在VMware Workstation的启动过程中被加载的。Mac OS X客户端的运行需要在VMwarebase.dll中关键位置添加支持语句,修改后VMware Workstation便可以支持Mac OS X的运行。以上代码片段是VMwarebase.dll中的一个判断语句,它可以检查当前客户机的操作系统类型以及版本信息,并且把它们作为参数传递给函数,最终执行虚拟机的启动操作。
结语
使用macOSUnlocker能够让我们在VMware Workstation上运行macOS虚拟机变得非常容易。本文介绍了使用流程及原理,希望对您有所帮助。