Recently attempting to repair a Windows 8.1 laptop, having trouble running sfc /scannow from a repair cd with this error:
“There is a system repair pending which requires reboot to complete. Restart Windows and run sfc again.”
Doing some searching I managed to find this useful tip and thought it was worth a share:
This error indicates that incorrect arguments were given, or there is a file that needs to be removed or renamed in the \Windows\winsxs\pending.xml path. For this installation, this is D:\Windows\winsxs\pending.xml.
For this particular system, this is the correct command to run based on the output of diskpart above
sfc /SCANNOW /OFFBOOTDIR=c:\ /OFFWINDIR=e:\Windows
In the above example, OFFBOOTDIR should be the 100mb boot partition and OFFWINDIR should be your Windows directory.