小米笔记本Pro GTX修改BIOS

Created
Aug 28, 2021 02:27 AM
Tags
BIOS
Published
Aug 28, 2021
Description
修改BIOS,提高DVMT达到64MB,去除CFG Lock,启用Intel Speed Shift Technology,(可能)解除电压限制
对应的BIOS版本是P0C05

准备

下载这个目录下面的文件,需要使用H2OUVE.exe进行BIOS的读取与写入

读取

对于DVMT,需要修改 SaSetup 区域的值
💡
后面的命令都需要使用管理员身份
读取 SaSetup 中的值
-gv 是读取, -sv 是写入
./h2ouve -gv SaSetup_var.txt -n SaSetup
读取 CpuSetup 中的值
./h2ouve -gv CpuSetup_var.txt -n CpuSetup

修改

DVMT

0xDF 块的值默认为 0x01 将其修改为 0x02 设置DVMT为64MB
[01C] "SaSetup"
     GUID: 72C5E28C-7783-43A1-8767-FAD73FCCAFA4
     Attributes: 0x7
     DataSize: 0x1EC
     Data:
           00000000: 09 00 00 00 00 00 00 00 00 01 02 02 00 01 00 00 
           00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           00000020: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           00000030: 00 17 59 00 00 00 00 01 02 00 00 00 00 00 01 03 
           00000040: 00 03 01 01 01 00 01 FF 01 FF 00 00 00 00 00 04 
           00000050: 04 04 03 03 03 02 02 02 00 00 00 00 00 00 01 01 
           00000060: 01 00 00 00 00 00 00 00 02 02 02 01 01 01 FF FF 
           00000070: FF 01 01 01 01 01 01 01 07 07 07 07 07 07 07 07 
           00000080: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 
           00000090: 07 07 07 07 07 07 07 07 02 02 02 02 02 02 02 02 
           000000A0: 02 02 02 02 02 02 02 02 00 00 00 00 00 00 00 00 
           000000B0: 00 B8 0B 00 00 01 02 00 00 02 10 27 02 00 02 00 
           000000C0: 00 00 00 00 00 4B 4B 4B 01 00 02 00 03 00 00 00 
           000000D0: 00 0A 00 0A 00 0A 00 04 04 04 00 1A 00 0B 00 [01]=>[02] 
           000000E0: 02 00 00 01 00 01 01 02 00 00 00 01 00 00 01 02 
           000000F0: 00 01 04 04 04 04 07 07 07 07 02 02 02 02 03 03 
           00000100: 02 00 01 01 04 02 2C 01 64 00 02 1F 00 01 00 60 
           00000110: 09 00 00 01 01 00 00 02 01 20 03 00 00 18 01 07 
           00000120: 00 01 00 01 01 00 01 00 00 04 0C 00 00 00 00 00 
           00000130: 01 01 01 01 01 01 01 01 01 01 01 01 00 01 01 01 
           00000140: 01 01 01 01 01 01 01 01 01 00 00 01 01 01 00 01 
           00000150: 01 01 00 00 00 01 01 00 01 01 00 04 00 00 00 01 
           00000160: 0A 00 DE 00 00 00 00 00 00 FF FF FF FF FF FF FF 
           00000170: FF FF FF FF FF FF FF FF FF 0A 0A 06 06 AC AC D4 
           00000180: D4 DD DD 0A 0A 06 06 AC AC D4 D4 DD DD 01 00 02 
           00000190: 00 30 01 40 00 00 00 00 00 01 00 00 00 01 00 01 
           000001A0: 00 0B 01 01 00 00 01 00 00 00 00 00 00 00 00 00 
           000001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           000001C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           000001D0: 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 
           000001E0: 00 00 00 00 00 00 00 00 00 00 00 00

CFG、SpeedShift、Voltage Lock

0x3C 块的值默认为 0x01 将其修改为 0x00 关闭CFG锁
0xB 块的值默认为 0x00 将其修改为 0x01 以开启 SpeedShift
0xEB 块的值默认为 0x01 将其修改为 0x00 关闭电压锁
[034] "CpuSetup"
     GUID: B08F97FF-E6E8-4193-A997-5E9E9B0ADB32
     Attributes: 0x7
     DataSize: 0x205
     Data:
           00000000: 0B 14 14 00 01 01 00 00 00 01 01 [00]=>[01] 01 01 01 01 
           00000010: 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 
           00000020: 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 
           00000030: 00 00 00 00 00 01 01 03 03 02 02 01 [01]=>[00] 00 00 00 
           00000040: 00 00 04 01 07 02 02 02 02 02 02 4E 00 76 00 94 
           00000050: 00 FA 00 4C 01 F2 03 A8 61 00 00 38 C7 00 00 30 
           00000060: 00 A8 61 00 00 00 00 00 00 00 00 A8 61 00 00 00 
           00000070: 00 00 00 00 00 00 01 01 00 00 00 02 00 00 00 00 
           00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 
           000000D0: 01 00 00 01 01 00 00 00 00 00 00 00 01 01 00 01 
           000000E0: 01 14 28 28 25 25 28 28 25 25 00 [01]=>[00] 00 00 01 00 
           000000F0: 00 00 02 00 00 00 00 00 00 27 8F A4 5F 8D FD 3D 
           00000100: 55 C1 FD 4B BE B9 67 67 D7 02 02 00 FF 00 00 00 
           00000110: 00 00 00 00 01 01 01 01 06 04 F0 00 36 01 36 01 
           00000120: 06 04 F0 00 36 01 36 01 50 00 00 00 00 00 00 00 
           00000130: 14 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 
           00000140: 01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00 
           00000150: 00 00 00 00 00 00 00 00 18 00 00 01 7C 00 7C 00 
           00000160: F0 05 F0 05 F0 05 F0 05 00 00 50 01 90 00 90 00 
           00000170: 00 00 00 00 01 01 01 01 00 00 00 00 00 00 00 00 
           00000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           00000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           000001A0: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 
           000001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           000001C0: 00 00 00 00 00 00 02 00 00 00 00 00 01 00 00 00 
           000001D0: 03 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 
           000001E0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
           000001F0: B6 03 00 FC 03 00 00 1A 04 00 E2 04 00 00 FC 03 
           00000200: 00 00 B6 03 02

写入

写回 SaSetup
-gv 是读取, -sv 是写入
./h2ouve -sv SaSetup_var.txt -n SaSetup
写回 CpuSetup
./h2ouve -sv CpuSetup_var.txt -n CpuSetup

后记

DVMT 和 CFG Lock

DVMT和CFG是参考网上对MX250的修改文档并结合IFR得到的
在黑果下可以正常使用 1680x945、1536x864 等大于 1440x810 的分辨率的
可以应用Patch:KBL 或者 CML,就不用对着文档一个个改了

SpeedShift 和 Voltage Unlock

SpeedShift和Voltage Lock是结合MX150需要修改的部分(SpeedShiftVoltage)加上IFR得到的,这个不保证效果。但是实际上SpeedShift是开起来了
notion image
但是电压的话,使用XTU没有成功启动过,提示可能有其他的优化软件正在运行,ThrottleStop没有尝试。XTU版本 6.4.1.19、6.4.1.24
notion image
参考对于 MX250 的文档是
里面有提到如何提取BIOS并得到对应的参数的说明,IFR就是从这里面提取到的

参考

DVMT

0x14862C 			Variable 0xB35 equals 0x20 {12 06 35 0B 20 00}
0x148632 			Setting: DVMT Pre-Allocated, Variable: 0xDF {05 91 D7 11 EA 11 D8 01 02 00 DF 00 10 10 00 FE 00}
0x148643 				Default: Other {5B 85 00 00 08}
0x148648 					Value {5A 82}
0x14864A 						Variable 0xB35 equals value in list (0x73, 0x74) {14 8A 35 0B 02 00 73 00 74 00}
0x148654 							64 Bit Unsigned Int: 0x1 {45 0A 01 00 00 00 00 00 00 00}
0x14865E 							64 Bit Unsigned Int: 0x2 {45 0A 02 00 00 00 00 00 00 00}
0x148668 							Conditional {50 02}
0x14866A 						End {29 02}
0x14866C 					End {29 02}
0x14866E 				End {29 02}
0x148670 				Option: 0M, Value: 0x0 {09 07 D8 11 00 00 00}
0x148677 				Option: 32M, Value: 0x1 {09 07 D9 11 30 00 01}
0x14867E 				Option: 64M, Value: 0x2 {09 07 DA 11 00 00 02}
0x148685 				Option: 4M, Value: 0xF0 {09 07 DB 11 00 00 F0}
0x14868C 				Option: 8M, Value: 0xF1 {09 07 DC 11 00 00 F1}
0x148693 				Option: 12M, Value: 0xF2 {09 07 DD 11 00 00 F2}
0x14869A 				Option: 16M, Value: 0xF3 {09 07 DE 11 00 00 F3}
0x1486A1 				Option: 20M, Value: 0xF4 {09 07 DF 11 00 00 F4}
0x1486A8 				Option: 24M, Value: 0xF5 {09 07 E0 11 00 00 F5}
0x1486AF 				Option: 28M, Value: 0xF6 {09 07 E1 11 00 00 F6}
0x1486B6 				Option: 32M/F7, Value: 0xF7 {09 07 E2 11 00 00 F7}
0x1486BD 				Option: 36M, Value: 0xF8 {09 07 E3 11 00 00 F8}
0x1486C4 				Option: 40M, Value: 0xF9 {09 07 E4 11 00 00 F9}
0x1486CB 				Option: 44M, Value: 0xFA {09 07 E5 11 00 00 FA}
0x1486D2 				Option: 48M, Value: 0xFB {09 07 E6 11 00 00 FB}
0x1486D9 				Option: 52M, Value: 0xFC {09 07 E7 11 00 00 FC}
0x1486E0 				Option: 56M, Value: 0xFD {09 07 E8 11 00 00 FD}
0x1486E7 				Option: 60M, Value: 0xFE {09 07 E9 11 00 00 FE}
0x1486EE 			End of Options {29 02}

SpeedShift

0x14383C 			Variable 0xB9E equals 0x0 {12 06 9E 0B 00 00}
0x143842 			Setting: Intel(R) Speed Shift Technology, Variable: 0xB {05 91 42 01 43 01 7A 00 03 00 0B 00 10 10 00 01 00}
0x143853 				Option: Enabled, Value: 0x1 {09 07 03 00 00 00 01}
0x14385A 				Option: Disabled, Value: 0x0 {09 07 04 00 30 00 00}
0x143861 			End of Options {29 02}

CFG、Voltage

0x1465A8 	Form: View/Configure CPU Lock Options, Form ID: 0x1012 {01 86 12 10 D9 00}
0x1465AE 		Setting: CFG Lock, Variable: 0x3C {05 91 8E 02 8F 02 47 01 03 00 3C 00 10 10 00 01 00}
0x1465BF 			Option: Disabled, Value: 0x0 {09 07 04 00 00 00 00}
0x1465C6 			Option: Enabled, Value: 0x1 {09 07 03 00 30 00 01}
0x1465CD 		End of Options {29 02}
0x1465CF 		Setting: Overclocking Lock, Variable: 0xEB {05 91 8A 02 8B 02 48 01 03 00 EB 00 10 10 00 01 00}
0x1465E0 			Option: Disabled, Value: 0x0 {09 07 04 00 00 00 00}
0x1465E7 			Option: Enabled, Value: 0x1 {09 07 03 00 30 00 01}
0x1465EE 		End of Options {29 02}
0x1465F0 	End Form {29 02}