I stumbled upon this problem when i was at a customer this week creating a Windows 8.1 image and was going to make the Microsoft Surface 2 Pro certified for deploying via CM2012R2.
As everyone knows the Surface 2 Pro uses UEFI and has no bios, and I constantly ran into different problems when trying to apply the operating system to the UEFI formated disk.
The error I got was the following (one of them after trying different fixes). ( the interesting part is highlighted with bold)
The task sequence execution engine failed executing the action (Apply Windows 8.1 Enterprise X64) in the group (Install) with the error code 2147942487
Action output: Command line for extension .exe is ”%1” %*
Set command line: ”OSDApplyOS.exe” /image:S02001F0,1 ”/config:S02001F6,Unattend.xml” /target:%OSDisk% /runfromnet:False
((g_Target.Disk > 0) || (arg == L”0″)) && (g_Target.Partition >= c_MinPartition), HRESULT=80070057 (e:\nts_sccm_release\sms\client\osdeployment\applyos\applyos.cpp,254)
ParseCommandLine(), HRESULT=80070057 (e:\nts_sccm_release\sms\client\osdeployment\applyos\applyos.cpp,429)
The /target parameter specifies an invalid target location.. The operating system reported error 2147942487: The parameter is incorrect.
So if we take a look at the default MDT Task Sequence in ConfigMGR ( note, that this problem only occurs on SCCM 2012 RTM , AND if you upgrade from RTM to a newer version)
The default looks like this, and this will break the first step in the UEFI deployment.
What we need to do there is to remove everything EXEPT the last step. ON BOTH STEPS that are enclosed with red.
When those are removed double click the OSdisk step and change the following. Change it to OSDISK, and as you probably figured out by now… THIS is what breaks it, the value here is not OSDisk but OSDTemporaryDrive…
The next step is to change the second part of the UEFI disk format step under the “Format disk” step. Make sure the “MAKE THIS THE BOOT DISK” is checked, this is NOT checked on RTM and will break the “apply OS” step later in the TS.
Also make sure the OSDisk Primary also uses the variable OSDisk!
Next step we need to change is the “Preserve driver letter” step in the sequence so that the image applies to the driver letter we actually created the reference image from. THIS CAN BREAK the TS if you are running Windows 7 deployment and uses the original .WIM from the source media ( NEVER DO THIS always create a reference image). Change the value from FALSE to TRUE.
The next step is to change the “apply operating system” and change the destination to logical driver letter stored in a variable to OSDisk.