The System File Checker (SFC) feature in Windows is an automated utility that scans Windows system files for possible corruption, and replaces damaged or missing files. Malware or even power outages can damage such files, and running the following code in the command line can sometimes be a quick remedy for BSODs (Blue Screen of Death) and other crashes.
sfc /scannowIf your machine is all good, it should display the following. If not, it should fix the problems and create a status report.
Windows Resource Protection did not find any integrity violations.Now, that's all good if only you could actually boot into Windows or Safe Mode. I couldn't (it crashed every time at "Starting Windows"), so I had to use Repair Mode. That in itself is quite simple - continously tap F8 when the BIOS image loads up, then choose "Repair Your Computer". Log in, and then click on "Command Prompt" in the System Recovery Options menu.
Once you've opened the prompt, you may have noticed that the drive letter is not set at C:\ like it normally is in Windows, but rather at X:\. That is the virtual drive Windows creates when booting in recovery. We need to find out our "real" drive by entering the following commands:
diskpart list volumeYou should then see something similar to this:
Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 E DVD-ROM 0 B No Media Volume 1 C HDD NTFS Partition 1397 GB Healthy Volume 2 D Primary SSD NTFS Partition 55 GB HealthyBy looking at the drive label and size, we can distinguish the letter of our system drive. In my case, my "Primary SSD" was switched from its original letter (C) to (D). Once you've found your drive, enter the following code (replace D: with your drive letter):
sfc /scannow /offbootdir=D:\ /offwindir=D:\windowsIf you just ran sfc /scannow directly, it would scan the virtual drive and not your real drive for errors. Using offbootdir and offwindir aims the scanner towards the true directory, where your corrupted files are.
That's all good - unless you get the following error.
There is a system repair pending which requires reboot to complete. Restart Windows and run sfc again.Of course, I rebooted and got the same message. Other sources told me to rename the files pending.xml and reboot.xml from C:\Windows\winsxs, but I didn't have the pending.xml file (and getting rid of reboot.xml did absolutely nothing).
The trick here is to not rename the pending.xml file on the real system drive, but rather take care of the one in the "virtual" X:\ drive used in Repair Mode. Try the following code, and run SFC again. It should then work.
cd X:\Windows\winsxs ren pending.xml pending.xml.oldI think this works since the problem lies in the virtual system itself. If you run a regular sfc /scannow (without the offbootdir flag, meaning that it's scanning the virtual drive) the problem persists. Renaming pending.xml fixes the problem for all drives, and allows you to scan the files for possible corruption. SFC can't solve everything, but it's worth a try. It's way faster and easier than a full reinstall.