Install Windows 11 natively on your Mac without Parallels or BootCamp Assistant

As most know, it is possible, and quite easy, to install Windows 10 on your x86-based Mac. Wether it’s a Mac Pro, iMac, Mac mini or Macbook. Now, as Windows 11 has some specific hardware requirements like TPM 2.0 and Secure Boot, you will not pass the hardware check. An unmodified installation will fail to get installed exactly due to this. In this article, I’ll explain how to get around these limitations and to get Windows 11 properly installed and working on your Mac.

YouTube Video

If you are interested, I also created a YouTube video from this blogpost. If you prefer classic text, you can just follow the rest of this article:

Introduction

Windows 11 is about to be released at the time of writing this and I was very curious to find out if I would manage to get it to work on one of my Macs. As by default, due to the specific hardware requirements mentioned above, it refuses to get installed without any further changes. For this article I used a Macbook Air Early 2015 which has a Core I5-5250U and 8GB of RAM and with a few minor tweaks, I got Windows 11 to install and everything working just fine, including updates.

Keep in mind that running Windows 11 natively on a M1 Mac currently is not working with this method. There is an ARM-based version of Windows 11 on the way but I haven’t tested that yet. Nevertheless, nothing stops you in using a M1 Mac to create the USB installer.

Creating the bootable Windows 11 USB installer

The approach will be to use the “old” Windows 10 installer and combine that with the Windows 11 installation files. The result of that will be written to a USB drive which then can be used to boot from and launch the installation. That way there is no need for Bootcamp Assistant and you are free to choose how to partition your drive.

Getting the Windows 10 and Windows 11 ISO

First thing we need to do, is to download both the Windows 10 and Windows 11 ISO files. These can be downloaded from Microsoft’s website:

Prepare the USB drive for the Windows installer

While both the ISOs are downloading, we can prepare our USB drive. You will need one that is at least 8GB. Insert the drive in your Mac and start Disk Utility.

In Disk Utility, choose to show all devices:

Then, on the left side, select your USB drive from the list and click Erase on the top left menu. In the dialog, enter a name for the drive (WIN11 here), choose to format as “MS-DOS (FAT)” and “Master Boot Record” as scheme. Finally click “Erase” to complete the process.

Copy Windows 10 files to the USB drive

After the previous step, our USB drive is prepared. As mentioned, the way I use to get around the hardware requirements check is to use the Windows 10 installer to install Windows 11. To do so, we need to copy all files from the Windows 10 ISO, with the exception of sources/install.wim to the USB drive.

Start by double-clicking on the Windows 10 ISO, called Win10_21H1_English_x64.iso, in order to mount it. Double-check to make sure you’re mounting the Windows 10 one and not the one for Windows 11. Once you did this, open it in Finder alongside the newly created partition on the USB drive, which I called WIN11 in Disk Utility.

I typically start by copying all separate files and folders, except for the sources folder:

Then I create the sources folder and copy all files from sources with the exception of install.wim:

Prepare to split the Windows 11 install.wim

The next thing we need to do, is to copy the install.wim file from the Windows 11 ISO to the sources directory on the USB drive. Unfortunately, install.wim is over 4GB. As we formatted our USB drive with the FAT32 file system, it can handle files only up to 4GB. We could’ve theoretically also formatted the USB drive with exFAT but I’ve had mixed results doing so.

The solution is to split the file in two parts, smaller than the limit of our file system on the USB drive. To accomplish this, we can use Wimlib (https://wimlib.net/). This is a tool that is developed to work with, and modify, .wim files. The easiest way to get this installed on your Mac is by using Brew (https://brew.sh/).

So, as just mentioned, we start by installing Brew. As is instructed on the Brew website, copy and paste the mentioned line in a terminal and execute it.

jensd@jensds-MacBook-Air ~ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password).
Password:
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
...
==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/jensd/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run `brew help` to get started
- Further documentation:
    https://docs.brew.sh
jensd@jensds-MacBook-Air ~ %

Once Brew is installed, we can can add it to the path as instructed in the Next steps of the previous output:

jensd@jensds-MacBook-Air ~ % echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/jensd/.zprofile
jensd@jensds-MacBook-Air ~ % eval "$(/opt/homebrew/bin/brew shellenv)"

Then we can use it to install the tool which we need: Wimlib:

jensd@jensds-MacBook-Air ~ % brew install wimlib
==> Downloading 
...
==> Installing wimlib dependency: openssl@1.1
==> Pouring openssl@1.1--1.1.1l.arm64_big_sur.bottle.tar.gz
==> Regenerating CA certificate bundle from keychain, this may take a while...
🍺  /opt/homebrew/Cellar/openssl@1.1/1.1.1l: 8,073 files, 18MB
==> Installing wimlib
==> Pouring wimlib--1.13.4.arm64_big_sur.bottle.tar.gz
🍺  /opt/homebrew/Cellar/wimlib/1.13.4: 65 files, 3.0MB

Split install.wim and get it on the USB drive

Now that we have Wimlib installed, we can use it to split the large install.wim file from the Windows 11 ISO and copy it to our USB drive.

First, we need to unmount the Windows 10 ISO and mount the Windows 11 one instead. The Volume name is exactly the same so again, better to double-check here:

Now in the same or a new Terminal session, first list the volume names to make sure you pick the right ones to construct the command:

jensd@jensds-MacBook-Air ~ % ls -1 /Volumes
CCCOMA_X64FRE_EN-US_DV9
Macintosh HD
WIN11

Then construct the wimlib-imagex command parameters to match this:

jensd@jensds-MacBook-Air ~ % wimlib-imagex split /Volumes/CCCOMA_X64FRE_EN-US_DV9/sources/install.wim /Volumes/WIN11/sources/install.swm 4000
Splitting WIM: 4526 MiB of 4526 MiB (100%) written, part 2 of 2
Finished splitting "/Volumes/CCCOMA_X64FRE_EN-US_DV9/sources/install.wim"

In the command above, we told to execute the wimlib-imagex tool (part of Wimlib) and passed some arguments:

  • “split” to indicate that we want to split this larger file
  • “/Volumes/CCCOMA_X64FRE_EN-US_DV9/sources/install.wim” which is the source file to split. Keep in mind that the name under /Volumes depends on the ISO name so you need to adjust this to the output of the previous command (ls -1 /Volumes)
  • “/Volumes/WIN11/sources/install.swm” the destination of where the split files should end. As with the ISO name, here WIN11 is the volume label I gave to my USB drive when erasing it with Disk Utility. Again, you need to adjust this to the output of the previous command (ls -1 /Volumes)
  • 4000 the max. size of the destination file, so the file will be split in a part of 4000MB and the rest.

After this command completes, you can see that now two files were created on the USB drive:

The Windows 10 installer knows how to deal with these and will just work fine. Even if these are actually for Windows 11.

(Optionally) download Windows drivers for your Mac

If you plan to use the USB drive, which you created with the above steps, to use this for installation on a Mac, it is a good idea to go through these additional steps.

The goal of this is to fetch the necessary drivers for use on Mac. I will use Brigadier for this. Brigadier, which is basically a script that will fetch all drivers based on the current or given Mac model identifier.

In case you plan to install Windows 11 on another Mac than the one which you are using to create the USB drive, first find the model identifier of that Mac by opening System Information (or top right Apple icon -> About This Mac -> System Report…):

As you can seem the Model Identifier for the Macbook Air on which I plan to install Windows 11 is: MacBookAir7,2.

Now that we have that info, from the Github page of Brigadier: https://github.com/timsutton/brigadier, click the green Code button then choose to “Download ZIP”:

Once the file is downloaded, open a fresh Terminal session and navigate to the “brigadier-master” in your Downloads folder, then simply execute it using ./brigadier and pass the model number as an argument:

jensd@jensds-MacBook-Air ~ % cd Downloads/brigadier-master
jensd@jensds-MacBook-Air ~ % ./brigadier --model MacBookAir7,2
Using Mac model: MacBookAir7,2
...
Expanding flat package...
Extracting Payload...
Extracted to /Users/jensd/Downloads/brigadier-master/BootCamp-041-98143/WindowsSupport.dmg
jensd@jensds-MacBook-Air ~ %

As you can see in the output, the files got downloaded as a subfolder of brigadier-master as WindowsSupport.dmg:

All that is left to do is to navigate to the folder using Finder, then to open WindowsSupport.dmg to mount it and to copy those files to the USB drive. I typically first create a folder drivers to put these in:

After going through the installation, executing BootCamp/setup.exe will install most of the required drivers or at least enough to continue the rest of the driver installation using Windows update.

Prepare your Mac for the Windows 11 installation

Now that we have the USB drive fully prepared, there is one more step to go through before we can do the installation. That is to partition your hard drive or SSD in order to have a place to install Windows 11. For this post, I will go for a dual boot where I will have Windows 11 and macOS next to each other on the same disk.

For this we need to launch Disk Utility on the Mac where you want to install Windows 11. In Disk Utility, just as we did for when preparing the USB drive, select to show All Devices first:

Then, select the SSD or Hard drive in your mac on the left side and choose “Partition”:

Click the + on the bottom of the window and choose to add a partition rather than a volume:

You can use the pie chart on the left side to resize the second, newly added partition, to the size which you prefer. Then give the partition a name, choose MS-DOS (FAT) as file system and click Apply:

Click continue when you get a warning that the system can become unresponsive for some time, while creating the partition and wait for the process to finish.

Don’t be surprised if you see the following or a similar error message:

This is related to a bug in Big Sur and, as you might see, Disk Utility did not create a new partition for our Windows install but rather added a container disk.

To work around this, simply repeat the previous steps (select disk on the left side and click “Partition”). Now just change the type from APFS to MS-DOS (FAT):

After this, choose Partition and continue. This step shouldn’t take long at all and the result in Disk Utility looks like this:

As you can see, another bug in Disk Utility changes the name to only keep the first letter of the Volume name… Nevertheless, we are good to continue to the next step and finally get Windows 11 installed on our Mac.

Install Windows 11 on your Mac

As the final step, the actual installation of Windows 11, we need to let the Mac on which you want to install boot from the USB drive. This is done by holding down the Alt key on boot and to select the USB drive from the boot loader. Don’t forget to first insert the USB drive you created in that machine :)

If all goes well, you should see the bootloader after some time. In there you will see your current macOS installation and the USB drive which you created:

Select EFI Boot here to start the installation. Initially, it will have the look and feel as the Windows 10 installer. Which makes sense as that is actually what we are launching:

Select the language, region and keyboard of choice, click “Next”, then “Install Now”. In the next screen choose “I do not have a product key” and as soon as you arrive at the screen where you need to select which version to use, we can see the Windows 11 versions instead:

Here, select the version of choice and click “Next”. In the next screen, choose to accept the license and continue. Then choose for a custom install (Windows only (advanced)). In the next screen, you need to select where to install Windows 11:

Here you have two options:

  • If you only want Windows 11 on your Mac, you can delete all of the volumes shown here. Then click New, select it and click Next.
  • In case you want to have both Windows 11 and macOS in dual boot, select only the volume which we created in the previous step (W11 in my case) and choose Format, then click Next.

The next steps are pretty straightforward and no different from a regular Windows 10/11 installation. After some time, you should be presented with the following dialog:

Here you need to answer some basic questions like your location, keyboard layout, network, username, password and some more questions regarding location and diagnostic info. After going through all of these and waiting a bit more, you should end up with the Windows 11 desktop on your Mac:

Install all drivers and tools

Although Windows 11 is now theoretically installed and working on your Mac, not everything is functioning just yet. Depending on your model of Mac and included drivers in Windows 11, some devices might not work yet. In my case for example, the wireless network adapter was not detected.

Exactly for this, we prepared those drivers with Brigadier. So we can simply navigate to our USB drive and launch Setup.exe from the drivers\BootCamp folder:

When the installer is complete, click Finish and choose to restart your device.

After the reboot, most devices and at least your device to connect to the network should be working again. From here, we will launch Windows Update and make sure we have the latest updates and potential remaining missing drivers:

One more reboot later, you are done and have a Mac with Windows 11!

Switch between Windows and Mac when you decided to go for a dual boot install

After going through all the steps above, your Mac will boot by default in Windows 11. In order to switch back to macOS (temporarily), you can reboot and hold down the Alt key. Exactly the same as you did to boot from the USB drive when installing Windows 11.

In the boot loader, simply select the name of your macOS volume to boot to macOS and Windows to boot to Windows:

In case you want to change which one of these two boots by default, you can boot to macOS and start the “Startup Disk” utility. Here click the lock to be able to make changes, select the OS which you want to boot as default and click restart:

From here, the OS you selected will be the default.

1 thought on “Install Windows 11 natively on your Mac without Parallels or BootCamp Assistant

Leave a Reply

Your email address will not be published. Required fields are marked *