Error “800f0900” means 'an unknown error occured' . This error is very generic and even after a deep search on the internet i can't find a common reason for this issue. Most of the people who suffered this issue are able to solve it by running "Windows Update readiness tool. Since you already tried that and 'MS Fixit ' it is out of question.
Some malwares are known to block Windows update. Scan your system with "MAlwareBytes free" , "Superantispyware free" and ESET online scanner (one after other)
This error code actually maps to CBS_E_XML_PARSER_FAILURE.
However, you are absolutely correct with your research in System Update Readiness Tool. That is absolutely the correct and needed next-step here.
We have already gathered (well, I've told you ) that this is an XML file corruption. There are only two types of file which are XML files and are likely to become corrupt in this way (you'll have to trust me again here ): .mum, and .manifest files.
.mum files need to be replaced as a pair with .cat files, however, I suspect that there are either no or fewer corrupt .cat files here otherwise the error code would likely to be 0x800B0100 (another you'll have to trust me here ).
Fortunately, System Update Readiness Tool scans for corruption in .mum, .cat, and .manifest files. So great, you might think!
So, why does this System Update Readiness Tool fix only sometimes work? Well, the deal is, good replacements have to be sourced for these corrupt files from somewhere. The System Update Readiness Tool carries a large collection of replacement files which it uses (this is why it is so large and why it grows each update - each update adds files from ~the last 2 months). But the problem is, if your corruption comes from an update inside the last two months, or a rarer file, the System Update Readiness Tool won't be able to fix your problem. Detect, yes. Fix, no.
Fortunately, there is good news! As I've already said, it can detect all corruptions. So, the deal is, you get me the log, and I'll manually fix the rest - the ones it doesn't carry in its payload.
And that should be job done
[there is of course the chance that there is a worse corruption in addition to this small corruption, but let's hope not ]
So, @sirot655, please upload a copy of C:\Windows\Logs\CBS\CheckSUR.persist.log.