Macos vm

Macos vm DEFAULT

macOS VirtualBox VM Instructions

Current macOS version: High Sierra (10.13), tested with VirtualBox 5.2.16 r123759

To build a VM running macOS, follow the directions below:

  1. Download the installer from Mac App Store (it should be available in the 'Purchases' section if you've acquired it previously). The installer will be placed in your Applications folder. (Should work for Yosemite, El Capitan, Sierra and High Sierra, Mojave - 10.10-10.14.)

    • Note: On newer hardware, you might not be able to download older OS releases that Apple doesn't support on the newer hardware (e.g. the 2016 MacBook Pro can only download 10.12 Sierra or later). In this case, you need to use an older Mac to download the older OS.
  2. Make the script executable and run it: .

    If the script fails to find the installer you can specify its path as the first parameter. By default, the output is saved as <Yosemite|El Capitan|Sierra|High Sierra|Mojave>.iso on the Desktop. You can change this using the second parameter. Example:

  3. Open VirtualBox and create a new VM.

  4. Set:

    • name: Choose a name
    • type:
    • version: .
  5. Follow the rest of the VM creation wizard and either leave the defaults or adjust to your liking.

  6. Go into the Settings for the new VM you created and: 1. Under 'Display', increase the Video Memory to at least 128MB, otherwise macOS might not boot correctly, and display performance will be abysmal. 2. Under 'Audio', uncheck 'Enable Audio', otherwise the VM may display 'choppy' performance.

  7. In Terminal, run the command (where is the exact name of the VM set in step 4) so the VM has the right CPU settings for macOS.

  8. Click 'Start' to boot the new VM.

  9. Select the iso created in step 2 when VirtualBox asks for it.

  10. In the installer, select your preferred language.

  11. Open Disk Utility and format the volume: 1. Go to , select the VirtualBox disk, and choose to format it as:

    • For macOS < 10.13, choose
    • For macOS 10.13 and later, choose .
  12. Quit Disk Utility, and then continue with installation as normal.

Troubleshooting & Improvements

  • I've noticed that sometimes I need to go in and explicitly mark the iso as a Live CD in the VM settings in order to get the VM to boot from the image.

  • If you try to start your VM and it does not boot up at all, check to make sure you have enough RAM to run your VM.

  • Conversely, VirtualBox sometimes does not eject the virtual installer DVD after installation. If your VM boots into the installer again, remove the ISO in .

  • VirtualBox uses the left command key as the "host key" by default. If you want to use it for shortcuts like or (copy&paste), you need to remap or unset the "Host Key Combination" in .

  • The default Video Memory of 16MB is far below Apple's official requirement of 128MB. Increasing this value may help if you run into problems and is also the most effective performance tuning.

  • Depending on your hardware, you may also want to increase RAM and the share of CPU power the VM is allowed to use.

  • When the installation is complete, and you have a fresh new macOS VM, you can shut it down and create a snapshot. This way, you can go back to the initial state in the future. I use this technique to test the , which I use to set up and configure my own Mac workstation for web and app development.

  • If for High Sierra you can not find the VirtualBox disk created inside the Disk Utility select and format the newly visible device (Source:

  • If for High Sierra you encounter boot / EFI problems, restart the VM and hit to get to the VirtualBox boot manager. Select EFI In-Terminal Shell and run:

  • If keyboard and mouse do not work inside the VM:

    1. Ensure the VirtualBox Extension Pack is installed.
    2. In the VM settings, under , select .

Larger VM Screen Resolution

To control the screen size of your macOS VM:

  1. Shutdown your VM

  2. Run the following VBoxManage command:

Replace with the name of your Virtual Machine. Replace with one of 0,1,2,3,4,5. These numbers correspond to the screen resolutions 640x480, 800x600, 1024x768, 1280x1024, 1440x900, 1920x1200 screen resolution, respectively.

The video mode can only be changed when the VM is powered off and remains persistent until changed. See more details in this forum discussion.


  • The code for this example originally came from VirtualBox forums and especially this article.
  • Subsequently updated to support Yosemite - Sierra based on this thread, and High Sierra and beyond based on the work of a number of contributors (thanks!).
  • To install command line tools after macOS is booted, open a terminal window and enter (or just try using , , or other tools that would be installed with CLI tools).


This project was created in 2015 by Jeff Geerling.


Mac OS X build instructions

Prerequisites on Mac OS X

  • 10.10.x (Yosemite) or later running on Intel hardware (PowerPC hardware is not supported nor is building an X11 variant).
  • Xcode matching your Mac OS X version ( Until recently the official builds were done using Xcode 6.2 (you may use the tools/darwin.amd64/bin/ script to 'install' the necessary bits on later OS X versions).
  • Some things from MacPorts (
    After installing MacPorts, do not forget to make sure the following two lines are in your or file and actually loaded in the shell you're using: export PATH=/opt/local/bin:/opt/local/sbin:$PATH export MANPATH=/opt/local/share/man:$MANPATH

Then perform the following command:

sudo port install libidl acpica yasm subversion doxygen texlive texlive-latex-extra texlive-fonts-extra x86_64-elf-gcc

Doxygen, texlive* and x86_64-elf-gcc are optional (first two for documentation, latter for the validation kit).

  • Loading self-built kernel extensions (kexts) on more recent OS X may require changes to the system config unless you have a kext signing certificate and is running 10.14 (High Sierra) or earlier. For 10.11 (El Capitan) and later boot to the recovery partition and either enabling loading of unsigned kexts: csrutil enable --without kext or disable SIP all together: csrutil disable For 10.15 (Catalina) and later you also need to disable the reboot requirement (also from recovery partition): spctl kext-consent disable If you are running 10.10 (Yosemite) there is a boot-args option for allowing the loading of unsigned kexts. Run the following and reboot: sudo nvram boot-args="kext-dev-mode=1"

Building VirtualBox

  1. Change to the root directory of the sources and execute the configure script: ./configure --disable-hardening You can manually set the target architecture with or , if some architecture related problems occur.

If it finds everything it needs, it will create a file called containing paths to the various tools on your system. Also, it will create an environment setup script called This step only has to be done once (if something changes in your build tool setup, you might have to repeat it but keep in mind that both output files will be overwritten).

  1. Whenever you want to build VirtualBox, you have to open a shell and source the generated environment setup script , i.e. do . ./
  1. To build type kmk The default is to a release build, should you wish to do a debug or profile build add or as argument to or export it as an environment variable in your shell.

Running VirtualBox

  1. Load all the kernel extension modules. These can be found in along with a small script () to load them. Execute and make sure the modules loads successfully.
  2. Enter .
  3. Run

Building OSE packages for distribution

Never disable hardening (see previous section) when creating packages for redistribution.

Hardening needs some additional configuration and post-build steps. The default install directory of VirtualBox is . If you like to change that, say into , you need to add the following to the :

VBOX_PATH_APP_PRIVATE = "/Applications/OpenSource/" VBOX_PATH_APP_PRIVATE_ARCH = "/Applications/OpenSource/" VBOX_PATH_SHARED_LIBS = "/Applications/OpenSource/" VBOX_PATH_APP_DOCS = "/Applications/OpenSource/"

It may also make sense to disable some of the development only stuff, like test cases. Add the following to :


Starting with VirtualBox 4.1, extra debug symbols are created. You can prevent that by adding the following to :


Next rebuild VirtualBox and install it into . There isn't any support for installing VirtualBox into a target directory. Just copy the files to the destination. Now make sure that the setuid stubs have the correct permissions:

sudo chown -R root:admin /Applications/OpenSource/ sudo chmod u+s /Applications/OpenSource/ sudo chmod u+s /Applications/OpenSource/ sudo chmod u+s /Applications/OpenSource/ sudo chmod u+s /Applications/OpenSource/ sudo chmod u+s /Applications/OpenSource/

Another requirement of hardening is that every path component of the parent directory of is owned by and not writable. Make sure this is the case.

Relative vs. absolute paths in the used libraries

If you see something like the following error when starting VirtualBox you need to change the used libraries to use absolute paths.

VirtualBox: supR3HardenedMainGetTrustedMain: dlopen("/Applications/",) failed: \ dlopen(/Applications/, 10): Library not loaded: QtCore.framework/Versions/4/QtCore Referenced from: /Applications/ Reason: unsafe use of relative rpath QtCore.framework/Versions/4/QtCore in /Applications/ with restricted binary

On Mac OS X it isn't allowed to use libraries with relative paths for referencing to other libraries when the executable is setuid. You can display all linked libraries by the following command:

otool -L /Applications/

Next, assuming Qt is installed in , you can change the path by using this:

install_name_tool -id /Applications/ \ /Applications/ install_name_tool -change @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ /Applications/ \ /Applications/

The first command changes the identifier of the library itself. The second changes references to other libraries. There, the first path is the old referenced path, the second one is the new path and the last path is the file to change (see ). Note, you need to repeat this with every library involved (at least , , , , ).

  1. Sapphire 8gb graphics card
  2. Gree air conditioners
  3. Bittrex wallet status
  4. Ps4 new games review
  5. Sr salesforce developer salary

Download VirtualBox

Here you will find links to VirtualBox binaries and its source code.

VirtualBox binaries

By downloading, you agree to the terms and conditions of the respective license.

If you're looking for the latest VirtualBox 6.0 packages, see VirtualBox 6.0 builds. Please also use version 6.0 if you need to run VMs with software virtualization, as this has been discontinued in 6.1. Version 6.0 will remain supported until July 2020.

If you're looking for the latest VirtualBox 5.2 packages, see VirtualBox 5.2 builds. Please also use version 5.2 if you still need support for 32-bit hosts, as this has been discontinued in 6.0. Version 5.2 will remain supported until July 2020.

VirtualBox 6.1.26 platform packages

The binaries are released under the terms of the GPL version 2.

See the changelog for what has changed.

You might want to compare the checksums to verify the integrity of downloaded packages. The SHA256 checksums should be favored as the MD5 algorithm must be treated as insecure!

Note: After upgrading VirtualBox it is recommended to upgrade the guest additions as well.

VirtualBox 6.1.26 Oracle VM VirtualBox Extension Pack

Support for USB 2.0 and USB 3.0 devices, VirtualBox RDP, disk encryption, NVMe and PXE boot for Intel cards. See this chapter from the User Manualfor an introduction to this Extension Pack. The Extension Pack binaries are released under the VirtualBox Personal Use and Evaluation License (PUEL). Please install the same version extension pack as your installed version of VirtualBox.

VirtualBox 6.1.26 Software Developer Kit (SDK)

User Manual

The VirtualBox User Manual is included in the VirtualBox packages above. If, however, you would like to take a look at it without having to install the whole thing, you also access it here:

You may also like to take a look at our frequently asked questions list.

VirtualBox older builds

The binaries in this section for VirtualBox before version 4.0 are all released under the VirtualBox Personal Use and Evaluation License (PUEL). As of VirtualBox 4.0, the Extension Pack is released under the VirtualBox Personal Use and Evaluation License and the other packages are released under the terms of the GPL version 2. By downloading, you agree to the terms and conditions of the respective license.

VirtualBox Sources

The VirtualBox sources are available free of charge under the terms and conditions of the GNU General Public License, Version 2. By downloading from the below links, you agree to these terms and conditions.

  • Checking out from our Subversion server.svn co vbox This is the current development code, which is not necessarily stable.

After getting the sources in one of the ways listed above, you should have a look at the build instructions.

Please also take a look at our licensing FAQ, in particular regarding the use of the name VirtualBox.

Pre-built VirtualBox VMs

There are some pre-built VMs designed for developers and the curious over on the Oracle Tech Network site.


How to Run macOS on Windows 10 in a Virtual Machine

Windows 10 is a great operating system. It has its quirks and annoyances, but which operating system doesn't? Even if you're beholden to Microsoft and Windows 10, you can still shop around.

What better way to do that than from the safe confines of your existing operating system with a virtual machine? This way, you can run macOS on Windows, which is perfect for using Mac-only apps on Windows.

So, here's how you install macOS in a virtual machine on Windows, making a virtual Hackintosh that lets you run Apple apps from your Windows machine.

What Files Do You Need to Create a macOS Virtual Machine on Windows 10?

Before delving into the "how-to," you need to download and install the essential tools. The tutorial details how to create macOS virtual machines using both Oracle VirtualBox Manager (VirtualBox) and VMware Workstation Player (VMware Player).

Related: VirtualBox vs. VMware Player: The Best Virtual Machine for Windows

You need a copy of macOS, too. Big Sur is the latest macOS version. You can find the download links for macOS Big Sur in the next section.

This tutorial will focus on installing macOS Big Sur in a virtual machine running on Intel hardware, using either VirtualBox or VMware Player.

Unfortunately, I do not have access to any AMD hardware, so I cannot provide a tutorial.

There is, however, the code snippet that anyone using an AMD system requires to boot a macOS Big Sur using VMware on AMD hardware.

Launching the macOS Big Sur virtual machine is the same as the Intel version but uses a slightly different code snippet. You can find the tutorial and the code snippet in the section below.

Furthermore, you will find links to several AMD macOS Catalina, Mojave, and High Sierra virtual machine tutorials, at the end of the article.

Download macOS Big Sur Virtual Image

Use the download links below to download the macOS Big Sur image for both VirtualBox and VMware.

Download:macOS Big Sur Virtual Machine Image

Download:VMware Player Patch Tool

How to Create a macOS Big Sur Virtual Machine With VirtualBox

Before creating the macOS virtual machine, you need to install the VirtualBox Extension Pack. It includes fixes for USB 3.0 support, mouse and keyboard support, and other useful VirtualBox patches.

Download: VirtualBox Extension Pack for Windows (Free)

Scroll down, select All supported platforms to download, then double-click to install.

1. Create the macOS Big Sur Virtual Machine

Open VirtualBox. Select New. Type macOS.

VirtualBox will detect the OS as you type and will default to Mac OS X. You can leave this as is.

Regarding the virtual machine name, make it something memorable yet easy to type. You'll need to input this name in a series of commands, and it is frustrating to type a complicated name multiple times!

Next, set the amount of RAM the macOS virtual machine can use. I would suggest a minimum of 4GB, but the more you can give from the host system, the better your experience.

Remember, you cannot assign more RAM than your system has available, and you need to leave some memory available for the host operating system.

Now, select Create a hard disk now and select Create. On the next screen, select Virtual Hard Disk, then set the disk size to a minimum of 50GB, but ideally more if you can spare the space. macOS Big Sur requires at least 35GB of storage.

Related: How Much RAM Do You Really Need?

2. Edit the macOS Big Sur Virtual Machine Settings

Don't try and start your macOS Big Sur virtual machine yet. Before firing the virtual machine up, you need to make a few tweaks to the settings. Right-click your macOS virtual machine and select Settings.

  1. Under System, remove Floppy from the boot order. Ensure the Chipset is set to ICH9.
  2. Select the Processor tab. Assign two processors. If you have a CPU with power to spare (such as an Intel Core i7 or i9 with multiple extra cores), consider assigning more. However, this isn't vital.
  3. Make sure the Enable PAE/NX box is checked.
  4. Under Display, set Video Memory to 128MB.
  5. Now, under Storage, select the blank disc under Storage Devices. Next, select the disk icon alongside Optical Drives. Browse to and select your macOS Big Sur disk image.
  6. Finally, head to the USB tab and select USB 3.0, then press OK.

3. Use the Command Prompt to Add Custom Code to VirtualBox

It still isn't quite time to fire up your macOS Big Sur virtual machine. In its current configuration, VirtualBox doesn't work with your macOS disk image.

To get it up and running, you have to essentially patch VirtualBox before the macOS virtual machine will function. To do this, you need to enter some code using the Command Prompt. All the details are below.

Start by closing VirtualBox. The commands will not execute properly if VirtualBox or any of its associated processes are running.

Once closed, press the Windows key + X, then select Command Prompt (Admin) from the menu. If your menu only shows the PowerShell option, type command into your Start menu search bar. Then right-click the Best Match, and select Run as Administrator. Use the following command to locate the Oracle VirtualBox directory:

Now, enter the following commands, one by one. Adjust the command to match the name of your virtual machine. For instance, my virtual machine name is macOS Big Sur.

Here are the commands:

After the completion of the commands and presuming you encountered no errors, close the Command Prompt.

4. Boot Your macOS Big Sur Virtual Machine

Reopen VirtualBox. Double-click your macOS virtual machine to start it. You will see a long stream of text, followed by the Apple logo. On the next screen, select your language of choice, then Continue.

  1. Next, select Disk Utility. You create a clean drive for macOS Big Sur to install to.
  2. In the Disk Utility, select VBOX HARDDISK MEDIA from the Internal drive column.
  3. After selecting the drive, head to the Erase option found at the top of the utility.
  4. Give your drive a name, set the Format to Mac OS Extended (Journaled), and the Scheme to GUID Partition Map.
  5. Select Erase.
  6. Once complete, you can exit the Disk Utility back to the Big Sur recovery screen. From here, you should select Install macOS Big Sur.
  7. Select the drive you created in the Disk Utility, followed by Continue.

Now, the installation says it'll take a few minutes. However, in my experience, this wasn't correct. The initial installation phase took around 15 minutes, but then you land on a second installation screen after the macOS Big Sur virtual machine restarts.

The initial installation time on that screen begins at around 29 minutes. However, once it reaches Less than a minute remaining and you get your hopes up—don't.

It took another hour for the installation to complete from this point, but I've also read reports of people waiting for upwards of three hours. Worse, there is no way to tell if the installation is ongoing on you're just wasting your time.

If you can afford the time, leave it for several hours, and hopefully, when you come back, you'll be staring at the macOS Big Sur Welcome page.

Once you complete the macOS setup, take a snapshot within VirtualBox. Head to Machine > Take Snapshot, give your snapshot a name, and wait for it to process. If anything breaks or the Big Sur virtual machine corrupts, you can head back to the snapshot to restore your previously good installation.

How to Create a macOS Big Sur Virtual Machine Using VMware Workstation Player

Prefer VMware over VirtualBox? You can create a macOS Big Sur virtual machine using VMware that works exactly the same as VirtualBox. And, just as with VirtualBox, VMware also requires patching before the macOS Big Sur virtual machine will work.

This part of the tutorial works for Intel and AMD systems. AMD users must use the second code snippet when editing the virtual machine VMX file. Read through the tutorial to see what this means exactly.

1. Patch VMware Workstation Player

  1. In the "Download macOS Big Sur Virtual Image" section is the VMware Player Patch Tool. Before commencing any further, download the patch tool.
  2. Browse to the location you downloaded the patch tool to. Extract the contents of the archive. This process works best when the folders are on the same drive (e.g., the VMware root folder and extracted archive are both found on the C:\ drive).
  3. Make sure VMware is completely closed. In the Unlocker folder, right-click the win-install command script and select Run as Administrator. The script will open a Command Prompt window, and the patch script will run.

Do pay attention. The script whizzes by, and you need to keep watch for any "File not Found" messages.

The most common reason for a "file not found" or a "system cannot find the file specified" message is installing VMware Workstation Player in a different location to the default folder and executing the patch from a different directory.

Once the patch completes, you can open VMware.

2. Create the macOS Big Sur Virtual Machine with VMware

  1. Select Create a New Virtual Machine. Choose I will install the operating system later.
  2. Now, select Apple Mac OS X, and change the Version to macOS 10.16. If you don't see the macOS options, it is because the patch didn't install correctly.
  3. Next, you need to choose a name for your macOS Big Sur virtual machine. Choose something easy to remember, then copy the file path to somewhere handy—you're going to need it to make some edits in a moment.
  4. On the next screen, set a disk size of 50GB or larger and select Store virtual disk as a single file. Complete the virtual disk creation wizard, but do not start the virtual machine just yet.

3. Edit the macOS Big Sur Virtual Machine Settings

Before you can boot the virtual machine, you must edit the hardware specification.

  1. From the main VMware screen, select your macOS Big Sur virtual machine, then right-click and select Settings.
  2. Bump the virtual machine memory up to at least 4GB. You can allocate more if you have RAM to spare.
  3. Under Processors, edit the number of available cores to 2 (or more if available).
  4. Now, select New CD/DVD (SATA)> Use ISO image file. Browse to the macOS Big Sur ISO file and select it.
  5. Close the Hardware window, and select Finish.

However, don't start the VMware Workstation Player macOS Big Sur virtual machine just yet. There are still some edits to make to configuration files.

4. Edit the macOS Big Sur VMX File for Intel Hardware

This section is for Intel users, and it involves the final set of edits you need to make before switching your VMware macOS Big Sur virtual machine on!

Close VMware. Head to the location you stored the macOS virtual machine. The default location is:

Browse to macOS Big Sur.vmx, right-click, and select Open with > Notepad (or your preferred text editor). Scroll to the bottom of the configuration file and add the following line:

Save, then Exit.

You can now open VMware, select your macOS Big Sur virtual machine, and fire it up!

5. Edit the macOS Big Sur VMX File for AMD Hardware

This section is for AMD users. Like the above section, AMD users must also edit the VMX file before proceeding. The AMD edit involves a few more lines than the Intel version, but you can copy and paste the data into the file.

Close VMware. Head to the location you stored the macOS virtual machine. The default location is:

Browse to macOS Big Sur.vmx, right-click, and select Open with > Notepad (or your preferred text editor). Scroll to the bottom of the configuration file and add the following lines:

Save, then Exit.

You can now open VMware, select your macOS Big Sur virtual machine, and fire it up!

6. Configure and Install the macOS Big Sur Virtual Machine

After launching the macOS Big Sur virtual machine, you'll have to configure the storage drive before installation.

  1. Next, select Disk Utility. You create a clean drive for macOS Big Sur to install to.
  2. In the Disk Utility, select VMware Virtual SATA Hard Drive Media from the Internal drive column.
  3. After selecting the drive, head to the Erase option found at the top of the utility.
  4. Give your drive a name, set the Format to APFS, and the Scheme to GUID Partition Map.
  5. Select Erase.
  6. Once complete, you can exit the Disk Utility back to the Big Sur recovery screen. From here, you should select Install macOS Big Sur.
  7. Select the drive you created in the Disk Utility, followed by Continue.

The installation process takes a while, but it is faster than VirtualBox. Once macOS Big Sur loads, you can configure the operating system as you see fit.

7. Install VMware Tools to Your macOS Big Sur Virtual Machine

You now need to install VMware Tools, which is a set of utilities and extensions that improve mouse handling, video performance, and other useful things.

With the macOS virtual machine running, head to Player > Manage > Install VMware Tools.

The installation disc will appear on the macOS desktop. When the option appears, select Install VMware Tools, then allow it access to the removable volume. Follow the guided installer, which will require a restart on completion.


A couple of things can go wrong during the macOS virtual machine installation in VMware Player Workstation.

  1. If you cannot see "Apple Mac OS X" during the virtual machine creation wizard, then you need to revisit the patch process. Ensure every process associated with VMware Player is off.
  2. If you receive the message "Mac OS X is not supported with binary translation" when starting the virtual machine, there is a strong chance you need to activate virtualization in your BIOS/UEFI configuration.
  3. If you receive the message "VMware Player unrecoverable error: (vcpu-0)" when starting the virtual machine, you need to head back to the macOS Big Sur.vmx configuration file to ensure you added the extra line and saved the edit.
  4. If you're running AMD hardware and get stuck at the Apple logo, first power off the virtual machine. Now, head to Settings > Options > General. Change the Guest operating system to Microsoft Windows and the Version to Windows 10 x64. Press OK, then attempt to power up the virtual machine again. Once the Apple logo passes, power down the virtual machine, then set the Guest operating system option back to Apple Mac OS X, selecting the correct version.

macOS Virtual Machines for AMD Hardware

Apple uses Intel hardware to power desktops and laptops. Configuring a macOS virtual machine using Intel hardware is easier because the hardware specifications are very similar.

With AMD, the opposite is true. Because Apple does not develop macOS on AMD hardware, creating a macOS virtual machine on an AMD system is trickier. However, you can check out the following video tutorial to learn how to install macOS Big Sur on a VMware virtual machine using AMD hardware.

Related: How to Install Linux in Windows With a VMware Virtual Machine

macOS Big Sur Virtual Machine Installation Complete

You have two options to choose from for your macOS Big Sur virtual machine. Both options are great if you want to give macOS a try before making the switch from Windows and enjoy some of the best Apple apps on offer.


How to Create a Virtual Machine Using Windows 10 Hyper-V

Did you know Windows 10 has an integrated tool for creating virtual machines? It's called Hyper-V and here's how it works.

Read Next

About The Author
Gavin Phillips (964 Articles Published)

Gavin is the Junior Editor for Windows and Technology Explained, a regular contributor to the Really Useful Podcast, and a regular product reviewer. He has a BA (Hons) Contemporary Writing with Digital Art Practices pillaged from the hills of Devon, as well as over a decade of professional writing experience. He enjoys copious amounts of tea, board games, and football.

More From Gavin Phillips

Subscribe to our newsletter

Join our newsletter for tech tips, reviews, free ebooks, and exclusive deals!

Click here to subscribe


Vm macos

Whether you want to occasionally test a website in Safari, or try out a little bit of software in the Mac environment, having access to the latest version of macOS in a virtual machine is useful. Unfortunately, you’re not really supposed to do this—so getting macOS running in VirtualBox is, to say the least, tricky.

Update: The instructions here apply to older versions of macOS. If you want to install a newer version of macOS in VirtualBox, check out this script on GitHub. It promises to take you through the process of installing and setting up a macOS virtual machine. We haven’t yet tested it ourselves, but we’ve heard good things.

It’s not impossible, however. Some of the folks at the InsanelyMac forums have figured out a process that works. The only thing not working is sound, which for some reason is highly distorted or nonexistent. Other than that, though, this is macOS High Sierra, running smoothly in VirtualBox.

To make things a little easier for people, we’ve combined methods from a few different forum threads into a single, step-by-step tutorial, complete with screenshots. Let’s dive in.

RELATED:Beginner Geek: How to Create and Use Virtual Machines

NOTE: In order to get this working, you will need access to a real Mac in order to download High Sierra. You could, we suppose, obtain a High Sierra ISO by other means, but we don’t recommend it. Borrow a friend’s Mac for an hour if you don’t have one, and you should be fine—everything beyond step one of this tutorial can be done on your Windows PC.

If you’re on a Mac and want a macOS virtual machine for use on that Mac, we recommend checking out out Parallels Desktop Lite instead, because it can create macOS virtual machines for free and is a lot easier to work with.

Ready to get started? Let’s jump in!

Step One: Create a macOS High Sierra ISO File

To start, we’ll need to create an ISO file of macOS High Sierra’s installer, so we can load it in VirtualBox on our Windows machine. Grab your borrowed Mac, head to the Mac App Store, search for Sierra, and click “Download.”

When the process is done, the installer will launch—that’s okay, just close it with Command+Q. We don’t want to upgrade your friend’s Mac; we just need the downloaded files.

To convert those files to an ISO, we’ll need to use the Terminal, which you can find in Applications > Utilities.

First, run the following command to create a blank disk image:

hdiutil create -o /tmp/HighSierra.cdr -size 7316m -layout SPUD -fs HFS+J

Next, mount your blank image:

hdiutil attach /tmp/HighSierra.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build

Now you’re going to restore BaseSystem.dmg from the installer over to the newly mounted image:

asr restore -source /Applications/Install\ macOS\ High\ -target /Volumes/install_build -noprompt -noverify -erase

Note that, after doing this, the name of our destination mount point has changed to “OS X Base System/System.” You’re almost done! Unmount the image:

hdiutil detach /Volumes/OS\ X\ Base\ System

And, finally, convert the image you created into an ISO file:

hdiutil convert /tmp/HighSierra.cdr.dmg -format UDTO -o /tmp/HighSierra.iso

Move the ISO to the desktop:

mv /tmp/HighSierra.iso.cdr ~/Desktop/HighSierra.iso

And you’ve got a bootable High Sierra ISO file!

Copy it to your Windows machine using a large flash drive, an external hard drive, or over your local network.

Step Two: Create Your Virtual Machine in VirtualBox

Next, head to your Windows machine, and install VirtualBox if you haven’t already, making sure you have the latest version (seriously, older versions may not work.)

Open it up and click the “New” button. Name your Virtual Machine “High Sierra,” and choose “Mac OS X” for the operating system and “Mac OS X (64-bit)” for the version (as of this writing, “macOS High Sierra” is not offered, but that’s fine.)

Continue through the process. For memory, we recommend you use at least 4096MB, though you can opt for more if you have enough RAM to spare on your Windows machine.

Next, you’ll be asked about your hard drive. Choose “Create a Virtual Hard Disk Now” and click Create.

Choose VDI for hard disk type and click Next. You’ll be asked if you want a dynamically sized drive or fixed. We recommend Fixed Size, since it’s a bit faster, though it’ll take up a bit more hard drive space on your Windows machine.

Click Next. You’ll be asked how big a drive you want; we recommend at least 25GB, which is big enough for the OS and a few applications. Depending on your storage situation, you could offer more, but we don’t think you can really use much less than that.

Click through the prompts, and you’ve created an entry for your virtual machine! Now it’s time to do a little configuration.

Step Three: Configure Your Virtual Machine in VirtualBox

You should see your virtual machine in VirtualBox’s main window.

Select it, then click the big yellow “Settings” button. First, head to “System” in the left sidebar. On the Motherboard tab, make sure that “Floppy” is unchecked.

Next head to the “Processor” tab, and make sure you have at least two CPUs allocated to the virtual machine.

Next, click “Display” in the left sidebar, and make sure Video Memory is set to at least 128MB.

Next, click “Storage” in the left sidebar, then click the “Empty” CD drive. Click the CD icon at the top right, then browse to the High Sierra ISO file you created earlier.

Be sure to click “OK” to finalize all the changes you’ve made, then close VirtualBox. No, seriously: close VirtualBox now, or the next steps won’t work.

Step Four: Configure Your Virtual Machine From The Command Prompt

We’ve made a few tweaks, but we need to make a few more more in order to convince the operating system it’s running on a real Mac. Sadly, there are no options for this from VirtualBox’s interface, so you’ll need to open the Command Prompt.

Open the Start Menu, search for “Command Prompt,” then right-click it and select “Run as administrator.”


You need to run a number commands, in order. Paste the following commands, pressing Enter after each one and waiting for it to complete:

cd "C:Program FilesOracleVirtualBox"VBoxManage.exe modifyvm "High Sierra" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbffVBoxManage setextradata "High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3"VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-2BD1B31983FE1663"VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

That’s it! If everything worked, you shouldn’t see any feedback; the commands will simply run. If the command did not work, make sure your virtual machine is named “High Sierra” exactly; if it isn’t, edit the commands above putting your machine’s name in the quotes. Go ahead and close the Command Prompt. We’re heading back to VirtualBox now.

Step Five: Boot and Run The Installer

Re-open VirtualBox, click your Sierra machine, then click “Start.” Your machine will start to boot. You will see a lot of superfluous information as this happens—and I mean a lot—but don’t worry about it. It’s normal, even some of the things that look like errors.

You should only worry if a specific error hangs for five minutes or more. Just walk away and let it run for a bit. If you’ve done everything right, it’ll boot.

Eventually, you’ll see the installer asking you to pick a language:

Pick “English,” or whatever language you prefer, then click “Next.” Before you do anything else, however, click “Disk Utility” then “Continue.”

You won’t see the drive: don’t panic, High Sierra hides blank drives by default. In the menu bar, click “View” followed by “Show All Devices.”

You should now see your empty virtual drive in the sidebar. Click it, then click the “Erase” option.

Name the drive “Macintosh HD,” and leave the other two settings as-is: “Mac OS Extended Journaled” and “GUID Partition Map”. Do not create an AFS partition, because it will not work and you’ll have to start over with a new virtual hard drive. Click “Erase,” then close Disk Utility when the process is complete. You’ll be brought back to the main window.

Select “Reinstall macOS” then click “Continue.” You’ll be asked to agree with the terms.

Agree and you’ll eventually be asked to choose a hard drive; select the partition you just made.

The installation will begin! This might take a while, so be patient. Eventually your virtual machine will restart and take you…back to the installer. Don’t panic: this is to be expected.

Step Six: Boot Installer Stage Two From the Virtual Hard Drive

At this point the installer has copied files onto the virtual hard drive, and expects to boot from there. For whatever reason this does not work on the virtual machine, which is why you’re seeing the installer again.

Turn off your virtual machine and open its settings. Head to Storage, click “HighSierra.iso” in the “Storage Tree” panel, then click the CD icon at top-right and click “Remove Disk from Virtual Drive.” This will completely disconnect our installation ISO.

Now start up the virtual machine and you’ll see this lovely screen.

This is the EFI Internal Shell, and as long as you see “FS1” listed in yellow, you can use it to launch the rest of the installer. Click the virtual machine and allow it to capture you mouse and keyboard, then type  and hit Enter. This will switch directories to FS1, where the rest of the installer is located.

Next we’re going to run a few commands in order to switch to the directory we need:

cd "macOS Install Data" cd "Locked Files" cd "Boot Files"

Now we can run the installer itself with the following command:


The installer will pick up where it left off. First you’ll see a series of text, like before, but eventually you’ll see the GUI installer come back. (Don’t worry, you only have to go through this process once.)

We’re getting there, just need a little bit more patience.

Step Eight: Log Into macOS High Sierra

Eventually the virtual machine will reboot again, this time into macOS High Sierra. If that doesn’t happen, try ejecting the ISO from the Virtual Machine. When High Sierra does boot, you’ll need to go through choosing your country, setting up a user, and the rest of the initial setup process.

Eventually, you’ll make it to the Mac desktop. Yay!

You can now try out any Mac software, though some functions, like FaceTime and Messages, won’t work because Apple won’t recognize your computer as a real Mac. But a lot of the basic stuff should work. Have fun!

Step Eight (Optional): Change Your Resolution

By default, your virtual machine will have a resolution of 1024×768, which is not a lot of room to work with. If you try to change the resolution from within macOS, however, you will see no option to do so. Instead, you need to enter a few commands.

Shut down your Virtual Machine by shutting down macOS: click the Apple in the menu bar, then click “Shut Down.” Next, close VirtualBox entirely (seriously, this step will not work if VirtualBox is still open!) and head back to Windows’ Command Prompt as an admin. You need to run the following two commands:

cd "C:Program FilesOracleVirtualBox"VBoxManage setextradata "High Sierra" "VBoxInternal2/EfiGopMode" N

In the second command, you need to replace the with a number from one to five, depending on what resolution you want:

  • 1 gives you a resolution of 800×600
  • 2 gives you a resolution of 1024×768
  • 3 gives you a resolution of 1280×1024
  • 4 gives you a resolution of 1440×900
  • 5 gives you a resolution of 1920×1200

Start up VirtualBox, load up your virtual machine, and it should boot to your preferred resolution!

RELATED:10 VirtualBox Tricks and Advanced Features You Should Know About

From now on, you can open VirtualBox for any Mac-related testing you want to do. Again, you’ll see a lot of errors pop up during boot, but they’re fine; ignore them. Also, remember that audio won’t work, nor will things like FaceTime or iMessage, which require a real Mac. This isn’t going to be perfect, which is to be expected from an entirely unsupported setup. But it’s macOS, in a virtual machine, and that’s not bad! Be sure to check out our guide to VirtualBox’s advanced features to get the most out of your machine, too.

One more thing: a huge shout-out to Chad S. Samuels, without whom I could not have updated this guide for High Sierra. Thank you so much!

This Linux PC Runs macOS Faster Than a Real Mac

You can run MacOS in Virtualbox. Because? Because.

In the pursuit of Hackintosh, you need a Mac. That’s well and great, but I didn’t want to screw around with my partner’s Macbook. So what if you want to sandbox something? Virtualbox!

I had no expectations that this was going to work. OS X has always been runnable in Virtualbox for a while, but the performance has normally been lacklustre. While it’s not exactly daily-driver level, the performance in Virtualbox wasn’t too bad!

The macOS Virtualbox option is designed for genuine Apple hardware. You will not get community support from Virtualbox if you have trouble with this process, as it’s against Apple ToS.

VMware more your jam? We’ve got this working in there too.

🤔️ What do I need?

You need a donor Mac to start this process. You will not need access to it permanently, but just during the process of creating an ISO for your VM to setup with. Else, you need:

This guide will discuss installing MacOS Mojave, however installation process should be similar for all MacOS versions.

⚠️ At the time of writing, Virtualbox and Hyper-V cannot co-exist on Windows. MacOS is also not installable on Hyper-V. I use Linux in my screenshots as I use Docker on Windows. This also includes Windows Subsystem for Linux, which tripped me up from installing.

💿 Creating the ISO

Virtualbox installs generally prefer to use an ISO file, which unfortunately will require some handiwork to get a hold of. Persevere and you will get there!

On the MacOS machine, download the Mojave installer. Don’t worry about actually running this application, as we’re going to use some terminal magic to build the ISO from the package.

This process is not affected by MacOS Installer expiry.If your MacOS installer has expired, you can continue with this guide.

Once the package has been downloaded, pop open Terminal (Utilities folder in Launcher), and run the following commands:

This will create a virtual ‘disc’ stored in your temporary directory. This is what we’ll stuff the Mojave installation stuff into.

Now MacOS can ‘see’ your disc as an actual disc, ready for writing to!

We’re now grabbing the installation DMG from within the updater package, and storing it within the disc image. This will rename the disc image, so don’t panic that ‘installer_goes_here’ has vanished.

Now, detach the image from our MacOS. You can just eject it like regular DMGs. If not, run the command:

(it may change since OS X is legacy. To check, run and see if it’s there, renamed).

Now for the final process, let’s convert our CDR image to an ISO!

You should now have a file on the Mac desktop called ‘Mojave.iso’. Congratulations, you have your installation disc! Copy this over to where your Virtualbox is setup. The Mac is no longer needed at this point.

🛠️ Setting up Virtualbox

⚠️ Before continuing, install the Virtualbox Extension Pack, if you haven’t already. This comes with a special USB 3 driver that without, the Mac simply won’t see USB devices.

Virtualbox has the option for a MacOS virtual machine in it’s New VM dialog, but we will need to make further adjustments to make it truly Mac-ready.

Pop open Virtualbox, and Create a new Virtual Machine. Name this MacOS Mojave, and set it to Mac OS X (64-bit).

Screenshot of the 'Create Virtual Machine' dialog from Virtualbox. In the screenshot, 'name' is set to 'MacOS Mojave', 'Type' is set to 'Mac OS X' and 'Version' is set to 'Mac OS X (64-bit)'.

Set the RAM to 4096 MB (or higher if you can achieve it!).

When creating the disk, you can use either format versions. Dynamic will not immediately take up the storage size you chose, whereas Static immediately reserves the chosen size for the VM. The latter is slightly better for performance.

Screenshot of the 'Create Virtual Hard Disk' dialog, with 40 gigabytes set to the storage size.

Now you should have a new, primed MacOS machine. But you will need to run some commands now. This can be hit-and-miss, and may require some Google-fu. The following works for my AMD FX computer:

Windows? Change to (if you didn’t change your Virtualbox install location).

The above does the following, in order of command:

  • Sets a known CPU ID set that MacOS will recognise.
  • Especially for AMD machines, changes what MacOS sees as your processor to something it supports.
  • Tells MacOS you’re installing Mojave onto a mid-2010 iMac. You can change this to your preference.
  • These two specify a fake DMI, typically found in Apple PCs.
  • A device key to pass system checks.

Before starting the VM, open the VM settings and make the following changes:

  • System > Processor > Processor(s) is 2 or more.
  • System > Acceleration > uncheck Enable Nested Paging.
  • Display > Screen > Video Memory is 128MB.
  • USB > USB 3.0 Controller.

With all that done, we’re ready to start the VM!

You should be greeted with the following screen:

The 'Select start-up disk' dialog is shown, with the default 'host drive' currently selected.

Click on the folder icon, and find your ISO created on the Mac before, then click Start.

And wait. yes, this process takes a long time. If your installation stops, try googling the last output message to see if there is a community fix, or post below… Otherwise, this is generally a slow process.

If all has gone well, you should be greeted by the MacOS installer language selection. If so, you’re almost there! On the top menu, open Utilities > Disk Utility.

There should be a disk named VBOX HARDDISK or similar. This is the VDI you created during the setup process, and not your actual hard drive. So go ahead and full-erase this disk, with Mac OS Extended (Journaled) and GUID Partition Map.

A screenshot of Disk utility on MacOS, intending to erase VBOX HARDDISK Media. The Name is set to Untitled, Format set to Mac OS Extended (Journaled), and scheme set to GUID Partition Map.

Once the disk formatting has completed, close it down. You should now be able to start the installation!

Once this is complete and you filled all the required details in, congratulations! You’re running MacOS Mojave within Virtualbox!

❓ What works?

✔️ Does

  • Screen (No 3D).
  • Regular input methods (mouse sharing).
  • Networking.
  • USB devices.
  • Mac App Store.

❌ Does not

  • Full graphics.
  • Audio.
  • Guest additions.

At the end of the day it’s still a virtual machine, and a technically unsupported one at that. However, considering the matter it’s still impressive how Virtualbox can cope with MacOS.

Files can be shared using typical Windows share features. If you share a folder on your network from your host machine, your Mac VM should be able to connect to it.

🌟 Special Thanks

This required a lot of Googling, and these are the people who saved me at the end of the process!

🐛 Troubleshooting


You will also like:

At first, no one saw me, it would be necessary to get out of there quietly and peacefully, but this sight did not let me go. And I looked fascinated. I myself wanted to be in the place of any of them, although I thought that I could never afford it. Andrey was the first to notice me, and, in the interval between oohs and grunts, he said.

21942 21943 21944 21945 21946