Putting an Apple Silicon Mac into DFU Mode - Made Easy and Reliable
If you're reading this, I assume you've tried to put a Mac into DFU mode and failed, just like me. Turns out there's an easy way. The team behind AsahiLinux developed a tool called macvdmtool that makes it extremely easy to put an Apple Silicon Mac into DFU mode.
How to Use
To use macvdmtool, it does need to be built from source. Don't let this deter you though, it's easy! You'll need to have an Apple Silicon "host" Mac to put the target Mac into DFU mode.
Build first:
On the host Mac, run the following commands in terminal to build macvdmtool.
# Install Xcode command-line tools
xcode-select --install
# Move to your home directory
cd ~/
# Clone the macvdmtool repository
git clone https://github.com/AsahiLinux/macvdmtool.git
# Move into the macvdmtool directory
cd ./macvdmtool
# Build macvdmtool
make
# Install macvdmtool to the zsh path
sudo cp ./macvdmtool /usr/local/bin
# Move out of the macvdmtool directory and delete it (we no longer need the source)
cd ~/ && rm -r ~/macvdmtool
Now we can use it!
But first we need to identify the DFU ports....The USB-C cable must be plugged into the DFU port on both Macs.
M1-M3 MacBooks: Use the USB-C port closest to the display on the left side.
M4-M5 MacBook Pro: The rightmost USB-C port when facing the left side.
Mac mini: Use the USB-C/Thunderbolt port closest to the HDMI port.
iMac: Use the USB-C port closest to the Ethernet port.
Mac Pro: Use the USB-C port farthest away from the power button
Now we can really use it!
Once you've identified the proper ports, connect the Macs and run the following command in terminal to put the Mac into DFU mode:sudo macvdmtool dfu
The target Mac should immediately reboot into DFU mode. Occasionally, I have see it do a standard reboot. If this is the case, run the command again and it should properly enter DFU mode.
Done! You can now use Configurator to restore your Apple Silicon Mac.