小米笔记本Pro(i7-8550U+MX150)解锁记

  1. BIOS 降级(可选)
  2. BIOS不降级解锁电压调节功能
  3. 安装老版本XTU
  4. 不幸安装过新版本XTU如何完全卸载
  5. 解锁功耗墙
  6. 核心降压
  7. 核显降压
  8. XTU开机自动启动并设置参数
  9. 解锁效果

雷带善人还是良心,新版小米笔记本Pro让哥们毫无购买的欲望,17版小米笔记本Pro解锁功耗还能再战两年,这波直接立省100%~

首先下载小米笔记本折腾资源整理XTU6.4安装包或者XTU6.4真·安装包AIDA64Furmark

BIOS 降级(可选)

新版本BIOS不能调节CPU的电压,因此降回老版本BIOS。新版本BIOS也有办法解锁,但是我选择直接降版本一劳永逸~

首先在Mi-Notebook-Pro-Mods\BIOS Collection里找到需要的BIOS的压缩包,解压,然后找一个128G以下的U盘格式化成FAT32格式,将解压后的所有文件拷贝过去。然后使用文本编辑器编辑\platform.ini,将[Bios_Version_Check]下的Flag值改为0

保存后关机并连接电源,重启按F12,选择从U盘启动,按一下Enter键输入 unlockme.nsh 按下Enter等待重启。重启后再按F12键从U盘启动,按Enter键后输入 flash.nsh,等待机器重启降级,完成后再次重启即降级成功,期间不可拔掉电源和U盘。

BIOS不降级解锁电压调节功能

国外大神PaveILJ和来自4pda的Cyb制作了能修改BIOS 0502和0603电压的脚本(注意:由于脚本对BIOS进行修改,请先对重要数据进行备份。另外,BIOS有可能不能被后续升级)

Mi-Notebook-Pro-Mods\Patches里找到voltage_unlock.cmd,右键以管理员运行,运行完后重启电脑完成解锁。

安装老版本XTU

最新版XTU亲测无法调压(即便已经刷回旧版本或解锁),因此建议安装6.4版本XTU。运行XTU6.4安装包,安装时会报错“attempted to install on an unsupported platform”,不要点确定关闭页面,使用Win+R打开运行,输入%temp%打开Temp文件夹,会有一个类似 Intel(R)_Extreme_Tuning_Utility_xxxxxx_000_Intel_XtuInstaller.msi.log 的文件,在里面找到 Running installation inside multi-package transaction 字段,后面的地址就是XTU的实际安装文件,在此目录下按Shift同时右键,点击在 此处打开 PowerShell 窗口 ,输入 msiexec /i Intel_XtuInstaller.msi DISABLEPLATFORMCHECK=1,即可打开安装程序。

或者可以直接下载我提取出的XTU6.4真·安装包,在文件所在目录下按Shift同时右键,点击在 此处打开 PowerShell 窗口 ,输入 msiexec /i XTUInstaller6.4.msi DISABLEPLATFORMCHECK=1,即可打开安装程序。

不幸安装过新版本XTU如何完全卸载

亲测是一大坑,如果安装过新版本XTU,卸载后再安装老版本XTU会完全没有效果,不仅无法降压,连解锁功耗墙都没有用。想要完全卸载XTU,需要:

1.使用XTU的卸载向导卸载XTU

2.任务管理器打开XtuService,关闭进程

3.从 这些位置删除 英特尔® XTU 文件夹:C:\Program Files (x86)\IntelC:\ProgramData\Intel

4.在 C:\ProgramData:下删除名为 Intel Telemetry的文件夹。

5.进入BIOS还原默认设置

6.使用ccleaner清除XTU的残留注册表

7.设备管理器中卸载XTU的驱动

8.在注册表管理器中手动搜索所有的XTU,然后手动清理干净

9.重启

解锁功耗墙

XTU安装完成后,重启电脑,打开XTU软件,打开Advanced Tuning下的Core,将Turbo Boost Short Power MaxTurbo Boost Short Max调整为45W,将Turbo Boost Power Time Window调整为96 Seconds,完成解锁功耗。

核心降压

这一步是为了降低功耗以及发热,避免撞到温度墙。

打开AIDA64,进入系统稳定性测试开始烤机,回到XTU,降低Core Voltage Offset,一步步往下减,测出烤机不死机不重启并且关闭烤机后也不死机不重启的极限电压,完成降压。作为参考我的-0.105V 没问题。

注意,烤机时候不死机不代表低负载也不会死机。CPU核心电压是动态变化的,我们调整的是电压偏移值。低负载时候CPU电压会自动变低,加上我们降低的电压可能会导致CPU核心电压低于正常工作所需电压而死机。

核显降压

笔记本的独显需要通过核显进行输出,所以笔记本无法关闭核显,只能靠笔记本自动切换。Intel的核显功耗也不低,满载将近17W,核显负载过高会让核心无法跑满40W并更有可能撞上温度墙,因此强烈建议给核显降压,实测降压后核显满载功耗从17W降到6W。

首先,在设备管理器中禁用独显(MX150),然后打开Furmark开始烤机,然后打开XTU,调节Advanced Tuning - Graphics中的Processor Graphics Voltage Offset,方法和核心降压差不多,找到高负载、低负载都不会蓝屏死机的电压,然后应用即可。作为参考,我的-0.105没问题。找到核显电压后别忘了在设备管理器中重新启用独显。

XTU开机自动启动并设置参数

参考 https://taiwankid-computer.blogspot.com/2019/12/intel-xtuxtu-64123xtucliexe.html 而作

1.确保PowerShell的权限:在您明确授予PowerShell执行权限之前,PowerShell不会执行脚本。PowerShell有几个执行策略来控制其应如何执行脚本:

用管理员身份运行PowerShell,输入Set-ExecutionPolicy RemoteSigned并运行,完成后使用Get-ExecutionPolicy确认下权限。

2.制作PowerShell的脚本

随便在哪建立文件随便啥名字最好是纯英文.ps1,比如我是在D盘建立了xtuset.ps1,输入并保存:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$Wi = [Security.Principal.WindowsIdentity]::GetCurrent()
$Wp = [Security.Principal.WindowsPrincipal]$Wi
if(-not $Wp.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
{ Start-Process "$psHome\powershell.exe" -verb runas; return }

$status = get-service -name "XTU3SERVICE" | Select-Object {$_.status} | format-wide
if ($status -ne "Running") { start-service -name "XTU3SERVICE"}

& 'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 34 -v -105
&'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 48 -v 44.000
&'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 47 -v 44.000
&'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 66 -v 96
&'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 83 -v -105

Set-ExecutionPolicy Restricted -force

sleep 5
stop-process -id $PID -force

代码解释:

这段代码是用来强制使用管理员权限执行。

1
2
3
4
$Wi = [Security.Principal.WindowsIdentity]::GetCurrent()
$Wp = [Security.Principal.WindowsPrincipal]$Wi
if(-not $Wp.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
{ Start-Process "$psHome\powershell.exe" -verb runas; return }

这段代码是用来检测XTU服务是否启动,没启动则强制启动

1
if ($status -ne "Running") { start-service -name "XTU3SERVICE"} 

这段代码是通过XtuCli来设定参数

1
2
3
4
5
& 'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 34 -v -105
&'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 48 -v 44.000
&'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 47 -v 44.000
&'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 66 -v 96
&'C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client\XTUCli.exe' -t -id 83 -v -105

其中,id 34是指Core Voltage Offset

id 48是指Turbo Boost Power Max

id 47是Turbo Boost Short Power Max

id 66是Turbo Boost Power Time Window

id 83是Processor Graphics Voltage Offset

如果要查询更多参数,可以打开CMD,然后用cd命令打开C:\Program Files (x86)\Intel\Intel(R) Extreme Tuning Utility\Client,输入XTUCli.exe -I all查询。

这段代码是为了安全将PowerShell的脚本执行权限关闭,避免黑客利用PowerShell脚本来入侵电脑,但若是还有其他的应用程序会执行到PowerShell的脚本建议将此行命令省略掉,以免脚本无法被执行。

1
Set-ExecutionPolicy Restricted -force

这段代码可以设定结果显示5秒钟,并结束此程序。(可省略)

1
2
sleep 5
stop-process -id $PID -force

3.制作bat来确保PowerShell执行powershell脚本

随便在哪建立文件随便啥名字最好是纯英文.bat,比如我是在D盘建立了xtuset.bat,输入并保存(记得修改文件名):

1
2
3
@echo off
powershell -command "& { $Wi = [Security.Principal.WindowsIdentity]::GetCurrent(); $Wp = [Security.Principal.WindowsPrincipal]$Wi; 'if( -not $Wp.IsInRole([Security.Principal. WindowsBuiltInRole]::Administrator)) { Start-Process "$psHome\powershell.exe" -verb runas; return }'; Set-ExecutionPolicy RemoteSigned -force }"
start powershell "D:\xtuset.ps1"

4.使用Windows的计划任务来让脚本在开机时被执行:
右击此电脑,点击管理,点击任务计划程序 - 任务计划程序库,点击右边的创建任务,然后如图设置:





解锁效果

硅脂干透+风扇一堆灰,能跑到40W 3.69GHz并坚持半分钟左右,然后撞温度墙降频到2.0GHz,十秒钟后又能跑到40W 3.69GHz,然后循环。

更换信越7921并清灰,AIDA64烤机CPU稳40W 3.69 GHz,温度稳定在85°C附近,不降频。CineBench R23跑分多核4600,单核1060。