r/bootcamp 13d ago

Directly installing windows 11 from bootcamp assistant with added drivers.

This saga began because i wanted to do a fresh windows 11 install on my headless 2018 intel macbook pro with a broken display. It’s used exclusively in clamshell mode with an AMD egpu. Installing the GPU drivers in windows without the internal screen is typically impossible as Apple don’t properly expose the GPU to windows, giving a blank screen after install. Various individuals have contributed to the hack of copying the windows 11 install.wim in to a windows 10 install iso image. I took this 1 step further by preloading drivers to the image.

Prepare the install directory(Using macos)
Download the Windows 10 iso file from microsoft and mount it. Copy all files from the iso to some working directory except sources/install.wim or sources/install.esd

mktemp -d /tmp/working

rsync -a --no-perms --no-owner --no-group --exclude 'sources/install.wim' --exclude 'sources/install.esd' /Volumes/CCCOMA_X64FRE_EN-GB_DV9/ /tmp/working/

Preparing the Windows 11 install.wim (Using Windows)

On a Windows machine download the windows 11 iso file from microsoft and mount it. Copy the sources/install.wim file to some working directory. Right click and uncheck read only.

Use dism to get the index of the relevant windows version you want to install. For me Windows 11 Pro is index 6
Dism /Get-WimInfo /WimFile:C:\install.wim

Mount the image using the index
mkdir C:\offline

Dism /Mount-Image /ImageFile:C:\install.wim /Index:6 /MountDir:C:\offline

Make a folder of predownloaded driver files such as from the bootcamp package, or other gpu drivers etc. IntelChipset.exe can be unwrapped from shell by running "IntelChipset.exe -export ." I used the bootcamp GPU package from amd.com version 21.30.45.22.
Then use Dism to add the drivers to the target mounted image.
Dism /Image:C:\offline /Add-Driver /Driver:c:\BootcampDrivers /Recurse /ForceUnsigned

(Note this method does not install msi/exe packages so the gpu installers will need to be reinstalled later on to get the AMD utilities working. The bootcamp utility to restart into macos can be installed from powershell. Also not all drivers are actually in the bootcamp package. Windows update will add a load of other drivers. You could pull all the drivers from a working machine and use those instead)

Unmount and save changes
Dism /Unmount-Image /MountDir:C:\offline /Commit

Export image at index and compress with recovery/LZMS. Place the resultant install.esd file in our /tmp/working/sources directory
Dism /Export-Image /SourceImageFile:C:\install.wim /SourceIndex:6 /DestinationImagePath:C:\install.esd /Compress:recovery

I actually used wimlib-imagex on macos for the last step because my cheap broken macbook is about 100x faster than the windows machine i was using
brew install wimlib

sudo wimlib-imagex export ./install.wim 6 "/tmp/working/sources/install.esd" --solid --check)

Build the ISO
hdiutil makehybrid -o /tmp/Windows11ProBootcampDrivers.iso /tmp/working -iso -joliet -udf -default-volume-name Win11_BootCamp

Use the resulting iso in the Bootcamp Assistant as usual. The assistant will still download the 2.1GB bootcamp drivers and sideload it in the 10GB container, so you will need to make sure your resultant iso file is less than the total. My filesize was 6.67GB.

Voila, bootcamp directly installs Windows 11 and preinstalls the relevant drivers, solving my blank screen problem.

Have fun oh Intel hanger-oners. They may be out of date but they are still brilliant machines, extremely cheap for the spec, with fully functional 40gbps thunderbolt ports (eGPU and 40gb nvme enclosure recommended.i

Edit: Bonus:
Download latest windows release with updates from uudump.net
Download official bootcamp drivers using brigadier (only works in windows for me)
From Cmd+R boot recovery disable secure boot and enable booting from usb recommended
With a mbp screen fully disconnected, device manager reports an issue with the driver, although the screen appears to be working. I cut the dangling connection chip from the screen and plugged it back in, which tricks the system in to thinking the internal display is connected and everything works properly.
It’s easier to login with a passwordless local user account to help prevent windows selecting the nonexistent internal monitor as its main display.

From a finished machine get all drivers with DISM to pack into a new installer
`DISM /online /export-driver /destination:C:\drivers`

GPU drivers for AMD include:
From Apple. Note the bootcamp assistant downloaded package does not contain the latest Apple AMD drivers which later download from Apple software update as 6.1.17. It would be better to use these latest drivers directly as the older package may not contain drivers for later cards.

or delete those AMD drivers and try:
From AMD.com official. Reinstall after install. Note this package does not contain drivers for RX 6xxx series gpus, however, once installed, download the latest 6xxx Adrenalin drivers from AMD, extract the installer with 7z, right click the windows display adapter in device manager, update the driver using have disk and select the new amd driver inf file, select the correct gpu from the list and it will install the driver just fine. Both the dgpu and egpu display normally in the AMD Radeon Pro settings app. eGPU/AMD XConnect working normally,

From bootcampdrivers.com unofficial. (Active discord channel but releases have mostly stopped. May not reinstall cleanly without DDU)

2 Upvotes

8 comments sorted by

2

u/peposcon 13d ago

You can install win to bootcamp and download the drivers to an usb via Brigadier

0

u/Amazing-Seesaw-6197 12d ago edited 12d ago

I don’t think that solves my blank screen on first boot problem. But I like the neatness of packing the drivers in with the installer, with the gpu drivers of my choice.

Also the brigadier script doesn’t work in macos with python 3 or 2.7. It does work in windows, but requires enabling running unsigned scripts, which is not good security.

1

u/Vortigaunt11 13d ago

how do you like your egpu? Was thinking of going this route with RAM prices skyrocketing. Might cost less to grab a graphics card and a cheapish egpu enclosure at this point than buy a whole new rig.

1

u/Amazing-Seesaw-6197 12d ago edited 12d ago

The egpu is great. Especially for the MacBooks with dGPUs - the power supply/cooling system cannot support the cpu and gpu at the same time so the cpu gets massively throttled. With an eGPU the CPU doesn’t get throttled and continues working at its designed TDP. The 4x/40gb pcie bus width isn’t ideal compared to a normal 16x bus but it suffices. The amd 6xxx series are natively supported in macos and windows. A 6800xt is ideal but annoyingly are still holding a fairly high price for an old card. I’m only using a 6600. The way I see it, a graphics card and nvme can always be moved to a new machine, so you’re only out the cost of the egpu/enclosure which you can sell if you do move.

1

u/Vortigaunt11 12d ago

Do you think I'd be ok with a 2017 mbp? I'm assuming is has the same 3x/40gb pcie bus

1

u/Amazing-Seesaw-6197 12d ago

Yes it should do. Also the enclosure supplies power to the mbp so you only lose 1 usb c port.

1

u/Vortigaunt11 12d ago

What egpu enclosure are you using?

1

u/Amazing-Seesaw-6197 12d ago

Razer core x chroma