

Check out EFF cover your tracks: https://coveryourtracks.eff.org/
The results are very interesting. For me, the most unique thing about my browser was that I had two system languages, and so the accept-language header was very unique.
I now use vanadium (graphene OS), which simply sends made up values for a lot of headers, and so makes fingerprinting harder.
In general, you should try to be as “normal” as possible, use standard settings for everything, just accept English, etc…
Basically it works by every component validating the next one before loading it.
They do this by checking a cryptographic signature. Specifically, UEFI checks that the bootloader is signed by a certificate that is in turn signed by a certificate authority (CA). You can upload custom CA keys in the UEFI interface.
Per default, every UEFI ships with the Microsoft CA. That does not mean you can only run secureboot with Windows and you absolutely should enable secureboot on every machine you own. Microsoft does sign other signing keys allowing them to be also used with secureboot. For example, every major Linux distro has keys signed by the Microsoft CA and so secureboot works out of the box with those.
Even if you have an OS that does not have a signing key signed by the Microsoft CA, you can upload your own secureboot keys to get around that.
It should be pretty clear at this point that all of this is pointless if you do not set a UEFI password.