November 28, 2020

Since Apple's new macOS Big Sur dropped a little over 2 weeks ago, some of you may want to tinker around with the new OS in your homelab.

Below I'll list out the steps I used to get this up and running in my lab environment.

More...

This guide is primarily written for an Intel based machine running a Type 1 bare metal hypervisor. 

For AMD machines. Please refer to the comments at the end of this guide for any workarounds. One of my readers named Vince Whiston found a solution to his AMD issues using VMware Workstation here.

02/01/2022 - This guide has been updated below.
Installing macOS 12 Monterey on VMware ESXi 7 Update 3

Prerequisites

  1. macOS 11 Big Sur ISO
  2. VMware ESXi 7 Update 1
  3. macOS Unlocker

We'll need these items above to complete this entire process. Don't worry, I'll walk you through all the steps in obtaining these items.

macOS 11 Big Sur ISO

Ok first off we'll need the macOS 11 Big Sur iso. Throughout the vast interwebs, you can search and find the Big Sur ISO all over the place to download.

So go get it! But...

...if you do go this route, make sure you look up how to validate the SHA1 and MD5 hash values of the iso before using it. 

I, for one, like to create it myself using another macOS native machine like a Macbook. I know some of you don't have access to a dedicated macOS environment and it's probably the reason why you are following this guide. 🙂 

I just like to know that the iso is clean and not injected with anything malicious. 

With this...Can I use iCloud, iMessage, etc...?

Download macOS 11 Big Sur ISO

  • On your macOS dedicated device, navigate to download the Big Sur official release here
  • Once you've clicked the link, the App Store App will open prompting you to Get Big Sur. 

Once you've clicked on the Get button. Continue downloading Big Sur which sits at roughly 12.18 GB. Depending on your network connection the download time may vary. 

DO NOT CLICK CONTINUE!

Once the download completes, you'll be prompted with the install window to Continue. Instead of continuing, simply click on Command + Q to close the window. 

You'll now have the Big Sur App listed under your application folder. This is what we'll use to convert it into an iso in the next step. 

Mount Installer then Convert to ISO

Next we'll need to run a series of commands to mount the installer to ultimately convert to an iso to be used by ESXi. 

Launch terminal and run the following command. 

sudo -i

This command will then prompt you for the administrator password for your specific device. Once you enter it in, you'll be logged in as the root user which is the account we'll use to execute the rest of the commands. 

From the root# prompt, enter the following command. 

 hdiutil create -o /tmp/bigsur -size 12900.1m -volname bigsur -layout SPUD -fs HFS+J

*Update 06/17/21* - A few of my readers in the comments below suggested changing the size of the image to 12900.1 & 13100.1 to account for all the current OS updates as this guide was written for the initial release of Big Sur. So please ignore the screenshot below that has a volume size of 12700.1m and follow the command above. 

This will create the directory /tmp/bigsur.dmg

Next we are going to mount the dmg using the following command. 

hdiutil attach /tmp/BigSur.dmg -noverify -mountpoint /Volumes/BigSur

This should result in the following output below. 

Then we'll create the install media from our mount with this command. 

sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/bigsur --nointeraction

The output below is what you should see while making the disk bootable. 

Afterwards, eject the attached disk using the command below

hdiutil eject -force /volumes/Install\ macOS\ Big\ Sur

This should result in the disk being ejected. 

Then finally we need to convert the image to a .cdr with the following command. A .cdr is essentially a macOS version of an .iso. Not to be confused with a Compact Disc Recordable. 

hdiutil convert /tmp/bigsur.dmg -format UDTO -o /Users/erickdimalanta/Desktop/BigSur.cdr

Make sure you change the /Users/erickdimalanta/Desktop/BigSur.cdr to your own username for the path you are working in. Once you run the command below you should see a BigSur.cdr file on your desktop which sits at about 13.32 GB. 

Now all we need to do is simply rename the file to .iso. I like running the mv(move) command in place below to essentially do a rename of the file. 

mv /Users/erickdimalanta/Desktop/BigSur.cdr /Users/erickdimalanta/Desktop/BigSur.iso

Don't forget to change the username path to your own username. Or you can simply rename the actual file by:

  1. Select file
  2. Press Return/Enter
  3. Rename .cdr to .iso
  4. Confirm the change to Use .iso

Clean Up

I hate leaving trails of data all over the place. So let's cleanup after ourselves. If you remember initially we created the bigsur.dmg in the following path /tmp/bigsur.dmg. Let's clean up this directory with the following command. 

rm -rf /tmp/bigsur*

This command force removes everything in the directory specified without prompting for confirmation. So we are removing everything in the /tmp folder with anything that begins with bigsur.

Transfer ISO to Datastore

Next we need to navigate to the VMware homelab environment and transfer the newly created BigSur.iso to either a datastore or Content Library if you are running a vCenter. For purposes of this guide, I'll simply upload it to a datastore. 

  1. Login to your ESXi host
  2. Navigate to Storage and select the Datastore you want to place the .iso in. 
  3. Click on Datastore Browser
  4. Select the Datastore if not selected already
  5. Select the folder you'll place the .iso in. I'll use the ISO folder
  6. Then click on Upload

Navigate to the directory of the BigSur.iso we created. Select the BigSur.iso and click on Open

Review the Recent Tasks then monitor to completion. 

macOS Unlocker Install

Now that the .iso is in the datastore, it's time to prep the host to be able to run macOS in a VM. There is an unlocker written in python that modifies the vmware-vmx file to allow macOS to boot. Without this unlocker, it simply doesn't work and just does a boot loop. It'll show the Apple Logo loading screen and then ultimately displays an error. 

Your computer restarted because of a problem. Press a key or wait
a few seconds to continue starting up.

Disclaimer: This unlocker should not to be run in a production environment. This workaround is only to personally evaluate and have a macOS environment for purposes of testing. 

Download the Unlocker

You'll first need to download the unlocker zip file here if you didn't do a git clone. 

I ran the git clone to obtain the esxi-unlocker-301.tgz file.

However, if you simply downloaded the unlocker zip file, your downloaded file should be named esxi-unlocker-master.zip

Upload to Datastore

Once you've obtained the esxi-unlocker-301.tgz or esxi-unlocker-master.zip. Upload this to the same location we uploaded the BigSur.iso in the steps above. 

esxi-unlocker-301.tgz

esxi-unlocker-master.zip

SSH into ESXi Host to Install Unlocker

SSH into your host and navigate to the unlocker location. Once there, unzip the unlocker using the following command. 

For esxi-unlocker-301.tgz

tar xzvf esxi-unlocker-301.tgz

Uhh...the heck is a TAR or .tgz file? 

For esxi-unlocker-master.zip (skip if you've done the above step)

unzip esxi-unlocker-master.zip

Install Unlocker Patch

Now that we've extracted the archive, we can run the install patch. There is actually a validation checker to make sure the patch is successful when installed. Let's do that first. Run the following command to validate. 

./esxi-smctest.sh

We see the result obviously shows false since we've not yet installed the patch. Now let's do that. Run the following command to install the patch. 

./esxi-install.sh

For the esxi-unlocker-master.zip version, you'll need to navigate down to the extracted folder using the below command. From here you'll be able to view all the above files to run the patch.  

cd esxi-unlocker-301/

Before running the patch you may receive a "Permission denied" error. Simply navigate back one level using the command "cd .." (without the quotes) and run the following command against the root folder to grant permissions to the folder and all the files recursively within. 

chmod 775 -R esxi-unlocker-301/

After running the permissions command, we can navigate inside the folder again using "cd esxi-unlocker-301"

Once we've run the install "./esxi-install.sh", we'll need to now reboot the server for the configuration changes to take effect. In the same command window, you can simply type reboot then hit Enter. 

reboot

Validate Successful Patch Install

Once the ESXi host is back up, ssh into the host and navigate to the same location where we unzipped the Unlocker file. We are going to want to run the validation command again to see the result. 

./esxi-smctest.sh

Now we see the result is quite different. It now shows that smcPresent = true. We should now be able to install macOS without running into that boot loop. 

macOS 11 Big Sur VM Install

Yey we're almost there.  

Now that the unlocker has been installed and verified, let's now continue on to install Big Sur. 

Create New Virtual Machine

Let's navigate to the Virtual Machine menu item on the left then click on Create / Register VM. 

Then select Create a new virtual machine and click on Next

Next type out a name for your new VM. Select the following options from the drop down menu for the rest of the categories. When finished, click on Next. 

From here, you'll want to select your storage on which datastore to place your machine. 

The next option is to configure the hardware specs of the VM.

So set your CPU, Memory, Storage size, type of provisioning, Network, and most importantly configure your CD/DVD Drive to boot from the BigSur.iso we've created. Remember, this is located on the datastore we've uploaded it to in an earlier step. Once done, click on Next

Then finally validate your settings, then click on Finish when complete. 

Power On VM & Format Hard Disk

Finally, let's power on our newly created VM to see if it bypasses the boot loop since applying the Unlocker patch. 

Woot! Success! No more boot loop. 😀

Ok so let's continue on with the install. Choose your language of choice and click on the bottom right arrow

We'll need to format the newly provisioned disk so that macOS can recognize the disk to install itself to. 

Select the Disk Utility and click on Continue

Highlight the VMware Virtual SATA Hard Drive Media and click on the Erase button. 

Enter the Name for your Disk and keep the defaults for Format - APFS & Scheme - GUID Partition Map

Once done, click on Erase

The formatting process will begin. Once complete click Done

Now quit Disk Utility by navigating to the top menu and selecting Disk Utility > Quit Disk Utility

Install macOS 11 Big Sur

From here click on Install macOS Big Sur then click on Continue

Click Continue here

Click on Agree twice to Accept the Software License Agreement.

Select the newly formatted HDD then click on Continue

Big Sur will now start to install...

Don't be fooled by the initial time it tells you the install will be done by. In reality it took over an hour or so. 

Anyway, install complete. I won't go through the rest of the self-explanatory setup.

You now have your macOS 11 environment to play around in. Enjoy! 🙂

**Credits to shanyungyang's github and everyone else involved that helped me put this simple guide together and making this work.**

RELATED POSTS

  • Here is my problem: as soon as I type a key on my keyboard to rename the disk in disk utility, it closes the page “Erase”. Do you have an idea of the problem ?

  • Hello,

    I am going through installing the unlocker and I am getting the following error:

    VMware Unlocker 3.0.1
    ===============================
    Copyright: Dave Parsons 2011-18
    Installing unlocker.tgz
    Acquiring lock /tmp/bootbank.lck
    Copying unlocker.tgz to /bootbank/unlocker.tgz
    cp: can’t create ‘/bootbank/unlocker.tgz’: Path does not exist
    Copying unlocker.tgz to /bootbank/unlocker.tgz failed: 1
    [root@localhost:/vmfs/volumes/61b8cf09-6c630ab4-3cc5-b8ca3a63899c/esxi-unlocker-301] /bootbank/unlocker.tgz’: Path does not exist

    Any thoughts as to what may be causing this?

    Thanks for any help!

  • Got it to work for macOS Monterey 12.1. Only change was on this step:

    “hdiutil create -o /tmp/bigsur -size 13800.1 -volname bigsur -layout SPUD -fs HFS+J”

    changed 12900.1m to 13800.1

  • Thx for this great Tutorial . I installed on esxi 7u2 , but have one question ..how I can install vmware tools on VM ? Any way THANKS for this great share

  • hey Erick,

    thanks a lot for this information. Very well put together.

    Unfortunately which ESXi, i keep running into this error after i have successfully run both scripts and rebooted. The web admin returns this:

    “503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http16LocalServiceSpecE:0x02e129c8] _serverNamespace = / action = Allow _port = 8309)”

    I am also unable to use the machine at all. The best i could do was uninstall the unlocker and reboot. Any idea why this is happening?

  • Thanks for this write up. I seem to running into a similar problem as other users using esxi 7.0 Update 2
    Copyright: Dave Parsons 2011-18
    Installing unlocker.tgz
    Acquiring lock /tmp/bootbank.lck
    Copying unlocker.tgz to /bootbank/unlocker.tgz
    Editing /bootbank/boot.cfg to add module unlocker.tgz
    sed: /bootbank/boot.cfg: No such file or directory
    Editing /bootbank/boot.cfg failed: 1
    Success – please now restart the server!

    I am at an impasse on how to correct this.

          • and you are using esxi 7.0 Update 2?
            can you provide a new link for the unlocker you are using please?

          • Hi Steve. I’m using the latest ESXi 7.0 U3. Still the same unlocker from the links in my blog post. Here is my output from when I uninstalled then reinstalled.

            1. From the top after uninstalling and a fresh reboot, I ran the ./esxi-smtest.sh which shows smcPresent = false.
            2. I run ./esxi-install.sh then reboot.
            3. Log back into the host and run ./esxi-smctest.sh which now shows smcPresent = true. (Ignore the duplicate smctest command.)
            4. Finally the last command vmware -vl was to show the version of ESXi I’m running.

            smctest_7u3

            No issues running macOS since ESXi 7U1.

            The permissions on the esxi unlocker files in my output are different than the one you provided in your initial output post. Perhaps therein lies the problem you are facing. 🙂

          • I did a fresh install last night, it all worked great. Thanks for your help. I believe the problem I was having was the ESXI version I was using, as I had the same issue on multiple systems, and multiple tries. Last night my fresh install was with the latest version ESXI 7.03, where I was previously tying ESXI 7.02u3. at this point I’m not willing to tryin with 7.02 to prove the point LOL.
            Steve

  • Excellent write-up, thank you! Before I go diving in running scripts, I thought I’d ask if anyone has succeeded with this on ESXi 6.7 u3?

  • great guide, thanks! for vmware esxi, is it possible to display guest OS in this host PC? instead of remote login from a web browser?

    • Hi cguo. ESXi is a Type 1 hypervisor installed on bare metal so you’ll have to access it remotely by another machine. If you want to use the guest OS on the same host machine, you’ll have to run a Type 2 hypervisor such as VMware Workstation. Hope that answers your question. 🙂

  • Erick,

    First let me say that this is an incredible blog and write up on getting Big Sur into my ESXi environment. I did not have too many problems and the notes and comments helped solve most of them, other were just user errors that I figured out on my own. Great job.

    Now for the question and issue I am still having. I find that the mouse can get a bit sluggish at times. There are times where it does not respond at all or I have to go out of the VM window and then slowly bring it back in for it to respond correctly. Not sure if this is just a resource issue or what. If you or anyone else have any suggestions I would appreciate it.

    I’m running ESXi 7.0 Update 2 on an HP Gen 9 server with a ton of memory and HD. Gave the OSX VM 2 CPU’s, 32 GB of memory and 1TB of HDD.

    I updated the OSX to 11.6 with no problems. So all works well except for the minor mouse irritation.

    • Hi Phil. Thanks for the kind words. Totally made my day today 🙂

      As for your mouse issue. I haven’t experienced that myself and I’m also running an HPE Gen 9 server, but I’m not on the macOS VM for long periods of time. Few questions:

      Do you have the current VMtools installed? Are you interacting with the VM through a browser or with VMRC? Does the mouse issue happen on both?

  • I am not having any luck getting this to work. I have ESXI 7.0u3.
    [xxxxxx] cd vmfs/volumes/615f7de6-42f13000-2611-00259093dab8/ISO/
    [xxxxxx:/vmfs/volumes/615f7de6-42f13000-2611-00259093dab8/ISO] ls
    BigSur.iso esxi-install.sh esxi-unlocker-301.tgz
    VMware-VCSA-all-7.0.3-18700403.iso esxi-smctest.sh readme.txt
    Win11_English_x64.iso esxi-uninstall.sh unlocker.tgz
    [xxxxxx:/vmfs/volumes/615f7de6-42f13000-2611-00259093dab8/ISO] ./esxi-install.sh
    VMware Unlocker 3.0.1
    ===============================
    Copyright: Dave Parsons 2011-18
    Installing unlocker.tgz
    Acquiring lock /tmp/bootbank.lck
    Copying unlocker.tgz to /bootbank/unlocker.tgz
    Editing /bootbank/boot.cfg to add module unlocker.tgz
    sed: /bootbank/boot.cfg: No such file or directory
    Editing /bootbank/boot.cfg failed: 1
    Success – please now restart the server!
    [xxxxxx:/vmfs/volumes/615f7de6-42f13000-2611-00259093dab8/ISO] ls
    BigSur.iso esxi-install.sh esxi-unlocker-301.tgz
    VMware-VCSA-all-7.0.3-18700403.iso esxi-smctest.sh readme.txt
    Win11_English_x64.iso esxi-uninstall.sh unlocker.tgz
    [xxxxxx:/vmfs/volumes/615f7de6-42f13000-2611-00259093dab8/ISO] ls -lah
    total 27663616
    drwxr-xr-x 1 root root 76.0K Oct 13 19:53 .
    drwxr-xr-t 1 root root 76.0K Oct 12 18:49 ..
    -rw-r–r– 1 root root 408 Oct 8 23:15 .gitattributes
    -rw-r–r– 1 root root 73 Oct 8 23:15 .gitignore
    -rw-r–r– 1 root root 12.4G Oct 8 18:15 BigSur.iso
    -rw-r–r– 1 root root 8.9G Oct 11 20:42 VMware-VCSA-all-7.0.3-18700403.iso
    -rw-r–r– 1 root root 5.1G Oct 8 20:38 Win11_English_x64.iso
    -rwxrwxrwx 1 501 root 336 May 1 2020 esxi-install.sh
    -rwxrwxrwx 1 501 root 189 May 1 2020 esxi-smctest.sh
    -rwxrwxrwx 1 501 root 341 May 1 2020 esxi-uninstall.sh
    -rw-r–r– 1 root root 6.0K Oct 13 19:53 esxi-unlocker-301.tgz
    -rwxrwxrwx 1 501 root 2.6K May 1 2020 readme.txt
    -rw-r–r– 1 501 root 4.0K May 1 2020 unlocker.tgz
    [xxxxxx:/vmfs/volumes/615f7de6-42f13000-2611-00259093dab8/ISO]

    I have tried uninstalling, reboot, reinstall, reboot, rinse repeat try several different unlockers and nothing seems to get it to install.

    • Hey Steve. I see the error stating that that is “No such file or directory” I haven’t personally run across this before so hopefully someone that has can chime in here. I’m thinking it could be a permissions issue on the directory it’s trying to write to.

      If anything, shoot me a email through the contact page and I’m happy to work through this offline with you. 🙂

  • Great Guide, Very well written. But, I’ve run into a bit of a wall i’m afraid. whenever I try and chmod 755 or run the install.sh, i’m getting a permission denied error, i’ve done some digging online and it looks like chmod has been disabled on esxi 7, is there a workaround to get this to install?

    • Hello. I’ve listed out in this step that you may receive a “Permission Denied” error and to set the permissions on the root folder of the files you are attempting to run. I’ve run into that same issue on my install. Anyway, give that a shot. 🙂

  • Hi,

    I am having issues booting. I’m getting the apple logo, then a prohibitory symbol (circle with diagonal line). I am running ESXI 7.0 U2 — could that be it? I tried two different ISOs for Catalina, and no luck.

    Would appreciate any input

    • add the below to the vm’s vmx file(you have to unregister and than register the edited vmx)……

      smc.version = “0”
      cpuid.0.eax = “0000:0000:0000:0000:0000:0000:0000:1011”
      cpuid.0.ebx = “0111:0101:0110:1110:0110:0101:0100:0111”
      cpuid.0.ecx = “0110:1100:0110:0101:0111:0100:0110:1110”
      cpuid.0.edx = “0100:1001:0110:0101:0110:1110:0110:1001”
      cpuid.1.eax = “0000:0000:0000:0001:0000:0110:0111:0001”
      cpuid.1.ebx = “0000:0010:0000:0001:0000:1000:0000:0000”
      cpuid.1.ecx = “1000:0010:1001:1000:0010:0010:0000:0011”
      cpuid.1.edx = “0000:0111:1000:1011:1111:1011:1111:1111”
      smbios.reflectHost = “TRUE”
      hw.model = “MacBookPro14,3”
      board-id = “Mac-551B86E5744E2388”

      if it still does the same thing, than try replacing all the double quote characters with a copy/paste of one of the existing quotes from the vmx file’s default entries; it took me forever to figure this out but it seems for whatever reason copying and pasting this stuff results in different ascii values that look the same:S(unsure why)…. **running a dual Xeon L5640 which wasn’t “supported”:P

  • Comment to reboot!
    1. First shutdown all virtual servers/workstation
    2. Set the vmware server in maintenance mode
    3. reboot the server
    4. restart the server
    5. Remove maintenance mode
    6. restart all virtual servers/workstations
    7. then install osx big sur, but no all functions will works, then on 2021-09-13 vmware don’t support officialy osx big sur, vmware tools can’t be installed!

  • Hi Erick, thanks for the guide!

    I’m running ESXi 7.0 Update 2 and had no problems installing Big Sur 11.2.3 with these instructions. I’m curious if you or others have had success updating Big Sur after installing. There are several newer version of Big Sur (https://en.wikipedia.org/wiki/MacOS_Big_Sur shows 11.3, 11.3.1, 11.4, 11.5, 11.5.1) but my installation won’t update and simply saying “Your Mac is up to date”.

    • Hi Tony. I’ve actually updated to 11.2.3 since the initial install. I just haven’t updated further since I haven’t had the time to mess around with my lab. I spun it up real quick and my VM does show an update available for the current 11.5.1 version.

      bigsur_update_11_5_1

  • … perhaps this command should be /Volumes not /volumes ?

    hdiutil eject -force /volumes/Install macOS Big Sur

  • Erick, great article, but as of today the command needs to be updated to create a larger image file.
    hdiutil create -o /tmp/bigsur -size 12900.1m -volname bigsur -layout SPUD -fs HFS+J

  • Hi – Weird one I can’t work out, my root user on ssh can’t run the script

    [root@localhost:/vmfs/volumes/609a6ea6-117a2926-0468-1c697a634ab7/mactool] ./esxi-install.sh
    -sh: ./esxi-install.sh: Operation not permitted

    It has +x and even tried 777 perms on the file, wont run

  • Anyone with working Nvidia card GPU passthrough? Passhtrough works but drivers installation seems to be issue. I was able to load drivers by some miracle but it dones not work still.

    • Sorry for the late reply Robert. I have an Nvidia Grid K2 but I haven’t tried passthrough just yet. I know vSphere 7 changed some of the behavior regarding GPU passthrough. I’ll have to do some testing when I can.

      • It would be great if this was explored, because at the end of the day it would be a lot less expensive to do that vs. buying dedicated Apple hardware to do testing on. I been trying for a while to look for recent articles on this, yours seems to cover most basis, but gpu passthrough or even sharing a gpu with multiple VMs is still an illusive target.

  • doesn’t work for me, i tried it on pre 7.0.1 and 7.0.1a, after using the unlocker and reboot, my esxi complain about unlocker.gz and refuse to boot.

    currently i’m running on 7.0.1d, can you do an update to the guide please? thanks!

  • Erick, thanks for the invaluable article. One issue I’m running into is that sometimes the keyboard doesn’t work in special situations. For example, on the initial macOS login screen I can type in my password and log in just fine but when the Mac is locked (e.g. Lock Screen command is given) I can no longer enter my password. I end up having to force reboot the VM to get back into the OS. I can’t figure out why. This happens in some other situations as well. I’m using the standard US Keyboard settings but I am using a Macbook Pro to login to the VM. I’m doing this through the ESXi Embedded Host Client.

  • Most-Excellent Tutorial – Thank You! I successfully install Big Sur 11.2.3. A couple of things that may help someone else.

    – had to disable “Secure Boot” on the ESXi server

    – With this command: hdiutil create -o /tmp/bigsur -size 12700.1m -volname bigsur ……
    I had to bump the value up to 13100.1

    Again, Thank You!

    • Great. Thanks for sharing. 🙂

      That makes sense since this guide was written for the initial release of macOS 11. Bumping the size up will account for the updates at 11.2.3 when creating a volume image from that version.

  • Great guide! However, 75% into to install, the VM reboots and I return to the “Recovery” screen. Any idea why this could happen?

        • The unlocker should actually work on 6.5, 6.7 & 7. You running Intel or AMD? Can you try running the “./esxi-smctest.sh” and see if it outputs correctly according to the guide.

          I would try an uninstall/reinstall of the patch as well. Also to clarify on you first message. Big Sur goes 75% into the install then resets? I would try completely wiping the disk and formatting again as APFS.

        • I had exactly the same issue as Vincent. Esxi 6.5 in combination with Big Sur 11.3.2. Tried reinstalling unlocker and with Big Sur image 11.0.1, with no luck.
          I did a fresh install on a new usb drive of esxi 7.1 and imported the already created VM with Big Sur 11.0.1 on it, installation continued and no more boot loop. Will try following days to create a VM with Big Sur 11.3.2 on Esxi 7.1…

          • upgraded 11.0.1 to 11.3.2 from within the VM using Apple update, without a problem.

          • I’m having the same problem as you, and I want to check with you now.
            Did you install 11.0.1 with esxi 6.5 and then upgrade to 11.3.2, or did you install 11.0.1 with esxi 7.1 and then upgrade to 11.3.2.
            Looking forward to getting your reply!

  • Hello, the unlock worked perfectly but after I try power on VM (first for install), apple logo appears, then boot loop with error message. What I messed up? 🙁

    • Hi Adam. Sounds like the error that happens when the unlocker isn’t installed. Can you ssh into your host and run “./esxi-smctest.sh” which should show smcPresent = True. Example below.

      unlocker-validated

        • Yikes. Hmm..first thing I would do, would be to attempt a reinstall.

          1. Run ./esxi-uninstall.sh
          2. Reboot
          3. After reboot run ./esxi-install.sh
          4. Reboot
          5. After reboot run ./esxi-smctest.sh

          • Hi Erick, done but same result 🙁 Can be that my config (Asus Z10PE-D8 WS with 2 x E5-2680 v3) is not supported somehow?

          • Ah bummer! Few quick q’s:

            1. Are you running ESXi as a Type 1 on bare metal or Type 2 using VMware Workstation?
            2. Did you create the big sur iso yourself or download it?
            3. Can you screenshot and share any errors?

          • 1. Type 1 on bare metal (and EXSI 7.0 Update 1)
            2. Yes I made it, based on your tutorial (my original downloaded installer version is 11.2.1, did you tried with this version or just older one? Maybe is this the problem? My is newer?)
            3. I just see boot loop few times (apple logo with loader bar then “Your computer restarted…” then again logo, etc) after shows only a link (support.apple.com/mac/startup)

          • Since it lets you see the apple logo, is it possible to get into the macOS recovery? Otherwise I would check the vmware.log located within the virtual machine directory on the datastore.

          • Adam. Yea I’m not entirely sure just yet. I did see this in your log which looks to be the cause of the boot loop.

            2021-03-04T16:00:03.266Z| vcpu-0| W003: DarwinPanic: panic(cpu 0 caller 0xffffff8001200940): “root image authentication failed (err = 22)n”@/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/xnu/xnu-7195.81.3/bsd/kern/imageboot.c:1015
            2021-03-04T16:00:03.271Z| vcpu-0| I005: Chipset: The guest has requested that the virtual machine be hard reset.

            This guide was written for version 11 and I have yet to try to install 11.2.1. The version difference may not be the exact reason for your boot loop but I’m just thinking out loud here. Perhaps I’ll give it a shot this weekend.

          • Thank You Erick 🙂 Till then I’ll try install 11 today (if I find this version on the web). By the way did you updated your 11 after install? Thank You for help

          • I haven’t updated it since installing and writing this guide. I have been doing a bit of maintenance on my home lab server so it’s been down for a bit. I’ll see if I can find the time to work on it this weekend. 🙂

          • Hi Erick, I downloaded the first public version (11.0.1) and it’s working. I wanted to check what happens after I upgrade to current version, but the updater says this (11.0.1) is the newest, so I leave as is. I hope there will be a solution for newer versions to work with ESXI.

          • Adam that’s great. Glad to hear that version works. I haven’t gotten around to testing the upgrade on my setup just yet.

            If the update eventually becomes available on your Big Sur install, make sure you take a snapshot before you upgrade in case it stops working so you can simply revert the snap. 🙂

          • Hi Erick, this uprade thing is very strange because when I installed the Big Sur (11.0.1) on my mac, the update become available right away, only the Big Sur on ESXI acts strange, so I don’t know will the upgrade available ever 🙁

  • Thanks Erick Dimalanta for the wall through.

    Im having a bit of trouble though, can you confirm if your using Intel or AMD CPU in the host also is the ESXi nested in VMware Workstation, or another, or a Baremetal install.

    Trying to figure out if its because im using a Ryzen or becasue ive nested the ESXi while for testing.

    I can confirm that version 3.0.2 installs with the notes from Michael and the unlocker shows in “cd /etc/rc.local.d”

    Install just sits on a black screen with apple logo.

      • Hi Erick, So I’m certain that the problem is related to the AMD CPU or CPUID specifically.

        I’m VMware Workstation i need to add the following to get MacOS to progress past black screen

        cpuid.0.eax = “0000:0000:0000:0000:0000:0000:0000:1011”
        cpuid.0.ebx = “0111:0101:0110:1110:0110:0101:0100:0111”
        cpuid.0.ecx = “0110:1100:0110:0101:0111:0100:0110:1110”
        cpuid.0.edx = “0100:1001:0110:0101:0110:1110:0110:1001″
        cpuid.1.eax= ” 0000:0000:0000:0001:0000:0110:0111:0001″
        cpuid.1.ebx = “0000:0010:0000:0001:0000:1000:0000:0000”
        cpuid.1.ecx = “1000:0010:1001:1000:0010:0010:0000:0011”
        cpuid.1.edx = “0000:1111:1010:1011:1111:1011:1111:1111”
        featureCompat.enable = “FALSE”

        I can add the CPUID to the VMX file on ESXi and the VM will turn on but again not progress to install.

        But when i add the featureCompat.enable = “FALSE” to the VM in ESXi the VM fails to load at all.

        Two questions, what does featureCompat.enable = “FALSE” actually do and is there an ESXi equivalent?

          • After nearly giving up I found the below settings for AMD systems running ESXI 7.0.1

            smc.version = “0”
            cpuid.0.eax = “0000:0000:0000:0000:0000:0000:0000:1011”
            cpuid.0.ebx = “0111:0101:0110:1110:0110:0101:0100:0111”
            cpuid.0.ecx = “0110:1100:0110:0101:0111:0100:0110:1110”
            cpuid.0.edx = “0100:1001:0110:0101:0110:1110:0110:1001”
            cpuid.1.eax = “0000:0000:0000:0001:0000:0110:0111:0001”
            cpuid.1.ebx = “0000:0010:0000:0001:0000:1000:0000:0000”
            cpuid.1.ecx = “1000:0010:1001:1000:0010:0010:0000:0011”
            cpuid.1.edx = “0000:0111:1000:1011:1111:1011:1111:1111”
            smbios.reflectHost = “TRUE”
            hw.model = “MacBookPro14,3”
            board-id = “Mac-551B86E5744E2388”

            Also th epost installation tweaks are healfull in Getting the Mac App Store working

            https://amd-vm.hackintosh-guides.ml/post-installation-tweaks

            Erick, i know you can test the AMD settings but did you want to include in walk through? I can send screen shots if needed.

          • Awesomesauce Vince! This is great and I’m glad to see that worked out for you. I’ve updated my guide to refer to this comment thread for any AMD based setups. 🙂

          • Hi Vince,

            thank you for sharing this information.

            I started having the same ‘stuck on apple logo’ issue after I upgraded my esxi box from an intel xeon to an AMD Ryzen 9 3950X.

            While this information was not sufficient to ‘unstuck’ my macOS installation, it did point me in the right direction.

            In my case, I had to change this line:
            cpuid.1.edx = “0000:1111:1010:1011:1111:1011:1111:1111”
            to this
            cpuid.1.edx = “0000:0111:1000:1011:1111:1011:1111:1111”

            After that, my big sur installation booted up just fine 🙂

          • Hi Michele. Thanks for stopping by and sharing your findings to the community. I’m sure it’ll be a huge help to anyone that has a similar issue.

            awesome

          • I have a Ryzen Threadripper 3970X (32 cores, 64 threads) and trying to get this working. I’ve been trying with both macOS Big Sur and Monterey just to at least get one of them working at first.

            I pasted in the above and it helped to get the macOS installer working (FINALLY)! Thanks for that. At least now I’m in the right direction. (Also thanks to Erick for pointing me to the comments here on his Big Sur post!)

            So I think the next thing I need to do is get the correct address values for my processor. e.g. the ones in this format:

            > cpuid..=””

            The questions I have now are…

            1. I probably don’t need to define ALL the cpuid’s for the macOS VM if I only use, let’s say, 8 processors.
            2. Where exactly can I find out this cpuid information to compile and put in the VMX file? Maybe it’s in the dmesg?

            Could someone point me in the right direction here so I can get these defined in my VMX file with the correct cpuid.* values?

            I’ve compiled all my previous attempts from the VM’s which have the log files in there and also dumped the dmesg output and vmx files: https://mega.nz/folder/TGwUhDbI#kfURB9dqPErQrLexujokbw

            On another note, after I followed the unlocker instructions and gave a reboot, I noticed these after the unlocker.py. Not sure if the custom.vgz is part of the unlocker and if it was there previously? Regardless, it seems to work. 🙂

            2022-02-18T14:47:32.784Z cpu46:2100850)init Running unlocker.py
            2022-02-18T14:47:42.487Z cpu3:2098006)NRandom: 547: Entropy INTR health check passed
            2022-02-18T14:47:43.564Z cpu59:2100896)ALERT: UWVMKSyscall: 2494: vmkramdisk is deprecated: custom.vgz mount
            2022-02-18T14:47:43.797Z cpu59:2100896)VisorFSTar: 2029: fileZwlmev (3109454295355930691) as custom.vgz for 36014512 bytes
            2022-02-18T14:47:43.797Z cpu59:2100896)WARNING: VisorFSTar: 1678: Unauthorized tardisk mount. Tardisk mount restrictions are disabled on this host

            Thanks for the help!!! This article is spot on.

            -gregg

          • Your the man! Well done! This worked for me, but I had to upgrade from 6.7 to get it functional.

  • Hi, I install Big Sur on my PC, after installation it work fine, install an update 11.2 and still work fine, but 11.3 is not working it it crash back to the login screen also the 11.3 beta 2 and same thing. is there a fix? using vmware workstation 16.0. thanks

    • Hi Michael. This guide was written specifically for ESXi running on bare metal as a type 1 hypervisor and patching ESXi. This does not apply to type 2 hypervisors such as VMware Workstation. Although, I do recall seeing guides for that floating around the interwebs. 😉

  • Hey.. I try this HowTo on my AMD Epyc Server with ESXi 7.0u1, but nothing happened. Starting the VM, the apple is showing and nothing happen then. Is it because I have an AMD host?

    • The patch was written to modify esxi which loads the patch at esxi boot. Can you ssh into your host and run the ./esxi-smctest.sh and see the following result below?

      smctest

      I have not personally tested this on AMD based procs.

  • Erick,

    Excellent guide! Thanks for all of the screenshots and great directions! However, it seems like people are getting caught up with the ESXi Unlocker.

    Using the ZIP is easiest since it can be downloaded right from Git. However, the directions say to upload the file to the datastore, unzip, and run the install script. But that produces the error about unlocker.tgz not existing.

    Looks like there are 2 other files in there that could build this. esxi-build.py appears to only run on a Mac, and looks like it will create the necessary file. Sounds like this is the correct step.

    There is also unlocker.py which runs on ESXi and enables the SMC, but does not survive the reboot.

    Any chance to include the missing steps about creating the unlocker.tgz file on the Mac?

    Thanks for helping everyone with this great article!

    Michael

      • Unfortunately, I’m getting an error of “Copied archive /bootbank/unlocker.tgz is corrupt, deleting: 1”. Maybe I just need to use the esxi-build.sh to create one of these files on a Mac? Any tips? Thank you!

        • Hi Michael. You’re right. There is definitely something wrong with this 302 package. I’ve updated the hyperlink again with the 301 version which includes all the files you’ll need.

          I also updated the guide under the Install Unlocker Patch with a few more quick steps to ensure everything works correctly. I’ve just tested this myself and it all seems to work as intended.

          Thanks again for taking the time to comment and let me know about this incorrect step. Hope the new updates help. 😉

          • Erick,

            I actually just got version 3.02 to work! It took a bit of testing, but I finally figured it out.

            After unzipping the .zip file in the datastore, I needed to make the .sh scripts executable by running “chmod +x esxi*”. I found that I also needed to run “chmod 555 etc/rc.local.d/unlocker.py”. This sets up the file with the correct permissions for the system.

            Then your original .zip file you had (the one without the unlocker.tgz) was correct, but needed an extra command to create the .tgz file. Running “tar zcf unlocker.tgz etc” would build the unlocker.tgz file using the file in the etc/rc.local.d/ directory.

            If after running the esxi-install.sh file, the smctest reports “false” then it is most likely a permissions issue. You can check this by running “cd /etc/rc.local.d” and then running “ls -lah”. You should see the unlocker.py file in there, and it needs to have read and execute permissions for all 3 groups. Unfortunately, you can’t change the permissions here, as a reboot will reset them. You need to run the uninstall script, make sure the permissions are correct with the unlocker.py file that was from the zip file.

            Thank you for helping us get to the bottom of these issues! I hope this helps everyone who is running into issues!

          • Awesome work Michael. Glad you dug a little deeper than I did, as I simply grabbed the v301 files that I knew worked when I wrote this guide.

            Thanks again for your persistence.

            high_five

  • Eric,

    Great guide. All the steps worked perfectly. Used the git-clone method as you describe and built the unlocker.tgz on my mac. However after I successfully install the patch I run “esxi-smctest.sh” after the reboot and it still comes up as false. I am running ESXI 7.01 and use esxi-unlocker-302 which is supposed to support this version. Any ideas?

    Todd

    • Hi Todd. That’s odd. I would try the following:
      1. Run ./esxi-uninstall.sh
      2. Reboot
      3. After reboot run ./esxi-install.sh
      4. Reboot
      5. After reboot run ./esxi-smctest.sh

      Hopefully that works out. 🙂

  • Hello and thank you for the post. When running the VMware unlocker I receive an error stating “File unlocker.tgz does not exist”. Where do I find this file as I do not see it in the GitHub link either? Thank you in advance.

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
    >