本文针对的是AMI的BIOS,其它BIOS更换其它BIOS备份工具来提取BIOS

本次修改的是BIOS默认关闭且被隐藏的选项:VT-D

AMI:American Megatrends Incorporated,美国安迈科技,很多主板可以看到那个熟悉的logo

需要的工具

  • AFUWINGUI:提取或刷写BIOS
  • UEFITool:用于查找隐藏的BIOS信息
  • Universal IFR Extractor:将EFI和UEFI的模块转换成文本文件
  • EFI文件夹:用于进入 grub shell 环境的引导

下载地址:BIOS修改工具包

开始

1、AFUWINGUI

使用 AFUWINGUI 提取BIOS,或者可以使用其它软件提取,或者从主板官网下载

2、UEFITool

得到的 BIOS.rom 文件使用 UEFITool 打开,Ctrl + F 直接搜索关键词(选择Text)

比如说我需要打开 vt-d 功能,但是主板默认关闭并且把选项隐藏了

双击搜索到的结果,会自动定位到模块,右键定位到的模块,选择 Extract body,提取出该模块,得到一个新的 .EFI 文件

3、Universal IFR Extractor

使用 Universal IFR Extractor 将得到的 .EFI 文件转换为方便阅读的txt文件

4、查找地址

打开文本搜索关键词 vt-d

0x19DB6 One Of: VT-d, VarStoreInfo (VarOffset/VarName): 0x37, VarStore: 0x1, QuestionId: 0x55, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 23 01 24 01 55 00 01 00 37 00 10 10 00 01 00}

VarStoreInfo (VarOffset/VarName):偏移地址为0x37

VarStore:变量寄存器的ID

菜单选项One Of Option(Disabled、Enabled)与对应值Value(0x0、0x1

默认的配置为 Disabled(0x0)

0x19DC7 One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 1B 01 30 00 00}
0x19DCE One Of Option: Enabled, Value (8 bit): 0x1 {09 07 1A 01 00 00 01}

5、修改值

准备一个U盘,将U盘格式化为 FAT32,将下载的EFI文件拖到U盘中

重启电脑,进入BIOS设置,关闭secure boot安全引导,保存。然后启动时选择刚才的U盘,进入到grub shell环境

命令(0x37就是上面 VT-D 记录的偏移地址)

1
setup_var 0x37

会有一段输出,从中可以看到输出的值为0x0

输入命令

1
setup_var 0x37 0x1

将0x37这个地址的值改为0x1,也就是对应的Enabled

重启电脑后在 VT-D 就被成功开启了