11 posts in this topic
Recently Browsing 0 members
No registered users viewing this page.
Run Vanilla OS X El Capitan, Sierra, High Sierra or Mojave in VMware Workstation on a Windows Host
I wanted to make a simple guide on how to create a vanilla OS X El Capitan virtual machine running on a Windows host. The virtual machine should be useful for testing El Capitan and also for creating installers for use on a real machine/hackintosh.
There are many guides and videos on the net about running OS X on Windows machines using pre-made VMWare disk images but you can never guarantee what else is in there….
I’ve gathered info for this guide from various threads in the Multibooting and Virtualisation section of this forum eg
Workstation 11/12, Player 7/12, Fusion 7/8 and ESXi 6 Mac OS X Unlocker 2 by @Donk How to Install OS X 10.x from Snow Leopard to El Capitan in VMware Workstation 10/12, Player 6/8 or ESXi 5/6 by @MSOK HOW TO: Create a bootable El Capitan ISO for VMware Credit and thanks to @Donk, @Albert Nietsnie and @MSOK for all their hard work in creating and testing the VMware Unlocker program.
Intel PC with four or more CPU cores running Windows 7 X64 or later OS (2 or more cores needed for OS X) 4GB or more RAM (2GB or more will be needed for OS X) Hard Disk with at least 40GB free for Virtual Machine VMware Workstation 12 or later VMware Unlocker 2.0.7 or later Install OS X El Capitan app and Mac or Hack to prepare installation iso <-- Now, no longer necessary to have previous access to a Mac or Hack by building the Installer.app from scratch - see post#41 16GB or larger exFAT formatted USB stick to transfer El Capitan iso from Mac/Hack to Host PC Prepare Installation ISO on your Mac or Hack
1. On your Mac or Hack, download "Install OS X El Capitan.app" from the App Store into your Applications folder.
2. Unmount any attached install image/InstallESD.dmg (if currently mounted) by rebooting the system or running the hdiutil unmount command in terminal eg
3. Download and unzip the CECI.tool (attached to this post) into your ~/Downloads folder. The commands in this executable script are shown below for informational purposes….
4. Open OS X terminal, then run the following commands to execute the script:
cd downloads chmod +x CECI.tool ./CECI.tool 5. At the end of the process, you will have an El Capitan iso on your desktop - copy this onto an exFAT formatted USB for use on the PC Host later.
Update: @shela has created an ISO generating script compatible with OS X 10.6-10.12: create_osx_iso post #362.
Install and Patch VMware Workstation 12 on your PC
1. Download and install VMWare Workstation Player 12 or later
2. Download and extract Unlocker 2.0.7 or later to your USB stick…
3. Run the win-install.cmd as administrator by right clicking the file in Windows explorer or run it from an Administrative Command Prompt.
Create an El Capitan Virtual Machine
1. Double click on the VMware Workstation 12 Player icon on your desktop and click “Create a New Virtual Machine”. Choose “I will install the operating system later” at the How will you install screen….
2. Select Apple Mac OS X as the Guest operating system and OS X 10.11 as the version. By default, an OS X 10.11 folder will be created in your Documents\Virtual Machines folder.
3. Under Specify Disk Capacity, you can leave the default 40GB or set a larger value. I personally store the virtual disk as a single file. Click Finish and you will see OS X 10.11 on the Main Screen of Workstation 12.
4. Next, we need to edit the virtual machine settings to map the virtual SATA CD/DVD drive to the El Capitan installation iso we created earlier.
5. To prevent the virtual machine from crashing in Windows, the virtualHW.version set in the vmx configuration file needs to be changed from 12 to 10 (alternatively, the line smc.version = "0" can be added to the file). The OS X 10.11.vmx file can be edited with the WordPad program (navigate to the OS X 10.11 virtual machine folder with Windows Explorer and right click on the file to open in WordPad).
6. For HW10, set USB compatibility to USB 2.0, otherwise your mouse and keyboard might not work in the virtual machine.
7. Finally click “Play virtual machine”
Installation of El Capitan
Installation should be relatively straight forward, just following the prompts of the OS X installer:
1. Select language, agree to legal terms
2. Use Disk Utility from the Utilities Menu to erase and format the virtual hard drive as a single partition GUID Mac OS X Extended. I’ve named the drive Macintosh HD but you can enter whatever you like eg El_Capitan.
3. Quit DU and choose Macintosh HD to install El Capitan on.
4. After 20-30 min (depending on how fast your system is), the installation will complete and the VM will automatically reboot…
5. At the welcome screen, choose your country and keyboard layout. You can skip transfer information, location services and logging in with your Apple ID if you wish…
6. Create a User Account and select your Time Zone. You can skip sending diagnostics and usage data to Apple….
7. Finally, you will arrive at the El Capitan Desktop. You should eject the Installation iso now by right clicking and selecting “Eject OS X Base System”. This will allow you to install VMware Tools….
8. After rebooting, the VM can now be resized or run at full screen resolution. Audio and network/internet should also work OOB.
SMBIOS Customization and iMessage Vars
To make the Virtual Machine more "Mac like", you can edit the vmx file to add unique identifiers from a real Mac's SMBIOS -
eg for an iMac 11,3 SMBIOS, you can enter the following lines....
smbios.reflectHost = "FALSE" board-id.reflectHost = "FALSE" board-id = "Mac-F2238BAE" hw.model.reflectHost = "FALSE" hw.model = "iMac11,3" serialNumber.reflectHost = "FALSE" serialNumber = "W80#######6" Refer How to spoof real Mac in VMware - Multi-booting and Virtualisation.
The critical variables for iMessage/Facetime activation are MLB & ROM. By default, VMware "reflects" the host's MLB and ROM since it assumes you are running the OSX guest on a real Mac host - see post#42 by @Donk.
If the host is a Windows PC, the following lines need to be added to the vmx file (requires virtualHW.version 12 and smc.version = "0")....
efi.nvram.var.ROM.reflectHost = "FALSE" efi.nvram.var.MLB.reflectHost = "FALSE" system-id.enable = "TRUE" and the MLB, ROM and optionally system-id entered manually eg
efi.nvram.var.MLB = "W80######BA1A" (MLB can be 13 or 17 characters long, alphanumeric string) efi.nvram.var.ROM = "<=>?@A" (ROM is entered here as a 6 character ASCII string) uuid.bios = "## ## ## ## ## ## ## ##-## ## ## ## ## ## ## ##" <---Optional (if you want to inject a given system-id hexadecimal value) Note the output for ROM from imessage_debug is a 12 character hexadecimal that needs to be entered here as a 6 character ASCII string eg using an Hex to ASCII converter we find that "3c3d3e3f4041" hex is equivalent to "<=>?@A".
Vanilla Mavericks and Yosemite
The same VM settings for El Capitan will also boot and run vanilla installations of OS X Mavericks and Yosemite . Attached to this post are installer scripts to create bootable Mavericks (CMI.tool) and Yosemite (CYI.tool) ISOs for VirtualBox and VMware.
With the respective OS X installer apps in the Applications folder, download and run the installer tools using terminal ie
To create a Mavericks ISO on your desktop
cd downloads chmod +x CMI.tool ./CMI.tool To create a Yosemite ISO on your desktop
cd downloads chmod +x CYI.tool ./CYI.tool Here is a screenshot of the VM running Mavericks 10.9.5...
Update for macOS 10.12 Sierra
The above settings still work for macOS Sierra after upgrading to VMware Workstation 12.5 and unlocker 2.0.8 - see post #13.
Update for macOS 10.13 High Sierra and 10.14 Mojave
Post#41 describes how to build "Install macOS ******.app" on the fly from installer files downloaded beforehand in /SharedSupport folder.
I'm trying to start a Hackintosh High Sierra 10.13.5 installation:
- MSI B350 PC Mate
- Ryzen 5 - 2600
- Radeon Pro 580 GPU
- 4 x 8GB DDR4
(Have a working clover bootloader for HS 10.13.3 - but for some reason, I can't use that setup with the 10.13.5)
Have tried different bootloader setup, with different outcomes...
ATM. I get this error/hang - "Unknown CPU: family = 0x17, model = 0x8, Stepping = 0x2"
Have search google, and can see that the threads ppl. are getting this, is when they look at "About this mac", I haven't yet installed the OSX.
So can someone help...
I'm running the newest Kexts: AppleALC, FakeSMC, Lilu, RealtekRTL8111, USBInjectAll and WhateverGreen.
In Bootloader setup, i'm running: -v, -s, -f, -no_compat_check, busratio=34, PCIRootUID=1, npci=0x2000, dart=0 and nv_disable=1
In SMBIOS i'm using the iMac18,2 and in RT i'm using BooterConfig: 0x28 and CsrActiveConfig: 0x67
In installed drivers i'm using: AptioMemoryFix, EmuVariableUefi-64, OsxAptioFixDrv-64 (Have tried Fix2 as well)
But i'm, keep getting the Unknown CPU hang/error, can someone help...
Or do someone have a setup with the same CPU and GPU, that can show me his/her setup for Bootloader/Kexts...
How to create a macOS Installer which doesn't need bootloader kext injection (FakeSMC in pre-linked kernel), bypass High Sierra firmware and MBR checkBy fusion71au
This is a brief guide on how to create a vanilla El Capitan (also same process for Sierra) OS X Installer USB with an updated prelinked kernel containing FakeSMC.
It is tailored for those users who want to understand the “nuts and bolts” of how to create an installer and also to help brush up on their terminal skills (rather than have one made for them with the numerous automated “tools” available or even Apple’s createinstallmedia) :
Specifically, it is also a “Proof of Concept” which shows that installation is possible without even having to rely on boot loader kext injection.
Existing Yosemite installation (or Mavericks - see post#4 for steps 7,8) “Install OS X El Capitan.app" downloaded to the Applications folder Pacifist FakeSMC.kext - Slice or Kozlek branch Bootloader - Clover or Chameleon 8GB or larger USB drive (16GB recommended), formatted HFS+ (MBR or GUID) named “Installer”
1. Boot into Yosemite with the kext-dev-mode=1 boot flag
2. Open OS X terminal and type the following lines, followed by <Enter> after each line.
The image restore and file copying may take a while to complete, and at the end of the process, the Installer volume is renamed to “OS X Base System"....
sudo -s hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg asr restore -source /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg -target /Volumes/Installer -erase -format HFS+ -noprompt -noverify rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages cp -av /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/OS\ X\ Base\ System/System/Installation cp -av /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg /Volumes/OS\ X\ Install\ ESD/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System diskutil unmount /Volumes/OS\ X\ Install\ ESD exit 3. Right click on the “OS X Base System” Volume and click “Get Info”
4. Click on the lock icon and untick “Ignore ownership on this volume”
5. Extract/Copy the El Capitan Kernels folder into /System/Library/ of the USB with Pacifist. NB It is found in the "Essentials.pkg" in /System/Installation/Packages
6. Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel —> OG.prelinkedkernel
7. Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of the installer USB using Finder.
8. Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel…..
sudo -s chmod -R 755 /Volumes/OS\ X\ Base\ System/Library/Extensions chown -R 0:0 /Volumes/OS\ X\ Base\ System/Library/Extensions touch /Volumes/OS\ X\ Base\ System/System/Library/Extensions kextcache -u /Volumes/OS\ X\ Base\ System exit Any errors should be noted but the output below is normal e.g.
9. Install your Bootloader targeting the OS X Base System volume
10. Boot your system with the USB without injected kexts into the OS X Installer GUI....
The original prelinked kernel in a fresh install of El Capitan will also lack FakeSMC ie it will only be linked to Apple signed kexts. In order to boot into El Capitan the first time around without boot loader kext injection, the PLK needs to be rebuilt for the El Capitan volume like we did for the installer:
1. Boot into Yosemite with the kext-dev-mode=1 boot flag
2. Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel for the El Capitan volume —> OG.prelinkedkernel
3. Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of El Capitan using Finder
4. Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel. In this example, the El Capitan volume is named "El_Capitan" - change if you have named it something else...
sudo -s chmod -R 755 /Volumes/El_Capitan/Library/Extensions chown -R 0:0 /Volumes/El_Capitan/Library/Extensions touch /Volumes/El_Capitan/System/Library/Extensions kextcache -u /Volumes/El_Capitan exit 5. Install your Bootloader targeting the El Capitan volume. This step is only necessary if you are installing El Capitan on a new drive without existing boot loader (not required if installing on a disk with existing boot loader beside Yosemite).
6. Reboot your system without injected kexts into El Capitan!
The All-In-One Guide to Vanilla OS X for beginners
Updates for Sierra and High Sierra Custom Prelinkedkernel Generator Tool I have made a custom prelinkedkernel generator "PLK.tool" for Sierra + El Capitan. Instructions: 1. Download and extract the attached BaseSystem_PLK.tool.zip into your ~/Downloads folder. 2. Copy any extra kexts necessary for booting your hack to ~/Downloads/BaseSystem/ExtraKexts (e.g. FakeSMC, VoodooPS2Controller), making sure SIP is disabled. 3. Copy BaseSystem.dmg to ~/Downloads/BaseSystem 4. Open terminal and run the following commands... cd ~/Downloads/BaseSystem chmod +x PLK.tool ./PLK.tool ---> supply your admin password ---> will place your new custom prelinkedkernel on the desktop. macOS High Sierra bypass Firmware and MBR checks in post#13.