After upgrading to SCCM 2012 SP1 our OSD process was failing due to Windows coming up after mini setup still using the D: drive versus the expected C: drive.
After some digging I found the culprite in the Task Sequence. There is a Task called “Set Variable for Drive Letter” which sets the OSD Variable “OSDPreserveDriveLetter=False”
This is new functionality in SP1 that allows you to override the drive letter (using variable OSDisk) versus the old method that would always use the drive letter from the WIM file (the drive it was captured on).
After disabling this step, all was right with the world again as I do want to always use the C: drive from my WIM image. 😉
Hope this helps someone else!
More info about this variable can be found here: