0xc0000098 Error PXE booting a client in SCCM 2012 R2

Our SCCM PXE boot system broke recently, and started flagging up the above error code- something about the \tmp\x86x64{…..}.bcd file not containing a valid OS entry for the client.

Went through everything I found on the internet: stopped PXE, watched WDS uninstall, Rename RemoteInstall, start PXE, watch WDS re-install, delete all the boot images, re-import boot images, uninstall ADK8.1, reboot, re-install ADK8.1 etc etc. Nothing, which was getting more and more frustrating.

Turns out… I think either the existing boot images had been corrupted, or the task sequences had lost their link to the boot images, or both.

(1) disable all existing task sequences- just disable so they’re there when things work again;

(2) delete the existing boot images from SCCM, extract known good ADK boot images for x86 and amd64 using copype.cmd;

(3) Re-import these two boot images, alter them so they respond to PXE requests, distribute them to whatever DPs necessary (we only have one SCCM server doing everything). Make sure they are the real ADK boot images- they should only offer a single image, which is WinPE- trying to use an OS Boot image that has a second, Setup image can cause problems;

(4) At this point, PXE should boot but will exit straight away as there are no advertisements- this is a good thing;

(5) pick a task sequence, enable it, right-click it and choose properties, then go to the advanced tab and point it to the right boot image (x64 for a 64-bit OS, x86 for a 32-bit OS);

(6) with a bit of luck, you can boot into WinPE and get your chosen task to display in the menu. If this works, just go around pointing all other task sequences at the correct bit version and re-enable them;

I still have absolutely no idea why this broke- if I hadn’t got way-laid by all the “get-rid-of-PXE-WDS-ADK-and-put-them-back-again-posts” on the internet I might have looked more cautiously first and either spotted the task sequences not having a boot image, or the boot images themselves being corrupt or inappropriate in some way.

It’s really important to get just a single-image WinPE boot WIMs from the ADK; I know you can use and create other WIMs, but I got into a knot where my x64 OS boot WIM insisted on using the Windows setup image in the WIM rather than the WinPE image, and actually wouldn’t let me pick the WinPE image because it told me it was already in use.

This isn’t actually all that big a deal (despite it having just swallowed 3 days of my life): start with clean ADK boot images, and point all your task sequences at one or the other. If I’d known this last Tuesday morning I’d have saved a lot of time.