迅维网

标题: Surface Pro8 板载内存升级方法 [打印本页]

作者: shaopeijie    时间: 2025-3-21 17:08
标题: Surface Pro8 板载内存升级方法
本帖最后由 shaopeijie 于 2025-3-21 17:36 编辑

本人软件工程师,爱好捣鼓硬件。因为工作需要经常跑虚拟机,原机16GB内存动不动就爆满,看了看某宝升级内存的价格下有点不去手(都是996挣的血汗钱),于是就想着自己升。因为平时经常看某音“浙江吴彦祖”、“大师兄”等大师的维修视频,感觉自己又行了,但隔行如隔山,没想到过程相当艰难。

Surface Pro8升级内存主要有6步:拆屏+换颗粒+改识别电阻+改BIOS+测试+装屏。
苏菲拆机难度大,各位如果想自己升,需要做好充分准备,拆坏了别来骂我。

【拆屏】
难度:五颗星
工具:吹风机+吸盘+拆机片
拆屏幕难度极大。SP8的边框很窄而且面板很薄,一不小心就会割伤排线或者拆裂屏幕,一张屏幕都够升两次内存了。
我采用的土办法是让机器处于亮屏状态,然后用吹风机加热屏幕四周,用吸盘吸喇叭位置,使屏幕翘起一条缝,再用拆手机后盖那种很薄的拆机薄片慢慢割。割的同时观察屏幕是否有液晶挤压,显示是否正常,如果没有,再一点点往里面割(窄边最多割进去3mm左右,底部要注意排线位置,顶部可以深一些),最终花了近一小时才把它无损搞下来。

【换颗粒】
难度:四颗星
工具:热风枪+加热垫(非必须)
器件:4颗镁光MT53E2G32D4NQ-046
Surface Pro8最大支持32GB内存,4片板载颗粒,每片容量8GB/64Gbit。根据图纸上的标注,8GB颗粒只有海力士H9HCNNNFAMMLXR-NEE和镁光MT53E2G32D4NQ-046,我选用的是镁光, 因为货源充足+便宜,而且原机内存也是镁光。在表中之外的颗粒型号BIOS是无法支持的,除非能找到跟两款型号时序参数一致的颗粒。改BIOS二进制代码是不可能的,都有数字签名。
mem.png
登录/注册后看高清大图

(图片来自https://www.chinafix.com/thread-1365372-1-1.html)

在正式开搞前弄了条报废内存练手,尽可能保证一次成功。
SP8用的高温锡,吹的时候要用湿纸巾包住CPU和不耐高温的器件。拖焊盘是向大师们学的,用低温锡置换高温锡后再用吸锡带拖平,防止焊盘阻焊层脱皮掉点。注意SP8主板上没有内存的丝印,拆颗粒之前可以用铅笔在主板上沿着颗粒边缘划线标记一下。
焊接参数:房间温度15度,热风枪温度400度,最大风力,另外用加热垫把板子预热到70多度。

焊接清洗后的效果如下图:
board.jpg
登录/注册后看高清大图


【改识别电阻】
难度:三颗星
工具:烙铁
器件:634R 0201电阻

一般笔记本是通过上下拉数字电平编码选择内存,而Surface Pro8是通过电阻分压AD采样,电路图如下图,R3432控制采样电压,上表Resistor Value就是对应的电阻值,实际选取时只要在理论值附近即可(AD采样有一定容差)
adc.png
登录/注册后看高清大图

(图片来自https://www.chinafix.com/thread-1365372-1-1.html)


R3432对应主板的位置在SAM芯片(应该就是EC吧?)右上角,离SAM很近很近,以至于不敢用热风枪吹,用的很尖的烙铁焊上去的。
这颗电阻是0201封装的,实在太小,没有显微镜的情况下只能凭感觉焊,通过手机微距放大检查焊接情况,再通过测量右边R3406 2K电阻的阻值变化确认已焊接稳妥。
res.png
登录/注册后看高清大图

根据颗粒型号,我选用的是634欧姆电阻,焊接后的效果如下:
adc2.png
登录/注册后看高清大图


【改BIOS】
难度:两颗星
读写BIOS工具: CH341A+NeoProgrammer V2.2.0.10
操作:拆BIOS芯片-->读取BIOS内容-->清除BIOS内存配置-->烧回BIOS-->焊回BIOS
避坑1:有些编程器无法读取16MB以上FLASH(不支持4字节地址),或者读取出来错的。必须确保编程器能读取完整BIOS,否则烧回去可能就不开机了,
苏菲的机型信息写在BIOS NVRAM里,搞丢了弄回来挺麻烦的
避坑2:焊接BIOS温度要低一点,350度以内。我就是没经验,没打焊油400度直接干,把FLASH干挂了(幸好不是拆的时候挂),关于换FLASH,可以参考https://www.chinafix.com/thread-1379901-1-1.html

为啥要改BIOS呢?网上没有找到Surface Pro8升级内存修改BIOS的教程,采用逆向分析BIOS内存初始化代码获知修改方法,算是首次公开?
下图是Surface Pro8 BIOS内存初始化流程(Surface Pro9/10也大差不差):
image.png
登录/注册后看高清大图


FspNvsBuffer的作用是加速开机,内存训练需要十几秒到一分钟不等,如果每次开机都重新训练,开机速度就太慢了。
所以BIOS把训练好的数据命名为“FspNvsBuffer”保存在NVRAM中,下次开机直接用训练好的数据。我认为苏菲的BIOS
没写好,当内存型号变更时(当然这也是软件非预期的行为),傻傻的不知道要重新训练。
知道了原理,修改BIOS的方法就很简单了,只需要修改NVRAM,把FspNvsBuffer变量从NVRAM中删除即可。

删除方法1:手动删除
(1)用UEFITool打开BIOS固件,查找NVS中的FspNvsBuffer变量,定位到变量在BIOS文件中偏移位置
image.png
登录/注册后看高清大图

(2)使用hex工具把AA 55后面的3F改成3C即可(3F表示变量有效,3C表示变量已删除)

删除方法2:使用我写的脚本SurfaceMemoryCfgClear.py
详见附件
(1)在windows上安装python3.8或更新的版本
(2)在SurfaceMemoryCfgClear.py打开cmd.exe
(3)执行python SurfaceMemoryCfgClear.py XXXX.bin
(4)在当前文件夹下会自动生成修改好的BIOS文件 __out_image.bin
image.png
登录/注册后看高清大图

工具支持清理Surface Pro8的内存配置,Surface Pro9/10理论上也可以,但是我没机器测试。如果有人试了,请帮忙发个反馈。

【测试】
使用memtest86和AIDA测试内存稳定性,确保装机前硬件是稳定的,避免再次拆机。
24494bbf457e062b09c33f6592112bf.jpg
登录/注册后看高清大图



【装屏】
淘宝不知道为啥买不到Surface Pro8的屏幕胶条,为了省心买了Surface Pro9的,会稍微挡住一点点红外发射管,自己稍微割一下就行。胶不能覆盖的地方,自己再加一点就好。

【Surface Pro8的开机电流和现象
测试是裸板不装电池、摄像头的情况下,通过Type-C口测试的。
(1)不插硬盘:Type-c 20v不升压, 电源输出5V, 有微小电流(估计是给Type-C芯片供电)
(2)插入硬盘: Type-c 输出20v, 刚开始电流几乎为0 ,过几秒后有60ma左右电流
(3)插入硬盘、接上屏幕,没有焊BIOS芯片或者BIOS里面程序为空时:
             Type-c口输出20V,过一会回落5V,然后又升压到20v,循环往复,然后像是EC reset了。
(4)插入硬盘、接上屏幕,焊接BIOS但没有清理内存配置:
        开机定电流0.9(cpu温度较低约20多度)~1.2A(cpu温度较高烫手时)。随着温度升高电流会越来越大。
(5)插入硬盘、接上屏幕,焊接BIOS并且已清理内存配置:
        开机电流0.4(cpu温度较低约20多度)~1.5A(cpu温度较高烫手时)之间跳动,大约几十秒后内存训练结束,机器开机。
(6)如果ME和FLASH不匹配,开机会卡很久,并且找不到内置硬盘,进入BIOS后看到ME版本号为0.0.0.0。
(7)如果ME签名不对或ME配置错误(BIOS刷错了),按开机logo亮, 电流会定在0.6A左右,C口能够保持20V电压。

        
        















SurfaceMemoryCfgClear.zip

3.25 KB, 下载次数: 84, 下载积分: 下载分 -2 分, 下载 1 次


作者: chenjm86    时间: 2025-3-21 19:35
我前几天升级PRO7 16内存,改完电阻没有写BIOS就秒进系统认到了,配置电阻图纸没看懂还花了50请教了个大师
作者: shaopeijie    时间: 2025-3-21 20:38
chenjm86 发表于 2025-3-21 19:35
我前几天升级PRO7 16内存,改完电阻没有写BIOS就秒进系统认到了,配置电阻图纸没看懂还花了50请教了个大师

有说法说pro7+和之后的机型才需要该bios,感觉就是微软埋的坑
作者: 风火科技    时间: 2025-3-22 11:29
赞赞赞!!!!!!!!!!!!!!!!!!!!!!!!!
作者: baiyipiaopiao    时间: 2025-3-22 12:08
厉害,我只敢动小器件,BGA的还不敢焊接
作者: u1535687    时间: 2025-3-22 14:08
厉害,我只敢动小器件,BGA的还不敢焊接
作者: u1455918    时间: 2025-3-22 17:46
学习到了,  
作者: xiaocao1021    时间: 2025-3-22 19:39
真的首发,维修界需要你
作者: VXIUHNhR    时间: 2025-3-22 20:37
高手,理论扎实,实操过硬,高高手!!!
作者: shaopeijie    时间: 2025-3-22 22:03
xiaocao1021 发表于 2025-3-22 19:39
真的首发,维修界需要你

哈哈,专业的事还得靠您专业的师傅来做
作者: VXUtveTc    时间: 2025-3-23 06:15
灵!高高手。学习了,赶紧收藏好。
作者: u1569577    时间: 2025-3-23 08:55
真的是太厉害了。你是浙江吴彦祖之第二人
作者: neti1    时间: 2025-3-23 11:16
谢谢分享,支持湖北吴彦祖
作者: hcyyass    时间: 2025-3-23 18:24
又学到了新知识
作者: 微醉的迷情    时间: 2025-3-24 10:07
确实牛逼,手工不输老师傅,理论胜过老师傅,bios和内存之间的交互过程,确实第一次了解,受教了
作者: wangyjkang    时间: 2025-3-24 14:09
这个软件 还是不会用,有图文吗

作者: swordabc    时间: 2025-3-24 22:41
高,实在是高
作者: u1457162    时间: 2025-3-24 23:57
干得好,动手能力强
作者: shaopeijie    时间: 2025-3-25 00:54
wangyjkang 发表于 2025-3-24 14:09
这个软件 还是不会用,有图文吗

可以用文中方案一,方案二只是懒人方案
(1)下载并安装python运行环境,可选下载地址:https://www.python.org/ftp/python/3.13.2/python-3.13.2-amd64.exe
(2)把SurfaceMemoryCfgClear.py和BIOS.bin(从BIOS芯片读取)文件放在同一个文件夹下,如D:\Data\DeskTop\BIOS
(3)按win+r键,输入cmd.exe,回车,弹出cmd窗口
(4)因为因为我放在D盘,所以输入D:  
(5)输入cd D:\Data\DeskTop\BIOS
(6)输入SurfaceMemoryCfgClear.py  BIOS.bin
image.png
登录/注册后看高清大图


作者: shaopeijie    时间: 2025-3-25 01:01
TO 会员278753:
可以用文中方案一,方案二只是懒人方案
(1)下载并安装python运行环境,可选下载地址:https://www.python.org/ftp/python/3.13.2/python-3.13.2-amd64.exe
(2)把SurfaceMemoryCfgClear.py和BIOS.bin(从BIOS芯片中读取)放到同一个文件夹下,如 D:\Data\DeskTop\BIOS
(3)如下图操作:
image.png
登录/注册后看高清大图


作者: u1565300    时间: 2025-3-25 09:40
感谢分享~~
作者: tzxxf    时间: 2025-3-25 11:59
楼主总是在牛A与牛C之间
作者: 精神矍铄    时间: 2025-3-25 12:43
请问UEFITool怎么查的我怎么查不到
作者: 精神矍铄    时间: 2025-3-25 12:44
image.png
登录/注册后看高清大图

作者: redfish133    时间: 2025-3-25 17:10
这动手能力强。
作者: 夏清vip    时间: 2025-3-25 18:12
电阻634R对应的不是镁光64G吗?
作者: cftx2022    时间: 2025-3-25 18:33
干货中的干货
作者: shaopeijie    时间: 2025-3-26 06:46
夏清vip 发表于 2025-3-25 18:12
电阻634R对应的不是镁光64G吗?

内存颗粒都是以bit为单位的,64Gbit等于8GB (64 / 8)
作者: shaopeijie    时间: 2025-3-26 06:49
精神矍铄 发表于 2025-3-25 12:44

你这是哪里下载的BIOS? 这个版本的BIOS比较老,变量名是MemoryConfig。
请使用原机BIOS修改,否则可能有兼容性问题或者不开机(FPF中的SVN大于ME的SVN)
作者: u1522413    时间: 2025-3-26 07:23
这样比合成BIOS还简单
作者: 精神矍铄    时间: 2025-3-26 09:10
shaopeijie 发表于 2025-3-26 06:49
你这是哪里下载的BIOS? 这个版本的BIOS比较老,变量名是MemoryConfig。
请使用原机BIOS修改,否则可能有 ...

这是pro7的,这种方法只能用pro8或8以上的吗?

作者: shaopeijie    时间: 2025-3-26 09:40
精神矍铄 发表于 2025-3-26 09:10
这是pro7的,这种方法只能用pro8或8以上的吗?

上面有兄弟说Pro7应该不用改吧?我没有Pro7,如果要改,就把MemoryConfig 改成0x3C试试
作者: 观光旅游客    时间: 2025-3-26 15:58
这个介绍的好详细,好好学习一下
作者: 好人跟班    时间: 2025-3-26 16:01
顶订。。。。
作者: chencangjin    时间: 2025-3-26 18:02
大神!但凡没有点把握的不敢这样搞哦
作者: chencangjin    时间: 2025-3-26 18:04
此机的容貌都没目睹过哦,感觉是平板电脑是吗
作者: u1530745    时间: 2025-3-26 20:43
Surface Pro8 板载内存升级方法   楼主6B!
作者: shaopeijie    时间: 2025-3-26 23:36
帖子内容更新2025.3.26:自动升级BIOS/ME后,机器也是正常开机识别32GB的。升级BIOS/ME后会读取识别电阻AD值重新训练内存,如果不改内存识别电阻,就会不开机。

改32GB时用的固件版本:
老版本.jpg
登录/注册后看高清大图


自动升级win11推送的Firmware:
升级BIOS(UEFI):
自动升级BIOS中.jpg
登录/注册后看高清大图

升级ME:
自动升级MEE中.jpg
登录/注册后看高清大图


升级之后的版本:
新版本.jpg
登录/注册后看高清大图


作者: 精神矍铄    时间: 2025-3-27 09:07
shaopeijie 发表于 2025-3-26 09:40
上面有兄弟说Pro7应该不用改吧?我没有Pro7,如果要改,就把MemoryConfig 改成0x3C试试

好的,谢谢
作者: 鲁鹏维修    时间: 2025-3-27 17:20
这绝对是专业的老师傅,哪像新人哟
作者: ljt190195298    时间: 2025-3-27 17:30
牛逼啊!!!
作者: u1557199    时间: 2025-3-28 17:01
厉害 ,太牛了
作者: 强唯电脑维修    时间: 2025-3-29 19:01

学习一下!
作者: wangqh88    时间: 2025-3-29 23:18
这资料太牛了

作者: zwjxidian    时间: 2025-3-31 09:13
太专业了,感谢分享
作者: u1541428    时间: 2025-4-1 01:23
厉害厉害

作者: u1566005    时间: 2025-4-3 17:23
shaopeijie 发表于 2025-3-25 00:54
可以用文中方案一,方案二只是懒人方案
(1)下载并安装python运行环境,可选下载地址:https://www.pyt ...

楼主,我这么输入之后闪一下你编的程序不出结果

作者: shaopeijie    时间: 2025-4-3 21:32
u1566005 发表于 2025-4-3 17:23
楼主,我这么输入之后闪一下你编的程序不出结果

多半是环境问题,你让deepseek写一个python helloworld程序,验证一下环境是否正确。如果还不行就私信我,看到回你
作者: shaopeijie    时间: 2025-4-3 23:51
u1566005 发表于 2025-4-3 17:23
楼主,我这么输入之后闪一下你编的程序不出结果

另外使用cmd.exe,不要使用powershell
作者: 刘建    时间: 2025-4-7 16:48

楼主总是在牛A与牛C之间
作者: marioplaza    时间: 2025-4-23 08:43
谢谢楼主分享!
作者: 维修徒徒    时间: 2025-4-23 14:48
学习了  感谢分享         
作者: chenhuan3300    时间: 2025-4-28 16:56
专业的事专业人来做
作者: 大懒懒    时间: 2025-5-5 22:10
楼主牛逼!
作者: 740451773    时间: 2025-5-8 08:34
真的首发,学习了
作者: 研究僧d    时间: 2025-5-8 23:57
精细活  牛逼啊
作者: wuguanchun88    时间: 2025-5-10 13:56
这个相当给力  感谢分享
作者: lx5815    时间: 2025-5-14 08:42
谢谢楼主分享
作者: 聆听馨世界    时间: 2025-5-16 19:14
原厂的bios有没,没看到啊
作者: shaopeijie    时间: 2025-5-17 00:03
聆听馨世界 发表于 2025-5-16 19:14
原厂的bios有没,没看到啊

我没有纯净的,这块我没有实践。理论上工厂BIOS=纯净的ME+干净的BIOS(NVRAM清空), 这两个都好搞到,上机前往NVRAM写入序列号/产品信息等就行。
作者: 406965195    时间: 2025-5-18 11:55
路过,学习一下
作者: fengshaoju    时间: 2025-5-20 17:27
chenjm86 发表于 2025-3-21 19:35
我前几天升级PRO7 16内存,改完电阻没有写BIOS就秒进系统认到了,配置电阻图纸没看懂还花了50请教了个大师

现在的BIOS控制的真多   平板和笔记本都差不多  
作者: huangkevendong    时间: 2025-5-20 19:28
好经验,感谢分享
作者: dream52    时间: 2025-5-22 08:25
牛~~~~~~厉害呀~
作者: u1576689    时间: 2025-5-26 17:51
我也想升级,但是内存要改BIOS,不改动
作者: u1482849    时间: 2025-5-28 13:33
不得不佩服,同为软件工程师,水平和胆量差了不止一点半点。
作者: yang12345678    时间: 2025-5-30 16:24

厉害,我只敢动小器件,模板
作者: 街角的幸福888    时间: 2025-6-2 11:21
楼主厉害,,,,,,,,,,,,,,
作者: zhaolinchao66    时间: 2025-6-3 16:24
学习了  拆屏费劲
作者: mfksxx520    时间: 2025-6-5 10:58
软硬经合才是王道
作者: VXbTJXbE    时间: 2025-6-6 12:35
感谢大神的分享
作者: 562549022    时间: 2025-6-9 12:04
方法2 Pro7+可以用
作者: LANNANHUA    时间: 2025-6-9 12:19
这个厉害。。。。。。。。。
作者: tanglianqi    时间: 2025-6-12 18:44
厉害,我只敢动小器件,BGA的还不敢焊接
作者: u1543497    时间: 2025-6-14 15:25
动手能力强电子电路也很厉害学习了
作者: 百度XZKSV    时间: 2025-6-17 17:31
软件硬件都扎实,还懂理论。这样的人才真是不多。
作者: wqg90    时间: 2025-6-17 21:37
感谢分享经验,学习了。

作者: shaopeijie    时间: 2025-6-23 11:15
FYI: 有些BIOS(非SP8)的NVRAM可能有SpdData这个变量,提供的python脚本会将其清除掉,可能造成一些机器无法启动卡内存训练。此时可以从别的机器(内存颗粒与升级后的同型号),拷贝SpdData数据,覆盖到原机BIOS对应变量来解决
作者: 街角的幸福888    时间: 2025-6-23 11:31
来挣点积分。。。。。。。。。。。。。。。。。
作者: u1475441    时间: 2025-7-3 09:40
干得好,动手能力强
作者: mingtaish    时间: 2025-7-4 20:34
好文章,做个记号
作者: 百度XZKSV    时间: 2025-7-14 00:40
非常感谢,软硬通吃,厉害了
作者: 前前后后    时间: 2025-7-14 20:04
干维修的肯定不肯教的这么详细,贴主牛牛牛
作者: 1049124761    时间: 2025-7-20 13:22
软件工程师,搞硬件确实牛
作者: 18697392361    时间: 2025-7-20 15:14
感谢分享,学习了
作者: fengshaoju    时间: 2025-7-22 15:47
路过学习一下  谢谢
作者: 13208326    时间: 2025-7-22 18:59
学了66666666666666
作者: rothdren    时间: 2025-7-23 21:39
来学习学习。 感谢大师分享
作者: ywzywz2009    时间: 2025-7-25 10:10
这牛逼的软件硬件通吃。
作者: 博源    时间: 2025-7-26 21:27
spd变量怎么查找,怎么查看bios里面用的是哪一段spd数据训练内存
作者: lylzy    时间: 2025-7-30 15:38
感谢楼主分享!!
作者: VXTkhRV1    时间: 2025-8-7 09:26
这也太牛了吧

                               
登录/注册后看高清大图

作者: wangqh88    时间: 2025-8-17 16:57
讲得太详细了,谢谢楼主

作者: liushuailynn    时间: 2025-8-27 15:36
不错的贴子
作者: 维修徒徒    时间: 2025-9-9 15:39
电阻就是太小了   
作者: Grace0701    时间: 2025-9-10 08:15
谢谢楼主分享
作者: 街角的幸福888    时间: 2025-9-10 17:07
不错,,,,,,,,,,,,,,,,,,,,,
作者: xuxiang4644713    时间: 2025-9-11 14:37
这个真专业了666
作者: luxiangfei    时间: 2025-9-18 19:40
手工不好不敢动
作者: 冬天的樱花    时间: 2025-10-17 17:49
感谢版主耐心分享,谢啦




欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4