
Make a bootable Windows 10 USB installer on a Mac
Trust me, I’ve tried them all (dd, etcher, unetbootin, etc) and this is the only way that works, but you must have formatted your USB stick with NTFS. See below for how to format a disk with NTFS natively on MacOS.
2022 MacOS Monterey update: this will crash your Mac :( The experimental writable support for NTFS seems to have gotten a lot worse.
Mounty does work and didn’t crash for me; perhaps mounting inside your home directory, rather than on /tmp like I was below, makes a difference?
# Cribbed from Josh Beam
# https://joshbeam.com/2017/11/23/making-a-bootable-windows-10-usb-drive-on-macos-high-sierra/
# Mount the iso which you can get from
# https://www.microsoft.com/en-gb/software-download/windows10ISO
hdiutil mount ~/Downloads/Win10_20H2_v2_English_x64.iso
# Copy the iso contents to the USB stick;
# this assumes it's mounted at /Volumes/WINDOWS10
cp -vrp /Volumes/CCCOMA_X64FRE_EN-US_DV9/* /Volumes/WINDOWS10
This will boot, but then fail unless you have an NTFS formatted USB, because it couldn’t find C:/install.wim which is larger than 4GB, which is the max filesize possible with FAT32.
I tried formatting the USB exFAT instead of FAT32 format… The exFAT formatted USB won’t boot.
So that just leaves NTFS, which I initially couldn’t create on MacOS.
I did that on a Linux box, and then, because I wanted to see if it would work, I mounted the NTFS drive with writable permissions using the Mac’s experimental NTFS support (this is now over 7 years old, so you’d imagine a bit more stable than the term suggests):
# Make the mount point
mkdir /tmp/WINDOWS10
# Mount the USB stick with read/write options,
# but check via "diskutil list" for the exact device number
sudo mount -o rw,auto,nobrowse -t ntfs /dev/disk2s1 /tmp/WINDOWS10
# Copy the files
cp -vrp /Volumes/CCCOMA_X64FRE_EN-US_DV9/* /tmp/WINDOWS10
That worked. I could boot from the USB and the install went ahead without any moans about install.wim.
Format a USB stick with NTFS on a Mac
So the last piece of the puzzle is to figure out how to format NTFS natively on Macos. You need Homebrew, macFUSE and NTFS-3G:
brew install macfuse
brew install ntfs-3g
# Check which device your USB stick is, using "diskutil list"
# before you run this
mkntfs --fast -L WINDOWS10 /dev/disk2
All links, in order of mention:
- dd: https://ss64.com/osx/dd.html
- etcher: https://www.balena.io/etcher/
- unetbootin: https://unetbootin.github.io/
- this is the only way that works: https://www.joshbeam.com/2017/11/23/making-a-bootable-windows-10-usb-drive-on-macos-high-sierra/
- how to format a disk with NTFS natively on MacOS: #format-a-usb-stick-with-ntfs-on-a-mac
- Mounty: https://mounty.app
- mounting inside your home directory: https://mounty.app#aBitOfBackground
- Homebrew: https://brew.sh/
- macFUSE: https://osxfuse.github.io/
- NTFS-3G: https://github.com/osxfuse/osxfuse/wiki/NTFS-3G
Recent posts:
- Patch for aarch64 (aka arm64) openssl 1.0.2 'relocation R_AARCH64_PREL64 against symbol OPENSSL_armcap_P error'
- TIL: the `NO_COLOR` informal standard to suppress ANSI colour escape codes
- Copy the contents of a branch into an existing git branch without merging
- Adding search to a static Jekyll site using pagefind
- asdf, python and automatically enabling virtual envs