Macbook Gaming Rig: Portable Win 10 on an external SSD on a 2018 13-inch Macbook Pro w/AMD eGPU
Recently I was able to get the Windows 10 “Windows To Go” feature working, and I realized that it makes it easier to get an eGPU setup up and running on the notoriously difficult (due to the T2 security chip) 2018 Macbook Pro. This setup is a bit unconventional in that you end up with a fully portable Windows 10 installation that is installed on an external SSD or USB flash drive that you can run on machines other than your Mac, but the setup will work perfectly with an AMD eGPU (and potentially NVidia) if you follow my steps EXACTLY. Without Windows To Go, the eGPU will typically not work without other more invasive changes to UEFI related things.
Having Windows on an external drive is convenient because you can leave your windows installation with your desk/eGPU setup, and you don’t have to carry a Windows 10 partition around on your Mac hard drive, which is especially handy because currently there is no way of deleting a Bootcamp-created partition on newer APFS-based Macbooks without visiting an Apple store and having them boot from external recovery media (Apple has in fact disabled both the official and unofficial ability to create such media starting in Mojave, and the built in recovery tools are unable to delete partitions on a currently mounted APFS drive, so an Apple store is your ONLY option).
Currently there is no known way of getting the built-in monitor to work in Windows when an eGPU is plugged in on a 2018 Macbook, so if you expect to be able to use your built-in display with the eGPU within Windows 10, you might as well stop reading. You can’t. The T2 chip completely messes that up. A side effect of this is that when the eGPU is on, the Windows logo boot screen stays stuck on on the built-in monitor and the monitor is unusable. To keep this from damaging your screen, we turn on a hidden feature in Windows called Unbranded Boot, which will disable the Windows logo and Windows booting UI completely, resulting in a black screen on your built-in Mac monitor that will not cause burn-in damage.
You will need
- A 13-inch 2018 Macbook Pro. This guide may work with the 15-inch model as well, but I don’t have one so I don’t know. I have heard though that the built-in GPU makes things more problematic on the 15-inch model, but maybe you will have some luck.
- An AMD GPU and a Mac-compatible eGPU enclosure. I used the Radeon RX 580 in a Sonnet eGFX Breakaway Box, but it is likely that many GPUs and e-GPUs work with this guide. For future builds I would recommend the Sonnet eGFX Breakaway Box 650 or the Razer Core v2 paired with the new Radeon VII. Make sure your eGPU enclosure has enough watts for your selected GPU.
- An external monitor, plugged into your eGPU and with the correct input already selected. Preferably you should test out the eGPU in MacOS before you attempt to get it working in Windows.
- Another computer or laptop running Windows and possibly Linux as well. This is needed to prepare and partition the Windows To Go drive and as a device to boot into when your Windows To Go setup runs the first time so that certain MacOS drivers are not automatically installed.
- A good external SSD or fast USB flash drive for running Windows 10. I highly recommend the Samsung T5 since it is incredibly fast, big enough for storing lots of games, and uses a USB Type-C cable that is directly compatible with your Macbook.
- A wired external keyboard and mouse that you can plug into your mac somehow. I use a USB type-C dock that has a number of USB ports for this.
- (optional) A very large external hard drive to back up your Windows To Go installation once you get it working the way you want.
Directions
Note: annotated screenshots are provided below. For some reason Medium doesn’t allow embedding images in a numbered list.
- Boot into your Macbook Pro and open up the Boot Camp Assistant, but do not continue with the wizard or install Boot Camp! Instead go to the “Action” menu and select “Download Windows support Software”. This will download a zip file containing some drivers we will need later on Windows. Upload the zip to Google drive or some service you can use to access the file later on your Windows installation.
- Boot into your alternate Windows 10 machine. Press the Start button and type in “partition”. The entry “create and format hard disk partitions” should show up. Open this.
- Find your target drive in the list, delete any existing partitions and format the drive to use the GPT partitioning scheme. You may need to go into Linux or GParted and use a non-Windows disk utility to do this. You can also consult this guide to learn more. If this is a fresh disk, simply initialize the disk using GPT and you should be good to go.
- Create a ~300 MB FAT32 partition on your target drive called “EFI System” at the beginning of the drive. I like to do 1000 MB because I triple boot with various Linux OSes and Linux likes to fill up the EFI partition with old kernel backups.
- Right-click the newly-created partition and select “Format”. This time type in “EFI System Partition” and otherwise use the same options as before. You will get an error message, and the partition manager may crash, but this will trick Windows into creating a proper EFI System Partition (normally you can’t format or touch them).
- Re-open the partitioning tool if necessary and create a large NTFS partition on the target drive to hold your Windows installation. You might as well fill up the rest of the drive if you aren’t going to dual boot something else onto it.
- Download the x64 (64-bit) copy of the Windows 10 1803 (April) ISO from Microsoft or wherever you can find it. Currently you can download it from Microsoft by going to their ISO download page from a non-Windows machine, or by using the trick described here. The 1809 (October) version will not work without the paid version of WinToUsb mentioned below, so if you wan’t to pay $30 you can go with the latest ISO file.
- Download and run Hasleo WinToUsb Creator (free). No you can’t use something else like Rufus, Pendrivelinux, Unetbootin, or Etcher.io. They don’t do the same thing and aren’t able to install Windows To Go.
- Select the ISO file you downloaded in step 7, select your desired version of Windows (you should select something you have a key for, though you won’t need a key until Windows bothers you later), and press “Next”.
- Select your EFI System Partition as the ESP partition (first one) and the larger NTFS partition as the boot partition (second one).
- Press “Next” and WinToUsb will start installing Windows on your drive.
- After WinToUsb installation completes (100%), restart your computer and boot into the newly created drive (you will have to select the external drive as the boot device however your machines lets you do that, in my case spamming F12 during boot)
- Go through the Windows setup, create your account, restart however many times is necessary, etc., and finally boot into your newly created windows installation (once again by selecting your drive at boot time)
- Connect to the internet and download the WindowsSupport.zip file we uploaded to google drive in the first step and put it on your Desktop.
- Also go to the AMD website and download the specific drivers for your GPU. You can go to this page to select the drivers for a particular model. Make sure you download the version for 64bit Windows 10 to your Desktop. Do not install the drivers yet.
- Now go to Start and type in “windows features” and open up “Turn Windows features on or off”.
- Expand the item that says “Device Lockdown”, fill in the check next to “Unbranded Boot” and press OK. Wait as the feature is installed.
- Now open an administrator command prompt, type in “bcdedit.exe -set {globalsettings} bootuxdisabled on” and press [ENTER].
- Now shut down and safely remove the external hard drive / USB drive and plug it into your (turned off) mac. Unplug the eGPU from the mac if it is not already unplugged. Also plug your external keyboard and mouse into your mac. Keep the left USB type-C port closest to the screen available for later when you plug in the eGPU. Only ever use the eGPU on this port.
- Turn on the mac and hold down the option key until you are presented with boot options. You should see “EFI System” as an option. Select it and Windows will now boot. From here you will need to use the external mouse and keyboard as we have not installed any drivers that would allow Windows to recognize the proprietary Apple keyboard and touchpad. You also won’t have wifi/ethernet drivers yet.
- Once in Windows, plug the eGPU into the mac. It should turn on but otherwise nothing else should happen.
- Run the installer for the AMD drivers you downloaded previously. It should be able to detect your GPU since it is plugged in. Skip Radeon ReLive as it is not necessary.
- Restart the mac and once again boot into the Windows installation. Give it a few minutes to blink and sputter. The monitor will turn off and on a few times and eventually you will end up with a blank screen on your mac and a blank screen on your external monitor. If you move the mouse around the mouse will eventually go onto the external monitor. This means the eGPU is working.
- Press Windows Key + P several times and possibly Windows P + Right Arrow + Enter. Do this until you get the Windows login screen on the external monitor. Now restart the computer and boot into Windows once again.
- Now we need to install the Boot Camp Support Software. Extract the WindowsSupport.zip file. Open the WindowsSupport/Bootcamp/Drivers directory. Delete the folder named “AMD”. Also delete the “Intel/Chipset” directory. If you do not delete these folders you will bork your installation and you will have to start over again!!!
- Now run the Setup.exe file in WindowsSupport/Bootcamp. After the installer finishes, restart Windows. Now your touchbar and built-in mac devices like keyboard, touchpad, wifi, etc., (except, of course, for the built-in monitor) should all work perfectly. You can also now use the Windows installation in laptop-mode without the eGPU plugged in and everything will work perfectly.
- That’s it!! You will probably want to get Windows updates, install some games and maybe benchmark your GPU to make sure everything is working properly. You can also use your Windows flash drive / external drive on other machines, and bring it back to your Mac and still use the eGPU and external monitor!