Create virtual machines with MacOS (m1 and m2 included)
Tags: macos, vm
Published: 2023-07-14 11:27:32

---
title: Create virtual machines with MacOS (m1 and m2 included)
published: true
date: 2023-07-08 17:50:46 UTC
tags: MACOS,VM
canonical_url: https://habil.dev/create-virtual-machines-with-mac-m1-and-m2-series-included/
---

## Introduction
 ![Create virtual machines with MacOS (m1 and m2 included)](https://images.unsplash.com/photo-1627660163617-72878fc413e5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDQ2fHxtYWNvc3xlbnwwfHx8fDE2ODgzMTc3MzR8MA&ixlib=rb-4.0.3&q=80&w=2000)

A virtual machine (VM) is a software emulation of a computer system that behaves like a separate physical machine. It enables the creation and execution of multiple operating systems or applications on a single physical computer. VMs provide isolation, allowing different software environments to run independently of each other.

## Problem

You are using a Macbook as the development device and you want to use an application that only has a Windows or Linux version available.

My scenario is as follows; I wanted to install Power BI Client on my computer and saw that only the Windows version is available. I set out thinking that I could solve this problem by setting up a virtual machine. Unfortunately, it is very difficult to find free solutions in the macOS world, but you can solve this problem with open-source software.

The first solution that comes to mind is Oracle VM VirtualBox, but Oracle VM VirtualBox does not yet support Apple Silicon processors. (Currently in Developer Preview), My second solution is UTM. UTM is a full-featured system emulator and virtual machine host for iOS and macOS. It is based on QEMU. In short, it allows you to run Windows, Linux, and more on your Mac, iPhone, and iPad. Let's start.

## **Requirements**

- [brew](https://brew.sh/)

## Installation

Step 1: You need to install UTM. You can download UTM from the [GitHub page.](https://github.com/utmapp/UTM/releases/)

Step 2: Install the required libs.

```
brew install cabextract wimlib cdrtools minacle/chntpw/chntpw aria2
```

Step 3: Download the installer creator. To do this, you need to one of the following addresses.

- [UUP dump (Windows 10 21H2)](https://uupdump.net/known.php?q=21390)
- [UUP dump (Windows 11 21H2)](https://uupdump.net/known.php?q=22000.1098)
- [UUP dump (Windows 11 22H2)](https://uupdump.net/known.php?q=22621.674)

Once you downloaded and extracted the installer creator, you need to run `uup_download_macos.sh` from Terminal to generate the ISO.

Step 4: Open the UTM and start the Windows installation.

Following steps are required for the successful installation.

Open UTM and click the “+” button to open the VM creation wizard.

1. Select “Virtualize”.
2. Select “Windows”.
3. Make sure “Import VHDX Image” is _unchecked_ and “Install Windows 10 or higher” is _checked_. Also, make sure “Install drivers and SPICE tools” is _checked_. Press “Browse” and select the ISO you built in Step 3.
4. Pick the amount of RAM and CPU cores you wish to give access to the VM. Press “Next” to continue.
5. Specify the maximum amount of drive space to allocate. Press “Next” to continue.
6. If you have a directory you want to mount in the VM, you can select it here. Alternatively, you can skip this and select the directory later from the VM window’s toolbar. The shared directory will be available after installing SPICE tools (see below). Press “Next” to continue.
7. Press “Save” to create the VM. Wait for the guest tools to finish downloading and press the Run button to start the VM.
8. Follow the Windows installer. If you have issues with the mouse, press the mouse capture button in the toolbar to send mouse input directly. Press Control+Option together to exit mouse capture mode. Sometimes, due to driver issues, you can enter and exit capture mode and the mouse cursor works normally again.

## Conclusion

In this article, we talked about how to install Windows with the help of a virtual machine on the MacOS operating system. I hope it was useful.

See you in the next article. 👻