Surface升级 3 -- 扩容内存
Foundries
编辑于 2026年01月04日 18:47
收录于文集
共3篇

Intro

Surface 系列的内存价格呢,比黄金还贵,估计不少人和我一样囊中羞涩买的8G/128GB的乞丐版。

8GB以前还能用用,毕竟以前只有一个Chrome,现在的软件全是Chrome。不升16GB可以说是用不了,连抠门的Apple都16GB起步了。

前文已经讲了怎么加装风扇,扩硬盘,这次讲讲怎么扩内存。

基本流程适用于所有Surface(ARM和Lunar Lake除外)。不同平台具体细节不一样。

网上都有的细节和基础流程我就特意省略了,以免某些过度自信的人把电脑折腾坏。

风险自己承担,本文内容基于个人实际经验,不保证100%适用于你的电脑。

Surface 系列你买我不推荐,但我自己还会买。

Chapter 1 基本原理

简单来说,焊死的内存初始化都是一个套路:CPU读取主板上的MEM ID以知晓焊接的是什么内存芯片,然后从BIOS里面找到对应的SPD,再根据SPD进行内存初始化。成功初始化后把相关配置保存到BIOS中以后开机就可以直接套用以前的结果,跳过部分流程。

那么很明显,我们需要改动:

  1. 内存芯片

  2. MEM ID

一些聪明的BIOS(比如Intel版Macbook),会自动发现MEM ID变了,然后重新完整地走一遍上述流程。但是!Intel版本的Surface的BIOS会傻乎乎地继续用以前的结果,宁愿卡死也不重新来。

Hint 1:前面强调了Intel版本的Surface,AMD版本的就不一样了。简单来说,Intel平台由CPU的核心进行内存Training,能完整保存配置到BIOS。而AMD平台的由PSP进行,只有很少的结果保存到PSP内部,每次开机都会检查下要不要Full training。所以,AMD平台会自动识别新的MEM ID。

所以,对于Intel版本的Surface,还得额外修改:

3. BIOS的NVRAM区

Hint 2:Surface系列的CPU、BIOS芯片和BIOS程序三者都是绑定在一起的,三者不匹配就会拒绝启动。而且BIOS程序里面的固件区,也是加密的,改一个字符都会开不了机。能修改的只有NVRAM区。

Chapter 2 新内存芯片的选择

因为内存初始化需要SPD,而SPD是存储在BIOS的固件区里面,一个字符都改不了。所以很遗憾,只能根据SPD来选择想安装的芯片。

比如,Pro5、6/ Laptop 1、2的BIOS里面,如果原机是Hynix芯片的,可以查到支持:

  • H9CCNNN8GTALAR-NUD(8Gb)

  • H9CCNNNBJTALAR-NUD(16Gb)

  • H9CCNNNCLGALAR-NUD(32Gb)

Pro7、Laptop 3的BIOS里面,可以查到支持:

  • H9HCNNNBKNALHR-NEE(16Gb)

  • H9HCNNNCPNALHR-NEE(32Gb)

  • K4U6E3S4AA-MGCL(16Gb)

  • K4UBE3D4AA-MGCL(32Gb)

Hint 3:事实上,Surface不会去验证实际安装了啥芯片(比如说校验芯片ID),同一厂商的相似芯片也能使用,甚至可以不同芯片混用(不推荐)。个人验证过:高速的可以替代低速的,H9CCNNNCLGALAR-NUD 和 H9CCNNNCLTMLAR-NUD可以互换,H9HCNNNCPMALHR-NEE 和 H9HCNNNCPMMLXR-NEE可以互换。

Hint 4:在图纸里往往能看到不存在BIOS里面的其他内存芯片选项,这意味着也可以用这些芯片,但当前BIOS不支持这些芯片。想用这些芯片的话,得找到对应的BIOS,提取相关代码进行合成。十分麻烦,我也没试过。

Chapter 3 焊接

没啥好说的,给点自己发现的有用信息。

  1. 有些情况下,比如4GB改其他,要补齐ZQ电阻等。具体情况请对照图纸。

  2. 如果开机后,logo亮了5秒左右就重启然后反复,可能是内存芯片无响应。

  3. 如果开机后,logo亮了然后卡很久很久,可能是内存芯片有响应但是Training失败。(如果能观察到主板电流,此时电流会停止波动,俗称死电流)

  4. 同品牌更换,可以换一个芯片开机一下,能进系统就说明焊接没啥问题,然后换下一芯片。

更换同品牌内存后,电脑应当能正常开机,但内存容量还是原本容量。

更换不同品牌内存后,会出现3.3中的状况。

Chapter 4 更改MEM ID

也没啥好说的,跟着图纸改呗。Pro5、6/ Laptop 1、2的是使用电阻上下拉来判断配置,之后的都是用电阻阻值来判断配置。

  • 对于Intel平台,更换MEM ID后,如果换的是同品牌内存,电脑应当能正常开机,但内存容量还是原本容量。更换不同品牌内存后,会出现3.3中的状况。

  • 对于AMD平台,更改MEM ID后应当识别到新容量,扩容流程到此结束。

Chapter 5 更改BIOS NVRAM

嗨害嗨,这就是本文精髓所在。前面的内容随便一个网页或视频里面都会告诉你,核心的BIOS修改却都隐藏起来了。下面都是自己摸索出来的。

  • Pro 5、6,Laptop 1、2

前往NVRAM / VSS2 store / MemoryConfig 下,找到原本芯片的型号:

原始数据

改成:

AD改成CE,后面的删除

一共有两处,都需要改。这样就能触发完整的内存初始化。

  • Pro 7,Laptop 3

很抱歉,我没有摸索出该怎样改。数据的结构和前一代的高度相似,我猜想应该和前一代差不多,只是神秘代码还没有找到。

原始数据

另外一台设备的

但我还是成功扩容了,我找到3种替代方案:

  1. 将整个MemoryConfig替换掉。

  2. 更换同品牌的芯片后,能正常开机。使用Linux下的fwupd强制更新BIOS(github,UEFI firmware updates for linux-surface)。当BIOS更新完成后,应能识别到正确的容量。

  3. 如果是更换不同品牌内存条,先强制更新BIOS,之后设备会重启走进度条,走完进度条后屏幕黑掉就断开电池,然后更换内存颗粒和MEM ID,再重启即可。

Hint 5:Surface在每次BIOS更新后都会重新走一遍完整的内存初始化。所以,在Pro 6 上,我先提取原始BIOS,再改MEM ID但不改芯片,这样可以正常开机去更新BIOS。更新完后肯定会卡在内存初始化,这时再提取新BIOS。对比之下发现了神秘代码。Pro 7就没时间去研究了。

  • Pro 7+ 等新款

本人没有试验过,一个论坛上(迅维网:Surface Pro8 板载内存升级方法)有人提出了方法:

前往NVRAM / VSS2 store / FspNvsBuffer 下,将第一行AA 55 3F改成AA 55 3C

本质上是把FspNvsBuffer标记为无效。是否能行我没有验证。

很遗憾,我试过了此方法对Pro 567,laptop123无效,会一直卡在logo。

Hint 6:Surface的序列号也存在NVRAM区,有好几处,全改了就能给它换序列号。虽然没啥卵用,但如果换了后壳可以改一下,满足一下强迫症😆

Conclusion

最难的内存也升级成功了,丐版摇身一变变成皇帝版,虽然我已经有了新款……

好像没啥其他的可以升级了吧,还有个🌶️🐔的Marvell网卡……我感觉得设计转接PCB了,BIOS支持情况也不清楚……

也算是实现曾经的梦想了,大学时期,Surface比MacBook还装逼😂。但就像大部分人一样,电脑配置起来了,却找不回以前玩游戏时的快乐了。