温馨提示:

本文最后更新于2022年07月30日,已超过487天没有更新,若内容或图片失效,请留言反馈。

注意
搞机有风险,搞机需谨慎

什么是DVMT

在很多黑苹果的教程中,都会要求对bios中的dvmt pre-allocated选项进行修改,调整到至少64MB以上(mac机型就是这个设置),如果无法调整,则需要配合framebuffer-stolenmem:00003001的patch来"借用"显存,但会存在4K输出的问题。

但对于很多隐藏了dvmt pre-allocated选项的笔记本来说,只能通过UEFIShell的方式来改动。

为什么建议修改DVMT?

部分笔记本,修改DVMT,可以使在macOS下面开hidpi画面不掉帧卡顿,并且实现外屏4K输出

视频教程

Bilibili

正式步骤

1.提取BIOS文件

你可以选择去你的电脑厂商的官网处下载BIOS文件,多为bin或者rom文件,如果后缀为exe,你则需要将里面的bios文件提取出来

如果说你不想去官网下载啊,或者说找不到,就可以看下面的BIOS提取教程

在Windows中提取主板BIOS

以管理员身份打开我分享的BIOS提取工具(文末分享),如下图

点击读取,然后它就会跑进度条,有时候它可能会处于假死状态,你只需要耐心等待即可

如下图,BIOS已经提取成功

点击确定

然后点击备份,将文件放到一个你便于修改和找到的地方,我就先放到桌面了,然后退出此软件

此时我们的BIOS就提取成功啦

2.将BIOS文件输出成efi文件

打开我分享的UEFITool(文末分享),如下图

将你刚才提取出来的BIOS文件直接拖到UEFITool窗口,如下图

使用快捷键 Ctrl + F 调用出搜索,选择Test,如下图

输入DVMT然后回车

然后出现与下图类似的内容

双击它,就会被定位到PE32 image开头的选项处,如下图

右键PE32 image开头的选项,选择Extract body,如下图

将提取出来的文件放到一个你便于修改和找到的地方,我就先放到桌面了,然后选择保存,再然后退出此软件即可

如下图,efi后缀文件已经成功导出

3.将efi文件输出成txt格式

打开我分享的IRFExtractor(文末分享),如下图

然后点击那两个。。如下图

选择刚才提取出来的efi文件,然后选择Extarct,将文件放到一个你便于修改和找到的地方,我就先放到桌面了,然后选择保存,再然后退出此软件即可

如下图,txt文件已经成功提取

4.寻找DVMT的数值

使用记事本(这个就不分享了哈,系统自带)打开输出的txt文件

如下图

使用快捷键 Ctrl + F 调用出搜索,搜索DVMT,点击查找下一个,如下图

此时你会发现,会搜索出两个DVMT,这是正常现象

假如说我想把DVMT修改成64MB,则应该输入setup_var 0x76D 0x2

0x76D0x2的位置关系如下

此时你会发现,0x2的前面正是64MB,并且0x2在0x76D的下面

依次类推,如果我想把DVMT改成60MB的话,就应该输入setup_var 0x76D 0xFE

有人会说,下面也有一个DVMT啊,里面还有128MB,256MB啊

假如我想把DVMT改成128MB,就应该输入setup_var 0x76E 0x1

0x76E0x1的位置关系如下

看到这里,想必大家已经懂了这个关系了吧,如何把DVMT修改成自己想要的数值

5.制作U盘来修改BIOS

掏出你的U盘,插到电脑上面,

右键格式化你的U盘,选择FAT32格式,如下图

选择开始,抹掉你的U盘

然后在U盘中新建EFI→Boot文件夹,如下图

将我分享的bootx64.efi,放到boot目录下,如下图

重启电脑,引导到U盘

引导到U盘之后,输入你想修改的DVMT所对应的指令,例如我想把DVMT改成Max
setup_var 0x76E 0x3

如图所示,我已经成功把DVMT改成Max了

文件分享