How To Create A Bootable Windows USB From ISO On MacOS

1. First, we need to find our device. BEFORE inserting your USB drive, run the following:

diskutil list

2. This will output a bunch of info about all of the disk drives connected to your Mac. Each entry will have a header in the form “/dev/diskX”, where X is some number starting at 0. Now, insert your USB drive and run the command again. You should see a new entry. Make note of the name (ie, /dev/diskX).

diskutil list

3. Now we need to format the drive for MS-DOS and include a Master Boot Record.
In the command below, replace “diskX” with the identifier of your USB drive.

WARNING: this will delete everything on the USB!!

diskutil eraseDisk MS-DOS WIN10 MBR diskX

4. In the command above, MS-DOS is the format of the partition that will be created on the USB. WIN10 is the name of that partition (it’ll appear in Finder as the name of your USB). MBR tells diskutil to create a Master Boot Record, which is necessary for the USB to be bootable.

Now, “open” the Windows ISO:

open Win10xxxx.iso

5. Your Mac will “mount” the ISO as if it was a drive. A Finder window will open to show the contents of the ISO. Close the Finder window; you don’t need it. Back in the terminal, let’s find the mounted ISO:

diskutil list

6. You should see a new entry. This time, we’re looking for what’s in the NAME column. You should see something funny like CCCOMA_X64FRE_EN-US_DV9. The name will differ depending on which ISO you downloaded. Make note of the diskX identifier as well. Now, let’s cd to the ISO:

cd /Volumes/CCCOMA_X64FRE_EN-US_DV9

And copy all the files over to our USB:

sudo cp -r . /Volumes/WIN10/

7. This will take a while; there’s a lot of data (4+ GB). Grab a drink; relax. Once it’s done, you can eject both the USB and the ISO. First, cd to another directory otherwise OSX will not allow you to unmount the ISO (since being in the directory means the ISO is “in use”):

cd ~

8. Eject the USB using the diskX identifier from the second step above:

diskutil eject diskX

9. Eject the ISO using the diskX identifier from the fifth step above:

diskutil eject diskX

10. Now insert the USB into your computer, (re)boot, and select the USB from the boot device menu (you may need to press some key to show the boot device menu on my machine it’s F12).

Depending on how new your computer is, you may see the USB twice: once with UEFI in front of the name, and the other without. If you see the UEFI option, select that.

A FEW UPDATES & SOLUTIONS: FAQ:

Click & Expand

Solution 1: The above method unfortunately no longer works for the later versions of Windows 10 ISOs. Due to the file size limit of FAT, if go through this error then we need to split the install.wim file.

When copying, exclude install.wim: rsync -avh --progress --exclude=sources/install.wim /Volumes/CCCOMA_X64FRE_EN-US_DV9/ /Volumes/WIN10

Then

brew install wimlib
wimlib-imagex split /Volumes/CCCOMA_X64FRE_EN-US_DV9/sources/install.wim /Volumes/WIN10/sources/install.swm 4000

Solution 2: Some extra steps, so I will just go through and break them down, hopefully, it helps someone else:

Download the Windows 10 iso [(https://www.microsoft.com/en-gb/software-download/windows10)] and leave in the downloads folder

You will need to install x code

Launch the Terminal, found in /Applications/Utilities/
Type the following command string then follow the prompts

xcode-select --install

Now you will need to install homebrew

Again open terminal and type the following code below and follow on-screen prompts which were just press Enter then enter a password (if you are new to the terminal like my friend, when it asks for a password and you start to type it looks like nothing happens, but just type out your password and hit enter and it will do the install (it will take 10 - 20 mins to download and install)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

then while your at it install wimlib which you will need later (if at anyone point it tells you can’t install its more than likely because your not in the right directory, so just type cd to go back basically, now install wimlib

brew install wimlib

Next, follow the original help guide above to line 33 so that you change to the right directory

After you have done that skip the rest of that guide and follow BirkhoffLee’s comments, which are

paste the following code, it does not need the install.wim bit fyi

rsync -avh --progress --exclude=sources/install.wim /Volumes/CCCOMA_X64FRE_EN-US_DV9/ /Volumes/WIN10

After that is done you can then do the last lines they say

wimlib-imagex split /Volumes/CCCOMA_X64FRE_EN-US_DV9/sources/install.wim /Volumes/WIN10/sources/install.swm 4000

This will also take some time I think 10 minutes and part 1 of two takes the longest so your percentage marker will not move for a while then jump to 91% percent so don’t worry if it’s not moving for at least 5 minutes, just be patient. After part 1 and 2 our done it should tell you you’re done, that’s when you can do the following like the original guide

cd

diskutil eject diskX

That’s the thumbstick ready to plug into your pc :slight_smile: from there it might be once plugging in the thumbstick and turning on your pc you may need to change boot order settings in your bios to pick on the thumbstick but that’s it.

Solution 3: If the USB not bootable, then you can try to format the drive to GPT instead of MBR.

diskutil eraseDisk MS-DOS WIN10 GPT diskX

For novice users who have trouble in using this shell script, you can give a try for the recommendations listed in this article with a nice GUI wrapper.

ENJOY & HAPPY LEARNING! :heart:

1 Like