If a reboot does not work
If you’ve encountered the “There is a system repair pending which requires reboot to complete” error, you’re probably trying to run the System File Checker (SFC). The reason for this error is that a previous repair is still incomplete. Until you complete the pending system repair, you won’t be able to run the SFC utility successfully.
In most cases, the error is easy to fix and doesn’t require any major troubleshooting. A reboot can resolve the issue, but if it doesn’t, there are other fixes you can try. Below, we discuss the most common ways to address this error.
Use DISM
DISM (Deployment Image Servicing and Management) is a built-in command-line utility on Windows used to service system images. It’s a powerful tool for solving a broad range of issues.
In the context of SFC, there are two DISM commands you may want to try. First, you want to use the /restorehealth parameter. If that doesn’t work, you might try using the /revertpendingactions parameter.
- Press Win + R, type cmd, and press Enter to launch Command Prompt.
- Execute the following command:
DISM.exe /Online /Cleanup-Image /Restorehealth
Once DISM completes the process, try running a SFC scan and see if it works. If it doesn’t, try executing the following command:
DISM.exe /image:C: /cleanup-image /revertpendingactions
(replace C with the drive letter where Windows is installed)
Reboot Windows and rerun SFC.
If you can’t boot into windows, you’ll need to launch a Command Prompt window from the Safe Mode or Recovery Environment. If you use the recovery environment, just navigate to Troubleshoot > Advanced Options > Command Prompt.
Delete a Few Files
Start by deleting files that track the system restore process. If the file has become corrupt, it might be causing the “there is a system repair pending” error, and deleting it might just resolve the issue.
You need to delete the file named pending.xml. The file is stored in the following path on your computer:
C:WindowsWinSxSPending.xml
(replace C with the drive letter where Windows is installed)
You can delete this file using the Command Prompt like so:
- Press Win + R, type cmd, and press Enter to launch Command Prompt.
- Execute the following command:
del c:windowswinsxspending.xml
Once the XML file is deleted, run the following command:
sfc /scannow /offbootdir=c: /offwindir=d:windows
You might even consider deleting the whole WinSxS folder while you’re at it for some regular PC maintenance. Hopefully, the SFC scan will work fine now.
Update Drivers
A corrupt driver might be the culprit if the SFC problem is accompanied by other signs like a piece of hardware not functioning properly or frequent Blue Screens of Death. The easiest fix is to update the drivers.
Windows Update typically ensures your drivers are up to date. If you’ve disabled automatic updates, here is how you can update Windows 10 or 11:
- Press Win + I to launch the Settings app.
- Select Windows Update from the left sidebar if you’re running Windows 11.
If you’re on Windows 10, you’ll need to navigate to Update & Security > Windows Update. However, Microsoft no longer supports Windows 7 and 8, so skip to the following method if you’re using one of these.
- Select Check for updates.
If Windows finds updates, install them.
You might specifically want to pay attention to your graphics driver. If an update isn’t available, go ahead and reinstall it:
- Press Win + R, type devmgmt.msc, and press Enter to launch the Device Manager.
- Expand the list of Display adapters, right-click on the graphics driver, and select Uninstall.
- Select Action from the top ribbon and select Scan for hardware changes.
Doing this will automatically reinstall the latest driver for your graphics device.
Try running the SFC scan once you’ve completed updating or reinstalling problematic drivers.
Tweak Registry Settings
Windows uses a “RebootPending” registry key to keep tabs on programs that request a reboot. It’s essentially a queue of programs that require a reboot, and when something changes that queue, it can lead to problems like the “there is a system repair pending” error while running SFC.
The easy way to fix the problem is to delete the “RebootPending” key like so:
- Press Win + R, type regedit, and press Enter to launch the Registry Editor.
- Copy and paste the following into the Registry Editor’s navigation bar:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
- Right-click on CurrentVersion and select Permissions.
- Select your username from the list, check the box next to Full control, and select OK to save and exit the window.
- Look for a key named RebootPending in the right pane and delete the key. When prompted for confirmation, provide it.
Reboot your PC and retry running the SFC command.
Change SATA Setting in BIOS
Some users report configuring SATA as IDE instead of AHCI resolves the problem. The cause seems to be the changes Microsoft made to hard drive bus driver classes. Note that it’s best to try using the other fixes before tinkering with the BIOS settings. If you haven’t had luck with previous methods, give this method a go:
- Start by shutting down the PC.
- Press the power button again. You’ll need to press the BIOS key quickly. The tricky part is that the BIOS key differs among manufacturers, but it’s typically the Del, Esc, F1, F10, or F12. You might want to check our complete guide on how to enter BIOS if none of the keys worked for you.
- Next, you’ll need to find the SATA option in the BIOS firmware. Again, the option may be in a different section based on your BIOS firmware. The best way to find the option is just to explore the firmware and look for words like SATA, IDE, and AHCI. Once you find the option, change the SATA setting to IDE.
- Save changes and exit the BIOS, and boot into your PC.
Hopefully, that will fix the “SFC /scannow there is a system repair pending” issue.
Check and Fix System Files with SFC
It’s typically easy to fix Windows file system errors with SFC. But it can be frustrating when SFC itself results in an error instead of fixing the one you already have. The good thing is, fixing the SFC error is pretty straightforward. Hopefully, you were able to fix the “There is a system repair pending” error.