您的位置:

详解macOSUnlocker的使用流程及原理

一、介绍

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虚拟机变得非常容易。本文介绍了使用流程及原理,希望对您有所帮助。