macOS is an operating system that runs on every Mac. It was previously named Mac OS X and later OS X. MacOS was developed and marketed by Apple Inc from 2001. MacOS succeeded classic MacOS, a macintosh operating system with nine releases from 1984 to 1999. The first desktop version of macOS X was 10.0, released in 2001 and an update 10.1 coming a year later. Apple in 2012 shortened the name “macOS X” to “OS X” then later in 2016 changed it to macOS in order to align with other Apple’s operating systems i.e iOS, watchOS, and tvOS.
The sixteenth version of macOS (10.15) was called macOS Catalina which was the first version of macOS to support 64-bit applications and also the first to include Activation Lock. After these 16 distinct versions of macOS 10 came macOS Big Sur (version 11) in 2020 and macOS Monterey in 2021. You can check out detailed article on macOS Big Sur vs Catalina.
macOS Mojave has the following major features:
- Has the dark mode.
- Supports desktop stacks
- Has dynamic desktops
- Has improved OS and Safari security
- screenshot markup
- Continuity camera
In this guide, I will demonstrate how to install macOS Catalina & Big Sur on VirtualBox.
macOS installation on VirtualBox requirements
The following are macOS installation requirements on Virtualbox.
- Primary display resolutions supported are 5120×2880, 2880×1800, 2560×1600, 2560×1440, 1920×1200, 1600×1200, 1680×1050, 1440×900, 1280×800, 1024×768, 640×480
- VirtualBox version 5.2 and above.
- RAM above 4 GB
- Storage size above 25 GB.
- icloud and imessage connectivity and NVRAM
Step 1: Install required Dependencies
There are several dependencies required when installing macOS on VirtualBox.
These are Wget, Coreutils, dmg2img, xxd, bash-completion, gzip and unzip
### RHEL/ Centos 8/ Rocky Linux 8 / Fedora ### sudo dnf install wget coreutils vim-common p7zip p7zip-plugins bash-completion gzip unzip #### Debian/Ubuntu ### sudo apt-get install wget coreutils dmg2img xxd bash-completion gzip unzip ### macOS ### brew install wget bash-completion gzip unzip brew install coreutils dmg2img
Step 2: Download and Install macOS on Virtualbox
We will proceed and install macOS Catalina on VirtualBox using the push-button installer.
Here we will download macos-guest-virtualbox.sh using Wget as below.
### With curl ### curl -sLO https://raw.githubusercontent.com/myspaghetti/macos-guest-virtualbox/master/macos-guest-virtualbox.sh ### With wget ### wget https://raw.githubusercontent.com/myspaghetti/macos-guest-virtualbox/master/macos-guest-virtualbox.sh
Then make the file executable.
chmod +x macos-guest-virtualbox.sh
Then proceed and install as below:
Push-button installer of macOS on VirtualBox This script installs only open-source software and unmodified Apple binaries, and requires about 50GB of available storage, of which 25GB are for temporary installation files that may be deleted when the script is finished. The script interacts with the virtual machine twice, please do not interact with the virtual machine manually before the script is finished. Documentation about optional configuration, iCloud and iMessage connectivity, resuming the script by stages, and other topics can be viewed with the following command: ./macos-guest-virtualbox.sh documentation | less -R Press enter to review the script configuration vm_name="macOS" macOS_release_name="Catalina" # install "HighSierra" "Mojave" "Catalina" storage_size=80000 # VM disk image size in MB, minimum 22000 storage_format="vdi" # VM disk image file format, "vdi" or "vmdk" cpu_count=2 # VM CPU cores, minimum 2 memory_size=4096 # VM RAM in MB, minimum 2048 gpu_vram=128 # VM video RAM in MB, minimum 34, maximum 128 resolution="1280x800" # VM display resolution These values may be customized as described in the documentation. Press enter to continue, CTRL-C to exit
You will be asked to press enter to review the script configuration, this gives the specifications of the VM to be created in VirtualBox such as the VM name, disk size the OS to be run e.t.c. Continue by pressing enter.
The installation starts as below;
Checking that VirtualBox starts the virtual machine without errors. Checking that VirtualBox uses hardware-supported virtualization. stage: prepare_macos_installation_files Downloading Apple macOS Catalina software update catalog Catalina_sucatalog 100%[===================>] 6.43M 4.34MB/s in 1.5s Trying to find macOS Catalina InstallAssistant download URL Catalina_sucatalog_ 100%[===================>] 40.05K --.-KB/s in 0.02s Found download URL: http://swcdn.apple.com/content/downloads/26/37/001-68446/r1dbqtmf3mtpikjnd04cq31p4jk91dceh8/ .........
This opens and closes VirtualBox as it is checking and creating the macOS VM on it. Wait patiently for the downloading files to finish
Downloading macOS installation files from swcdn.apple.com Catalina_BaseSystem 100%[===================>] 1.97K --.-KB/s in 0s Catalina_InstallInf 100%[===================>] 1.55K --.-KB/s in 0s Catalina_AppleDiagn 100%[===================>] 3.00M 2.73MB/s in 1.1s Catalina_AppleDiagn 100%[===================>] 328 --.-KB/s in 0s Catalina_BaseSystem 100%[===================>] 475.53M 2.28MB/s in 3m 56s Catalina_InstallESD 100%[===================>] 7.21G 2.23MB/s in 54m 42s
With a successful download of the above files, the macOS Catalina installation begins.
Splitting the several-GB InstallESDDmg.pkg into 1GB parts because VirtualBox hasn't implemented UDF/HFS VISO support yet and macOS doesn't support ISO 9660 Level 3 with files larger than 2GB. creating file 'Catalina_InstallESD.part00' creating file 'Catalina_InstallESD.part01' creating file 'Catalina_InstallESD.part02' creating file 'Catalina_InstallESD.part03' creating file 'Catalina_InstallESD.part04' creating file 'Catalina_InstallESD.part05' creating file 'Catalina_InstallESD.part06' creating file 'Catalina_InstallESD.part07' .... Creating VirtualBox 6 virtual ISO containing macOS Terminal script for partitioning and populating the bootable installer virtual disk. Starting virtual machine "macOS". This should take a couple of minutes. If booting fails, exit the script by pressing CTRL-C then see the documentation for information about applying different CPU profiles in the section CPU profiles and CPUID settings. Until the script completes, please do not manually interact with the virtual machine. Press enter when the Language window is ready.
While at this step, VirtualBox is launched and you will see the created macOS running.
When it has finished loading, you will see the language menu.
When you see this language menu on VirtualBox, go back to your terminal and press enter, do not select anything.
Next, you will see the macOS Utilities window.
When you see it on VirtualBox, go back to the terminal and press enter. The next window you will see is the Terminal command prompt.
Press enter on the terminal when you see it appear on VirtualBox. Wait patiently until disk partitioning is done. This happens on the VirtualBox Terminal command prompt.
When this is complete, the macOS VM reboots and the process repeats itself. You are required to do similar actions as above (pressing enter on the terminal after seeing the displayed item)
On completion, you will see this on your terminal.
After the installer finishes preparing and the EFI and NVRAM files are copied, macOS will install and boot up when booting the target disk. Please wait For further information, such as applying EFI and NVRAM variables to enable iMessage connectivity, see the documentation with the following command: ./macos-guest-virtualbox.sh documentation | less -R That's it! Enjoy your virtual machine. stage: prompt_delete_temporary_files Temporary files may be deleted when the virtual machine is powered off and without a suspended state by executing the following command at the script's working directory: ./macos-guest-virtualbox.sh prompt_delete_temporary_files
- In the mean time installation is on going on VirtualBox terminal window prompt. When it is complete, the system reboots but takes quite sometime.
Step 3: Set up macOS Catalina on VirtualBox
When the system finishes loading, you will see this window. Here select your country.
Then select your prefered language and keyboard, the prefered language and keyboard for the Country you set is already given, although you can edit by clicking customize settings
Then next, you will see this privacy settings window.
The next step is choosing whether to transfer files from another mac or not.
Then log in to your apple account. Here enter your account ID/email address and password
You will be required to give the code sent to your device.
If you see this error at this point, just skip and log in to the apple account after completing this setup.
Next, agree to the License terms.
Now, create a user account and password.
Finish up with the express setup and analytics page.
The settings made are then applied.
Now we have successfully installed macOS Catalina on VirtualBox.
Step 4: Upgrade from macOS Catalina to Big Sur
Navigate to System preferences> Software Update. This will automatically start checking for macOS Big Sur Beta version update
With the update found (macOS Big Sur) click on Upgrade now. This starts downloading the macOS Big Sur. Remember this process might take some time depending on your internet speed.
When the download is complete, you will see this pop-up
Click continue and install macOS Big Sur. Agree with the terms and conditions.
Agree the new Big Sur to be installed on your VM’s hard disk.
Enter your password to authorize this installation.
The installation starts. This might take few minutes.
When complete, restart the system.
This takes some time as the system is still doing Big Sur installation. Wait patiently.
Step 5: Delete Temporary Files After Installation
Power off the Virtual Machine and delete temporary files using your client machine terminal.
Accept the files to be deleted:
Catalina selected to be downloaded and installed stage: prompt_delete_temporary_files The following temporary files are safe to delete: ApfsDriverLoader.efi AppleImageLoader.efi AppleSupport-v2.0.4-RELEASE.zip AppleUiSupport.efi Catalina_AppleDiagnostics.chunklist Catalina_AppleDiagnostics.dmg Catalina_BaseSystem.chunklist Catalina_BaseSystem.dmg Catalina_BaseSystem.vdi Catalina_bootable_installer.vdi Catalina_installation_files.viso Catalina_InstallESDDmg.pkg Catalina_InstallESD.part00 Catalina_InstallESD.part01 Catalina_InstallESD.part02 Catalina_InstallESD.part03 Catalina_InstallESD.part04 Catalina_InstallESD.part05 Catalina_InstallESD.part06 Catalina_InstallESD.part07 Catalina_InstallInfo.plist macOS_bootinst.txt macOS_configure_nvram.txt macOS_csr-active-config.bin macOS_MLB.bin macOS_populate_bootable_installer_virtual_disk.viso macOS_populate_macos_target_disk.viso macOS_ROM.bin macOS_startosinstall.txt macOS_startup.nsh macOS_system-id.bin Delete temporary files listed above? [y/N] y
Now power on your macOS VM and enjoy!
In the above article, I have demonstrated how to install macOS Catalina & Big Sur on VirtualBox. I hope this article was of value to you.