Opencore 0.6.3 allows you to work around CFG lock by giving you these values AppleXcpmCfgLock and AppleCpuPmCfgLock in Kernel > Quirks. However, the community seem to think this might cause instability issues so you might want to disable this CFG Lock in your BIOS and set those values to false
https://preview.redd.it/1a2v0fxqsb261.png?width=512&format=png&auto=webp&s=53c0d103929247ac510f4e7e3bde7b1f440074ca
I used the following guides to help me disable CFG lock on my Dell T7810. There is no one guide that works on this machine so I had to get all my clues from multiple guides
First, I looked at this Dortania guidehttps://dortania.github.io/OpenCore-Post-Install/misc/msr-lock.html
However, it hints that it doesnt work on Dell, it provides a link to a guide for Dell called dreamwhite’s guide
https://github.com/dreamwhite/bios-extraction-guide/tree/master/Dell
Finally I used some clue from this Reddit post as well
https://www.reddit.com/r/hackintosh/comments/hz2rtm/cfg_lockunlocking_alternative_method/
So far, we have 3 places: Dortania, dreamwhite, and Reddit
At a high level, you need to do these 2 steps in order to disable your CFG Lock:
- Get the memory location of the value that points to CFG Lock in your BIOS
- Change that value from enabled to disabled
You need to know these 2 steps at high level to make this work. It allows you to fill in the gap if my instruction is missing something.
For example: I dont cover installing python here but as long as you know where you are at in the high level overview, you should not get lost.
Get the memory location of the value that points to CFG Lock in your BIOS
I used the dreamwhite’s guide but I ran into an issue at the very first step there. When I run this command in Ubuntu, I get some kind of error about DOCTYPE. Like it could not parse some html file
python3 Dell_PFS_Extract.py <BIOS_UPGRADE.EXE>
I realize now that I can use that python script in Windows and Mac successfully. I can also extract the exe file in Windows using an app called 7-Zip
Once extracted, theres a bunch of files, one of them should have a name that tells you its modifying System BIOS. In my case, mine is named 1- 1 System BIOS vA.27.bin
. I know its important because its 8MB while the other files are smaller. (One other file is 9MB but it has something to do with Intel Management Engine so its not relevant)
https://preview.redd.it/gcr2auossb261.png?width=512&format=png&auto=webp&s=ced19b8af8f2f8c3fa1d202a9c35372a377e0634
All the 3 guides above say you need to run UEFITool, so download and run that. Open the .bin file I referenced above.
Go to menu Action > Search
All other guides say to search for “CFG Lock” but for our BIOS, we will search for “MSR Lock”. For me, I got something like this:
Unicode text "MSR Lock" in Compressed section/PE32 image section at header-offset 76B18h
https://preview.redd.it/kd6o4uplsb261.png?width=512&format=png&auto=webp&s=2ce796a358250ef601291e80d6003125f19f217b
Double click on that string, it should expand the structure of the BIOS. It should tell you that string is located under … Platform > Compressed section > PE32 image section
https://preview.redd.it/0u9nihfnsb261.png?width=512&format=png&auto=webp&s=1c3cbe728e1dbc1574af75767b32f7b9c3390653
Right click on “PE32 image section”, then select “extract as is”. Now I get a file named Section_PE32_image_Platform_Platform.sct
In the dreamwhite’s guide, theres a link to a script called IRExtractor. Open that app, load the sct file. Then click on extract. You should get a .txt file
https://preview.redd.it/sto7comxsb261.png?width=339&format=png&auto=webp&s=fca34792bd3902dff5c2782e9772acf9eda17335
Open that text file, search for “MSR Lock” again, you will get something like this
0x36DC8 One Of: MSR Lock Control, VarStoreInfo (VarOffset/VarName): 0x72, VarStore: 0x1, QuestionId: 0xBF9, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 7B 11 7C 11 F9 0B 01 00 72 00 10 10 00 01 00}
0x36DD9 One Of Option: Disable, Value (8 bit): 0x0 (default MFG) {09 07 41 0A 20 00 00}
0x36DE0 One Of Option: E