Skip to content

Instantly share code, notes, and snippets.

@stefanocoding
Last active May 18, 2023 12:17
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save stefanocoding/1c255350c77b42a5d7239c7883e4c191 to your computer and use it in GitHub Desktop.
Save stefanocoding/1c255350c77b42a5d7239c7883e4c191 to your computer and use it in GitHub Desktop.
Install macOS in a VirtualBox machine on Ubuntu

Important: I'm writing this when the last version of macOS (and the one I have installed) is Mojave. There is already a script which installs Mojave in a virtual machine here https://github.com/img2tab/okiomov. But if you are curios how to do everything manually to install High Sierra, then this guide may be useful.

After reading a few articles I ended up with these steps:

  1. On macOS, download the High Sierra installer (even if you have Mojave installed): https://itunes.apple.com/us/app/macos-high-sierra/id1246284741?ls=1&mt=12
  2. If the High Sierra Installer starts, quit it.
  3. Open "Disk Utility".
  4. Click on "File" > "New Image" > "Blank image...". Or just press cmd+N.
  5. In the "Size" field, enter 13 GB and save it wherever you want.
  6. If the image is not mounted automatically, double-click the file you just created to do it.
  7. Open "Terminal"
  8. Run sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled. If you changed the value of the "Name" field in the step where you changed the "Size", then instead of "Untitled" the image probably appears with that name you entered.
  9. Once the previous command finished, continue with the following steps.
  10. Copy the file to some device which you can get access from Ubuntu (external drive or whatever works for you).
  11. On Ubuntu, open the "Terminal".
  12. Run VBoxManage convertfromraw <path_to_input_.dmg_file> <path_to_output_.vdi_file>.
  13. Open "VirtualBox".
  14. Create a new machine of Type "Mac OS X" and Version "macOS 10.13 High Sierra (64-bit)" (probably others work, but I just tried with that one).
  15. Once the machine is created, go to the "Settings".
  16. Select "Storage" and click to add a hard disk. When asked click on "Choose existing disk" and select the .vdi file you created using VBoxManage convertfromraw.
  17. Click "OK" and start the machine.
  18. Wait until you get to the screen where you have to choose the language. And choose your language.
  19. "macOS Utilities" appears. Select "Disk Utility" and click "Continue".
  20. Select the disk where you are going to install macOS (probably the same you created when creating the machine).
  21. Click "Erase".
  22. Verify that "Mac OS Extended (Journaled)" is the format selected and click "Erase".
  23. Once it finishes, Quit the "Disk Utility".
  24. Select "Install macOS" and click "Continue".
  25. Follow the instructions.
  26. Once it finishes, the machine automatically rebooted. What you have to do is power it off.
  27. Remove the installer hard disk from the machine. The one you added previously, not the one where you are installing macOS.
  28. Start the machine.
  29. You are going to see a screen where the last line is Shell>
  30. Run cd "macOS Install Data\Locked Files\Boot Files"
  31. Run boot.efi
  32. Continue the installation normally.

References:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment