Jump to content
tlac

[Guide] Simple steps to create macOS Installer for Vmware on Linux or Windows

20 posts in this topic

Recommended Posts

Simple steps to create macOS Installer for Vmware on Linux or Windows

 

This guide describes how you can create a Vmware image (vmdk) for installing macOS in Vmware. Most tutorials about this topic require an ISO installer file that was typically created in macOS or you have to download some preinstalled image file from unknown source. None of them are ideal. But if you follow the steps below, you will not need to access macOS and will use official and trusted sources.

 

  1. First of all download gibMacOS from here and set up
    https://github.com/corpnewt/gibMacOS
     
  2. Run the script to download the full macOS installer:
    on Linux:
    gibMacOS.command
    on Windows:
    gibMacOS.bat

     

  3. Install qemu-img converter

    on Linux (Debian or Ubuntu):
    install qemu-tools package

    on Windows use this installer:
    https://qemu.weilnetz.de/w64/
    when you run the installer, it is enough to select the "tools" and "dll library".
     

  4. Convert the downloaded BaseSystem.dmg to Vmware image

    run the following commmand in that directory where BaseSystem.dmg was downloaded (somewhere here: gibMacOS-master/macOS Downloads/publicrelease/061-44387 - 10.15.3 macOS Catalina)
    on Linux:

    qemu-img convert -O vmdk -o compat6 BaseSystem.dmg recovery.vmdk

    on Windows:

    c:\"Program Files"\qemu\qemu-img convert -O vmdk -o compat6 BaseSystem.dmg recovery.vmdk

     

  5. Use the previously created image to install macOS in Vmware

     

    I assume you have a patched and working Vmware already. If not, find another guide but in nutshell:
    - confirm the VT-x is supported on your Intel machine (if you are on AMD you may not able to virtualize macOS or you need to do more work)
    - install VMware Workstation or VMware Workstation Player (free for non-commercial use)
    - use an unlocker to patch the Vmware to support macOS guest
     currently this works well: https://github.com/BDisp/unlocker/
     

    So when you are here you have a patched Vmware and a Vmware image (recovery.vmdk).
    Run Vmware and create a new virtual machine by choosing macOS guest. But add another hard disk as well with selecting to use an existing virtual disk. Browse the recovery.vmdk. You will get a warning about the image is not in the latest format but choose to keep the existing format.

    After you installed the macOS, install the vmware tools as well.

     

Tested on Windows 10 with macOS Catalina 10.15.3 in Vmware 15.5 Player

 

Comments are welcome.

 

Edited by tlac

Share this post


Link to post
Share on other sites
Advertisement

Thanks for this guide, I am having some trouble with the last step, when the recovery.vmdk is created its size is only 1,3 gb for Catalina, is this the correct size ? Because from some videos I've seen before that size should be much larger (around 7GB ?). Any way I tried to start the VM with that recovery.vmdk but it hangs at the first apple logo and nothing happens, I tried to wait for 20 minutes but still nothing. If someone can help to point me in what I might be doing wrong I would be grateful.

Share this post


Link to post
Share on other sites

Yes, the size is correct. It contains only the recovery tool but it will download the full installer on the fly.

 

Do you have any progress bar under the Apple logo?

What operating system and vmware do you use?

Edited by tlac

Share this post


Link to post
Share on other sites

Thanks for what you did, sounds very useful. :) And probably was lots of work.


For me, I historically use various macOS VMs for over 7 years now, on lots of VMware Workstation versions released by VMware over the years, I recall using version 10.x, and probably older too. :)

So, a long time ago I got the 10.7 version VMware VM, and then after that as years go by I usually simply upgrade to the newer one - of course, keeping OLD one too, as I need to test software for my work in ALL supported macOS versions! :)
(and sometimes I download files from strange persons that share them, did not get any issues with that until now..)

Share this post


Link to post
Share on other sites

There was no progress bar, and I'm using win 10 with VMware 15.0 but I figured it out, it was the VMware version, I was using the 15.0 VMware version and the mac operating system that was offered went only up to  10.14 now I found a more update version of VMware 15.5 and it offers the Catalina version as well 10.15. Everything works now. Thank you for taking the time to write me :)

Share this post


Link to post
Share on other sites
On 3/1/2020 at 4:25 AM, tlac said:

Yes, the size is correct. It contains only the recovery tool but it will download the full installer on the fly.

 

Do you have any progress bar under the Apple logo?

What operating system and vmware do you use?

I can reach to this screen but there are no more progress indicator. I have waited a night but no hope. Please help!

 

Screenshot from 2020-04-20 16-45-11.png

Share this post


Link to post
Share on other sites

I can ask you the same thing:

What operating system and vmware do you use?

Share this post


Link to post
Share on other sites
8 hours ago, phonix said:

I used version 15.5.1 build-15018445.

I installed https://codeload.github.com/BDisp/unlocker/zip/3.0.3

My CPU is Intel. And I my host is Ubuntu 19.1.

Thanks for your support. I can launch a macOSX now using an vmdk 

Thanks!

 

Great! Thanks for letting us know you found a way to make it work. :) You are welcome.


I think with this VMware Workstation version, and this Unlocker version you are using you should be fine updating your macOS Catalina to latest version, as of now - 10.15.4(I assume this download you used is not the latest version)

Just in case, first please create a snapshot of the VM, as well as copy the VM folder files someplace safe, should anything wrong happen with/after the update to latest macOS Catalina version. :)

Please let us know how it goes.

Share this post


Link to post
Share on other sites

Thanks for writing this great guide!

I am trying to install Catalina on Windows 10 machine. gibMacOS downloaded 11 files totaling 8.13GB.

The install starts but its downloading the file from internet.

 

How do I use the existing downloaded files to install the macOS instead of installer re-downloading all the files again?

 

Share this post


Link to post
Share on other sites

Unfortunately you cannot do that. The full installer is in more complex format. The simple "quemu-img convert" trick does not work on it.

Share this post


Link to post
Share on other sites
6 minutes ago, tlac said:

Unfortunately you cannot do that. The full installer is in more complex format. The simple "quemu-img convert" trick does not work on it.

Thanks for the reply.

I am looking into https://guide.hackintoshisfun.ml/#/offline-installer-guide/offline-part-1/

 

Although this is for a USB full installer and I dont have a USB handy. But I am trying to see if I can replicate these step coupled with your VMware guide:

"Click on your USB and go to macOS Base System (or OS X Base System)/Install macOS xxx.app/Contents"

"Drag and drop the prepared SharedSupport folder here"

 

I will let you know how it goes.

 

Share this post


Link to post
Share on other sites

I'm not sure what you want to achieve. Why don't let the installer download again the files in vmware?

Share this post


Link to post
Share on other sites
Posted (edited)
15 minutes ago, tlac said:

I'm not sure what you want to achieve. Why don't let the installer download again the files in vmware?

Their python script created a "shared support" folder with 7.18GB of InstallESD.dmg.

But I can see that's not enough for offline installer.

 

My internet goes down randomly. So trying my hands on creating an offline installer.

But even that is not going smooth. So few more tries and then I am off trying my luck with internet installer  :)

Edited by yellowharry

Share this post


Link to post
Share on other sites
19 hours ago, phonix said:

I used version 15.5.1 build-15018445.

I installed https://codeload.github.com/BDisp/unlocker/zip/3.0.3

My CPU is Intel. And I my host is Ubuntu 19.1.

Thanks for your support. I can launch a macOSX now using an vmdk 

Thanks!

 

This is what I wanted to avoid. Using unknown image file.

Anyway I experienced similar problem on Linux with Vmware 15.5 Player. I think this version is buggy. But it works on Windows.

So on Linux I could get through the language selection, the diskutility and disk selection. But the progress bar stuck at last step, before the welcome screen. If I click and press random characters, I hear the macOS sounds but the screen is not visible.

Perhaps we should try an older version.

Share this post


Link to post
Share on other sites

I tried this following your steps exactly but get a constant boot loop when powering the machine with the converted recovery.vmdk

 

  • Arch Linux Kernel 5.6.15
  • Intel G3258 Anniversary Edition (Haswell) dual core 3.2GHz (VT-x enabled)
  • Workstation 15.5.5 build-16285975
  • unlocker 3.0.3 from the codeload links from the Workstation 15 thread:
    https://www.insanelymac.com/forum/topic/340416-unlocker-vmware-workstation-155/?page=3#comment-2725260 (I commented there as well)
  • Workstation appears to be patched fine, can choose OS 10.16 even
  • gibMacOS downloaded 001-12336 - 10.15.5 macOS Catalina successfully
  • recovery.vmdk got converted successfully
  • created the disk with UEFI, 150GB main hard disk, added a second hard disk using the existing recovery.vmdk, kept formatting, did not add any config options manually

 

It won't even begin to load the bar at all, the apple just appears briefly and then it reboots.

The vmware.log just says:

2020-06-08T12:29:04.459-05:00| vcpu-0| W003: DarwinPanic: panic(cpu 0 caller 0xffffff800d8c2b52):  initproc exited -- exit reason namespace 2 subcode 0x4 description: none
2020-06-08T12:29:04.460-05:00| vcpu-0| I005: Chipset: The guest has requested that the virtual machine be hard reset.

 

Share this post


Link to post
Share on other sites
Posted (edited)

I have an idea. Edit the VMX file and add this line:

smc.version = "0"

Edited by tlac

Share this post


Link to post
Share on other sites
On 7/7/2020 at 8:44 PM, tlac said:

I have an idea. Edit the VMX file and add this line:

smc.version = "0"

I tried this on Manjaro + Vmware 15.5. It still stuck at full loading bar. Log file is here https://pastebin.com/9AC8BNv5 

Do you have any idea? 

Share this post


Link to post
Share on other sites

Actually I wrote that comment for Deridjian.

 

But which step did you stick at the logo? Is it the very first before the language selector?

And how much time did you wait?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

  • Similar Content

    • By chris1111
      Here my theme of OC 
      Resources.zip

       
      Resource with new Tool icon
      Resources-New Tool icon.zip
       
      Black version Update sector 30
      Black version Selector30.zip
       
      Change the selector in the simple theme 
      thanks @blackosx
      Selector 10
      Resources Slector10.zip
      Selector 40
      Resources Slector40.zip
      Resource 10 with new tool icon
      Resources Slector10 new tool.zip
       
       
       
       
    • By daltanious78
      Salve a tutti, un mio amico ha un iMac del 2006 core 2 duo (versione 5.1)  questo iMac fino ad un pò di tempo fà montava ancora OS X Lion (10.7.5) purtroppo per colpa dell'EFI a 32 bit e delle caratteristiche l'iMac non ha più aggiornamenti e neanche i programi, per questa regione il mio amico ha fatto un tentativo ed attraverso una "patch" è riusvito ad installare maverick...però non funzionano alcune periferiche (tra cvui la scheda video che fà dei glitch.
       
      Visto che non ci sono più supporti ne kext che possono fare funzionare le periferiche in maniera corretta abbiamo pensato di installarci ubuntu mate 20.04 con efi a 32 bit (esiste una versione che supporta il processore a 64 bit e l'efi a 32 bit) così da "rivitalizzarlo un pò" purtroppo non riusciamo in nessun modo a fargli vedere la chiavetta usb o i dvd da cui fare partire l'installazione.
       
      Qualcuno ha qualche idea di come poter risolvere il  problema e procedere con l'installazione "pulita" di linux?
       
      Grazie mile di tutto
       
    • By fusion71au
      Making a High Sierra USB Installer Entirely From Scratch in Windows
      This is a proof of concept tutorial, to show it's possible to create a vanilla High Sierra installer, entirely from scratch, in Windows (even without App Store downloaded "Install macOS High Sierra.app" from a real Mac ).  @PikeRAlpha's link to Apple's Software Catalog provides us with all the URLs necessary to download the needed files directly from Apple instead of some dubious source from the internet...
       

      Pre-Requisites
      8GB or larger USB drive.  Edit: Recommend 16GB or larger for macOS Catalina 10.16 Boot Disk Utility v2.1.2017rev021b from @CVAD TransMac (free 15 day trial) Paragon Hard Disk Manager Free Download Installer Files Directly from Apple
      1)  Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
      BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist (Hint - search page for "InstallESD" to find its URL and others nearby)

      to a folder named "SharedSupport" on your Windows NTFS drive.  A browser download manager (eg Chrono for Chrome, dTA for FireFox) is handy since InstallESD is >4GB ---> allows you to pause/resume interrupted download...

      2)  Rename InstallESDDmg.pkg to InstallESD.dmg
      3)  Edit InstallInfo.plist with WordPad/text editor to remove the chunklistURL and chunklistid keys for InstallESD, and renaming it from InstallESDDmg.pkg to InstallESD.dmg (example of edited file attached to this post)...
      Note:  You can verify the SHA1 checksum of your InstallESD.dmg and BaseSystem.dmg with the correct ones at this website.
      Boot Disk Utility to format the Installer USB and Restore OS X Base System HFS partition
      1.  Format USB with BDU & latest Clover ---> creates boot files in CLOVER partition + second FAT partition
      2.  Extract 4.hfs from \SharedSupport\BaseSystem.dmg with BDU --> save to it's local folder
      3.  Restore 4.hfs to USB second partition with BDU --->  2nd partition becomes bootable "OS X Base System"
      Paragon Hard Disk Manager to extend HFS Partition to its Full Extent
      Open Paragon Partition Manager Free and resize the second partition of the USB drive to the full size allowed.  Don't forget to apply the changes at the end...
      Transmac to Copy "SharedSupport" folder to OS X Base System
      1.  Open the TransMac program and navigate to the HFS+ Volume/Install macOS High Sierra.app/Contents folder.  Right click anywhere in the empty space on the RHS pane and select "Copy Here"...
      2.  In the next stage, select the "SharedSupport" folder we created above as the "Files and Folders to be copied to the Mac Volume"...
       
      Clover Settings
      Clover configuration is required now.  The default config.plist (in the Clover FAT32 partition of the USB) maybe sufficient to boot your machine if you’re lucky.  If not, the hackintosh-vanilla-desktop-guide has some good explanations on the various settings available and also offers sample configuration files based on CPU type.  Also, look at the Clover Wiki, Clover Instructions and Clover Configuration Thread for pointers and edit /EFI/Clover/config.plist accordingly with Wordpad or Notepad.
      The location of the important configuration files for Clover are summarized below
      config.plist--->EFI/CLOVER folder DSDT.aml with or without SSDT.aml--->EFI/CLOVER/ACPI/patched (don't need one if your DSDT is auto patched by Clover in config.plist) Kexts eg FakeSMC, NullCPUPowerManagement --->EFI/CLOVER/kexts/<osx version> or /Other. NB BootDiskUtility by default already has FakeSMC.kext installed here.  You may need to add VoodooPS2Controller for your laptop keyboard/trackpad to work. If UEFI booting, you will most likely need one of the OsxAptioFixDrv-64 drivers copied from /EFI/CLOVER/drivers-off/drivers64UEFI to /EFI/CLOVER/drivers64UEFI. If you want to use the installer to run High Sierra in Windows on VMware, you can follow my guide to set up the Virtual Machine and replace Clover's default config with EFI_Clover for VMware (which is compatible to run in VMware).  In the screenshots below, I have attached the USB Installer (in this case PhysicalDrive7) to my macOS Virtual Machine.  Reboot the system to the USB installer to install High Sierra ...
      What happens if we don't have access to TransMac or Paragon Hard Disk Manager?
      Not a problem, as long as we get "OS X Base System" bootable, we can launch terminal from the Utilities Menu to copy the SharedSupport folder over to the Installer app.  In essence, we will build the full installer app = 5GB+ on the target HD eg "Macintosh HD", by copying both the "small" installer app = 15MB (on "OS X Base System") and the SharedSupport folder from the NTFS volume (mounted in this example on /Volumes/DATA)...
      -bash-3.2# cd / -bash-3.2# cp -R Install\ macOS\ High\ Sierra.app /Volumes/Macintosh\ HD/ -bash-3.2# cp -R /Volumes/DATA/SharedSupport /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/  
      ...then start installation with the startosinstall utility...
      -bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD --converttoapfs NO --applicationpath /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app  
      The above steps can be automated with the attached "startosinstall.command" script, which will assemble "Install macOS High Sierra.app" on "Macintosh HD" and launch the startosinstall utility targeting the "Macintosh HD" volume.  Copy/download to "Macintosh HD", then run in terminal (after attaching DATA USB with /Shared Support folder)...
      cd "/Volumes/Macintosh HD" chmod +x startosinstall.command ./startosinstall.command Updated Download Links for macOS Mojave 10.14.6_18G103
      Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
      BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist  
      Note: In Mojave, Apple has removed the --converttoapfs NO and --applicationpath arguments from the startosinstall utility....
       
      eg to use startosinstall for the above section "What happens if we don't have access to TransMac or Paragon Hard Disk Manager?", the syntax is now
      -bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ Mojave.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD  
      This basically means that for Mojave, the default installation will always convert the target volume to the apfs file system.
       
      Updated Download Links for macOS Catalina 10.15.6_19G73
      Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
      BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist  
      startosinstall.command.zip
      InstallInfo.plist_edited_10.13.6.zip
      InstallInfo.plist_edited_10.14.6.zip
      InstallInfo.plist_edited_10.15.6.zip
    • By ITzTravelInTime
      Hi guys, this thread is to show you a new and open source app, created by me, that I called TINU:
       
      The name means: TINU Is Not #####, the U refers to a popular software that is used to create macOS hackintosh installers (that for good reasons is banned on this forum), but the aim of the name is to explain that this app is a totally different thing from that software and works in a totally different way.
       
      This app basically is a graphical interface for the createinstallmedia executable that is inside the macOS and Mac OS X installer apps, it is capable to create a bootable installer completely vanilla like what you do using the command line method, and also this method is recommended by apple itself. In addition to this, this app provvides you simplicity and flexybility, and lets you to avoid most of the tedious steps or problems of other simlar apps.
       
      TINU allows you to create easily a bootable macOS installer without messing around with command line stuff and without using disk utility, all you need to do is use the app and then install your bootloader of choiche on the usb (or just leave it as is if you want to use it on a real Mac).
       
      Features:
      - Simple-to-use UI that allows you to easily start the bootable macOS installer creation process.
      - It can work with every macOS installer app that has the createinstallmedia executable inside its resources folder (including also beta and newly released installers).
      - You can use any erasable volume that is at least 7 GB of size (if the volume's drive is not in GUID format, TINU will re-format it accordingly).
      - Can work with the Mac OS recovery system, so you can create a bootable macOS installer from the macOS installer itself or from the macOS recovery partition, and you can use TINU to install macOS, too.
      - 100% clean: The bootable macOS installers created with this tool are vanilla, just as if you created them using the command line "createinstallmedia" method in Terminal.
      - Open Source: You can verify what this program does on your computer and you can create your own version by downloading and playing with the source code.
      - Does not require any special preparations. Just open the program, make sure you have a USB drive plugged in and have a macOS installer app on your disk.
      - No need to use Disk Utility. TINU can format your drive or partition for you.
      - Integrated EFI partition mounter tool.
      - Works using the latest versions of macOS and will also support newer Mac installers out of the box without requiring an update.
      - Offers advanced features to customize your bootable macOS installer.
       
      Features that are planned for future versions:
      - Support for other languages, at least Italian.
       
       (To sugegst a new feature please contact me on github)
       
      Requirements:
      - A computer that runs Mac OS X Yosemite or a more recent version (Mac OS X El Capitan is required to use TINU in a macOS recovery or installer).
      - A drive or a free partition (on a drive which already supports GUID) of least 7 GB that you want to turn into a macOS/Mac OS X installer.
      - A copy of a macOS/Mac OS X installer app (Maveriks or newer versions are supported) in the /Applications folder or in the root of any storage drive on your machine (excepted the drive or volume you want to turn into your macOS install media).
       
      Download:
      https://github.com/ITzTravelInTime/TINU/releases

      Frequently asked questions:
      https://github.com/ITzTravelInTime/TINU/wiki/FAQs
       
      Useful links:
      Thread (english) on insanelymac.com:
      - http://www.insanelymac.com/forum/topic/326959-tinu-the-macos-installer-creator-app-mac-app/
      Thread (italian) on insanelymac.com:
      - https://www.insanelymac.com/forum/topic/333261-tinu-app-per-creare-chiavette-di-installazione-di-macos-thread-in-italiano/
      Thread (english-german) on hackintosh-forum.de:
      - https://www.hackintosh-forum.de/index.php/Thread/33630-TINU/
      Post on Reddit:
      - https://www.reddit.com/r/hackintosh/comments/a1h61d/tinu_vanilla_bootable_macos_installer_creation/
      Facebook hackintosh help and beta testing (Italian only):
      - https://www.facebook.com/groups/Italia.hackintosh/?fref=ts
      Contact me (project creator):
      - Insanelymac.com profile: http://www.insanelymac.com/forum/user/1390153-itztravelintime/
      - email: piecaruso97@gmail.com
       
      Note that:
      - This software is under GNU GPL v3 license so any new branch/mod/third party release must be open source and under the same license.
      - We (the project creator and othe people involved with active developmment) assume no responsibility for any use of this app and this source code, and also for any kind of hardware and software damage to any computer and any device or peripheral that may come from this app or source code during it's use and outside it's usage
      - We do not guarantee support to you, this is only an open source project, not a product released by a company!
      - This project is born only for educational and demonstrative purposes, it's not intended to be used for commercial purposes and it will never be.
      - This is a no-profit project, born only to let people to create macOS install medias in a more simple way and also to learn how to create this kind of apps.
       
      Credits:
      - Apple for macos and installer apps and scripts
      - People that helped me a lot:
      Francesco Perchiazzi, Nicola Tomarelli, Roberto Sciortino, Raffaele Sonnessa, Ermanno Nicoletti, Tommaso Dimatore, Michele Vitiello Bonaventura, Massimiliano Faralli, Davide Dessì, Giorgio Dall'Aglio, Peter Paul Chato.   
      - Special thanks to Italian Hackintosh group!! for help (https://www.facebook.com/groups/Italia.hackintosh/?fref=ts)
      - Thomas Tempelmann for help with the UI
      - Pietro Caruso (ITzTravelInTime) for creating, maintaing and developing this project
       
      Here are also some screenshots inside this spoiler tab
       
       
       
         
×