-
Notifications
You must be signed in to change notification settings - Fork 20
DVMT
修改DVMT可以让HDMI更好的工作。
-
Universal BIOS Backup ToolKit 2.0.exe https://www.softpedia.com/get/System/Back-Up-and-Recovery/Universal-BIOS-Backup-ToolKit.shtml
-
Universal-IFR-Extractor https://github.com/LongSoft/Universal-IFR-Extractor/releases
-
InsydeH2OUVE http://en.inspur.com/eportal/fileDir/en_active_download/biosbmc/Inspur%20TS860M5/TS860M5_BIOS_4.0.04_20190424.zip
-
具体方法可参考-> https://www.bilibili.com/read/CV4646116 或 https://www.misonsky.cn/115.html
-
提取有用的信息:
DVMT Pre-Allocated, VarStoreInfo: 0x107, VarStore: 0x2
DefaultId: 0x0, Value: 0x1
其中,VarStore:0x2
指明了该变量所在的空间(表格),VarStoreInfo:0x107
指明了该变量在表格中的偏移地址(offset),DefaultId:0x0, Value:0x1
指明了该变量的初始值,通过下表可知,0x1
代表32M
,我们需要的64M
对应的值为0x2
;
-
通过查找高级菜单(Advanced)所在的表单,找出该变量所在变量空间(0x2)的名称
-
从图可知,
0x2
对应的变量空间名称为SaSetup
,大小为:0x22B
-
总结:修改DVMT Pre-Allocated的值需要在BIOS变量中找到名为
SaSetup
的空间,并把偏移量为0x107
的数值由0x1
改成0x2
。
-
打开InsydeH2OUVE文件夹,先以管理员身份运行
WDFInst.exe
安装工具驱动
-
以管理员身份运行
H2OUVE-W-GUIx64.exe
程序
-
选择
File
->Load runtime
读取当前BIOS状态
-
选择左侧
Variable
菜单,获取当前BIOS变量 -
找到名称为SaSetup的空间(双击后可看到该空间内的所有变量,可根据最后一个变量所在的偏移地址得出空间大小,与步骤0中的空间大小比对,从而确定找到的空间是正确的),并找到偏移量为0x107的数值(可与步骤0中的初始值比对,进一步确认是否需要修改的变量)。
-
修改该数值为
02
,并保存数据(保存前确认该空间被选中——前方的√打上) -
看到提示保存变量成功的提示后,说明已修改成功,此时可重启电脑让其生效。
-
以管理员身份运行CMD或PowerShell,进入InsydeH2OUVE所在目录,运行WDFInst.exe安装工具驱动
-
提取命名为SaSetup的变量列表到一个txt文件,输入
.\H2OUVE-W-CONSOLEx64.exe -gv sasetup.txt -n SaSetup
-
打开提取到的sasetup.txt文件(可通过空间名称,空间大小确认所修改变量空间正确),找到偏移量为0x107的变量
-
把偏移量为0x107的变量01改成02,文件另存为
sasetup-64.txt
(原文件可作为备份文件)
- 回到CMD或PowerShell界面,输入
.\H2OUVE-W-CONSOLEx64.exe -sv sasetup-64.txt -n SaSetup
把sasetup-64.txt写入BIOS
- 看到
Variable Index[001]: Set successfully!
后,说明已修改成功,此时可重启电脑让其生效。