You could open a Command Prompt (Admin) and see what these cmds can do/report.
sfc /scannow
dism /online /cleanup-image /startcomponentcleanup
dism /online /cleanup-image /restorehealth
sfc /scannow
The /restorehealth can appear to hang at 20% but does complete.
If the first sfc reports problems, then the following two dism cmds can sort things (but not always) and the second sfc will show if there's still a problem or not, depending upon what it reported first time around - but the error code could just as well have been generated because of busy servers, so it could be a case of trial & error.