1. 为什么需要给RTL8125B单独烧录MAC地址手里攒了几台小主机板载网卡清一色是Realtek RTL8125B2.5G速率跑软路由、做NAS、组All-in-One都挺合适。但有个问题一直让我头疼批量装完系统之后好几台机器的网卡MAC地址居然一模一样全是00 E0 4C开头的默认值。局域网里只要同时开机IP冲突、ARP表混乱、DHCP分配错乱一个都跑不掉。MAC地址这东西理论上是网卡出厂时烧录在全球唯一的前三个字节是OUI组织唯一标识符后三个字节由厂商分配。但现实情况是很多小厂或者白牌主板为了省成本直接从Realtek的默认池里拿地址批量烧录时根本没做唯一性校验。你买到手的那批板子MAC相同是大概率事件。那能不能在系统层面改MAC可以Windows的设备管理器、Linux的ip link set都能改但那是软件层面的伪装重装系统就没了而且某些底层协议栈、PXE启动、Wake-on-LAN场景下软件改的MAC根本不生效。真正一劳永逸的办法是用Realtek官方提供的PG ToolProgramming Tool把MAC地址直接写进网卡的EEPROM或者OTP区域硬件层面生效换系统、换驱动都不影响。这篇内容就是把我自己给RTL8125B烧录MAC的完整过程整理出来从工具准备、驱动安装、参数填写到烧录验证每一步都配上我实际踩过的坑。适合手里有RTL8125系列网卡、需要批量部署或者修复MAC冲突的运维、DIY玩家、小主机折腾党。整个流程在Windows下完成不需要Linux基础照着做就行。注意烧录MAC地址属于对硬件永久性写入的操作写错了虽然可以重写但操作前务必确认网卡型号和工具版本匹配。另外修改MAC地址请仅用于自己拥有的设备不要用于任何规避网络管理或伪造身份的场景。2. 动手前的准备工作工具、驱动与硬件确认2.1 Realtek PG Tool的获取与版本选择Realtek PG Tool不是公开下载的通用软件它属于Realtek的NDA工具通常只发给OEM厂商和网卡制造商。网上能搜到的版本比较杂有RTNicPg、RTEPG、PGTool等不同叫法针对RTL8125B的版本一般是RTNicPgW.exe或者带2.5G标识的版本。我手头用的是从主板厂商那边流出的Realtek PG Tool v2.4支持RTL8125A/B/BS系列。这里要提醒一句不同版本的PG Tool支持的网卡型号不一样用老版本去烧RTL8125B工具可能识别不到网卡或者写进去的地址不生效。判断版本是否匹配最直接的方法是打开工具后看设备列表里能不能正确读出网卡的型号和当前MAC。工具包一般包含这几个文件RTNicPgW.exe主程序Windows下的图形界面RTNicPg.ini配置文件定义了不同网卡的参数模板Rtl8125b.efi或类似EFI驱动用于UEFI环境下的烧录Readme.txt版本说明和支持列表如果拿到的工具包里没有RTL8125B的配置文件可以手动在ini里加但更稳妥的做法是换一个明确支持2.5G系列的版本。2.2 Windows下的驱动安装与网卡识别PG Tool要能操作网卡前提是Windows能正确识别到这块RTL8125B并且加载了Realtek的官方驱动。Windows 10/11自带的驱动有时候能认但版本比较老PG Tool可能读不到EEPROM。我的做法是先去Realtek官网下载最新的Win10/Win11 Auto Installation Program驱动安装完之后在设备管理器里确认网卡型号显示为Realtek Gaming 2.5GbE Family Controller。装完驱动后打开设备管理器找到网卡右键属性在“详细信息”里选“硬件ID”应该能看到PCI\VEN_10ECDEV_8125这样的标识。10EC是Realtek的厂商ID8125是设备ID确认无误再往下走。还有一个容易被忽略的点如果主板上有多个网口或者你插了独立的RTL8125网卡PG Tool的设备列表里会显示多个设备。烧录前一定要看清楚当前选中的是哪一个选错了会把别的网卡MAC改掉。我一般会先把要烧的网卡插上其他网卡暂时禁用避免误操作。2.3 硬件连接与BIOS设置注意事项RTL8125B烧录MAC不需要额外的编程器PG Tool通过PCIe总线直接读写网卡的EEPROM/OTP所以只要网卡在系统里正常识别就行。但有几个BIOS设置会影响烧录Above 4G Decoding建议开启某些主板不开这个PG Tool访问网卡寄存器会失败。PCIe ASPM建议先关掉省电模式可能导致烧录过程中通信中断。Secure Boot如果要在UEFI环境下用EFI版本的工具Secure Boot可能会拦截未签名的EFI程序建议临时关闭。另外烧录过程中不要断电、不要休眠、不要热插拔网卡。虽然RTL8125B的OTP写入有校验机制但写到一半断电网卡可能进入异常状态需要用恢复模式重新烧。3. PG Tool界面详解与MAC地址填写规则3.1 工具主界面各区域功能拆解打开RTNicPgW.exe界面看起来有点年代感但功能区域划分很清晰。我把它分成四块来讲左上角是设备列表区显示当前系统里所有被PG Tool识别到的Realtek网卡。每一行会列出网卡的PCI位置、型号、当前MAC地址。如果这里空白说明驱动没装好或者工具版本不支持。右上角是EEPROM/OTP信息区显示选中网卡的存储类型、大小、当前写入状态。RTL8125B用的是OTPOne-Time Programmable区域容量不大但MAC地址、PID/VID这些关键信息都存在里面。中间是参数编辑区这是核心操作区。可以修改的字段包括字段名说明是否必改MAC Address网卡物理地址是Node ID节点标识通常和MAC一致否Subsystem ID子系统ID影响驱动匹配否Vendor ID厂商ID默认10EC否Device ID设备ID默认8125否Pin Configuration引脚配置否底部是操作按钮区常用的有Read读取当前值、Write写入、Verify校验、Save保存配置到文件。3.2 MAC地址的格式与合法性校验MAC地址是6个字节写成十六进制就是12个字符通常用冒号或横杠分隔比如00:E0:4C:68:12:AB。在PG Tool里填写的时候一般不需要分隔符直接填00E04C6812AB就行工具会自动格式化显示。这里有几个硬性规则第一个字节的最低位必须是0表示单播地址。如果填了奇数比如01那就是组播地址网卡可能无法正常工作。第一个字节的次低位0表示全局唯一厂商烧录1表示本地管理软件修改。我们烧录硬件地址应该填0。不能全0或全F000000000000和FFFFFFFFFFFF都是保留地址写了会出问题。OUI部分前三个字节建议用自己设备原本的OUI或者用Realtek分配的00E04C。不要随便填一个不存在的OUI某些交换机或路由器会做OUI校验。我一般是这样生成MAC的保留原网卡的前三个字节比如00E04C后三个字节用随机数生成但要确保同一批次不重复。可以用Excel拉一列随机十六进制或者用PowerShell跑一段# 生成一批不重复的MAC地址前缀固定00E04C $prefix 00E04C $macs () while ($macs.Count -lt 10) { $suffix -join ((1..6) | ForEach-Object { {0:X} -f (Get-Random -Minimum 0 -Maximum 16) }) $mac $prefix $suffix if ($macs -notcontains $mac) { $macs $mac } } $macs这段脚本会输出10个00E04C开头的MAC每个都不一样。实际烧录前我会把这些地址分配到对应的机器上做好记录避免重复。3.3 OTP与EEPROM的区别RTL8125B该选哪个RTL8125B用的是OTP区域来存储MAC不是传统的EEPROM。这两者的区别在于EEPROM可以反复擦写OTP是一次性可编程写进去之后不能再改除非用特殊的高压擦除但一般工具不支持。等等这里要纠正一个常见误解RTL8125B的OTP并不是真的只能写一次。Realtek的OTP设计里MAC地址区域是可以重写的但重写次数有限制大概几十次到上百次。所以烧错了不用慌重新烧一次就行但别反复折腾。在PG Tool里如果选错了存储类型比如选了EEPROM但实际是OTP写入会失败或者写进去不生效。判断方法很简单点Read按钮如果能读出当前MAC说明工具和网卡通信正常存储类型一般也是对的。如果读出来全是FF或者00可能是存储类型选错了或者网卡根本没烧过。4. 完整烧录流程从读取到校验4.1 读取当前网卡信息与备份正式烧录前第一步永远是先读后写。点Read按钮PG Tool会把网卡当前OTP里的所有信息读出来包括MAC、VID、PID、Subsystem ID等。这时候要做两件事第一确认读出来的MAC是不是你要改的那个。如果读出来是00E04C000000或者和别的机器重复那说明确实需要烧录。第二把当前配置保存一份。点Save按钮存成一个.ini或.txt文件。万一烧录过程中出问题还能对照原始值恢复。我一般会把文件名写成机器编号_网卡型号_日期.ini比如NAS01_RTL8125B_20250101.ini。读取的时候如果报错常见原因有驱动没装对换Realtek官方驱动网卡被其他程序占用关掉杀毒软件、防火墙、网络管理工具权限不够右键PG Tool以管理员身份运行网卡型号不支持确认工具版本是否包含RTL8125B4.2 填写新MAC并写入OTP读取成功后在MAC Address字段填入新的地址。注意不要带分隔符直接填12位十六进制。填完之后先别急着点Write做一次格式检查长度是不是12位有没有非十六进制字符第一个字节是不是偶数最低位为0是不是全0或全F确认无误后点Write按钮。这时候工具会弹出一个确认框提示“写入后不可恢复”之类的警告。RTL8125B的OTP写入大概需要几秒钟期间进度条会走。千万不要在这个时候断电或者关程序。写入完成后工具一般会自动做一次校验或者提示你手动点Verify。校验的逻辑是把刚写进去的值再读出来和填进去的对比。如果一致说明烧录成功。4.3 校验与重启后的验证PG Tool里的校验通过之后还不算完。因为OTP写入后网卡需要重新加载才能生效。我的做法是关闭PG Tool在设备管理器里禁用再启用网卡或者直接重启系统重启后打开命令提示符输入ipconfig /all找到对应网卡看物理地址是不是新的再用getmac /v命令确认一遍如果ipconfig里显示的MAC还是旧的可能是驱动缓存了旧值。这时候卸载网卡驱动重新扫描硬件让Windows重新读取OTP。还有一种情况烧录成功但系统里显示的还是旧MAC。这通常是因为Windows的注册表里缓存了网卡的MAC。可以在设备管理器里卸载网卡勾选“删除此设备的驱动程序软件”然后重启让系统重新识别。4.4 批量烧录的效率技巧如果手里有十几台机器要烧一台一台手动操作太慢。我总结了一个半自动的流程把PG Tool和配置文件放在U盘里做成绿色版每台机器启动后先运行一个批处理自动读取当前MAC并记录到文件然后用PG Tool的/auto参数部分版本支持配合预生成的MAC列表批量写入写入完成后批处理自动调用getmac验证并记录结果不过要注意不是所有版本的PG Tool都支持命令行参数。我用的v2.4版本支持/mac和/auto但有些版本只有图形界面。如果工具不支持自动化那就只能手动但可以把MAC列表打印出来烧一台勾一台避免重复。5. 烧录过程中可能遇到的坑与排查思路5.1 工具识别不到网卡怎么办这是最常见的问题。打开PG Tool设备列表空白或者只显示其他型号的网卡。排查顺序如下第一确认驱动。设备管理器里看网卡有没有黄色感叹号。如果有装Realtek官方驱动。如果显示正常但PG Tool还是认不到试试卸载驱动后重新扫描。第二确认工具版本。RTL8125B是2.5G网卡老版本的PG Tool可能只支持到1G的RTL8111系列。找支持2.5G的版本或者看工具目录下有没有Rtl8125相关的配置文件。第三确认权限。PG Tool需要直接访问PCIe配置空间普通用户权限不够。右键以管理员身份运行。第四确认BIOS设置。前面提到的Above 4G Decoding、ASPM这些都可能影响。如果以上都不行换一个PCIe插槽试试有时候是插槽本身的问题。5.2 写入失败或校验不通过的常见原因写入失败一般有几种表现进度条走到一半报错、提示“Write failed”、或者写完之后校验值对不上。我遇到过的一次是OTP区域被锁。某些主板厂商在出厂时会锁定OTP防止用户修改MAC。这种情况下PG Tool会提示“OTP locked”或者类似信息。解决办法是用Realtek的另一个工具RTFlash先解锁但解锁操作有风险搞不好网卡就废了。如果只是自己用软件层面改MAC其实也够没必要硬烧。还有一次是MAC地址冲突。我填了一个和局域网里另一台机器相同的MAC烧录本身成功了但一插网线就冲突。所以烧录前一定要做好MAC分配表确保唯一。校验不通过的情况多半是写入过程中通信中断。重新烧一次就行OTP允许重写。但如果连续几次都失败可能是网卡硬件有问题换一块试试。5.3 烧录后网卡不工作或速率异常烧录完MAC重启后网卡不亮了或者协商速率只有100M甚至10M。这种情况一般是OTP里其他参数被误改。PG Tool在写入MAC的时候如果勾选了“写入所有字段”可能会把Subsystem ID、Pin Configuration这些也写进去导致驱动匹配异常。解决办法重新打开PG Tool读取当前OTP对照之前备份的原始配置把不该改的字段改回去再写一次。如果备份丢了可以尝试用Realtek的默认配置模板恢复。还有一种情况是网卡能识别但无法上网。检查一下IP配置烧录MAC不会影响IP但如果之前绑定了静态IP和旧MAC可能需要重新配置。6. 烧录之外的MAC地址管理经验6.1 如何规划一批不冲突的MAC地址批量烧录最怕的就是地址重复。我的做法是建立一个简单的Excel表格列包括机器编号、网卡型号、原MAC、新MAC、烧录日期、操作人。新MAC的生成规则是前三个字节用00E04C第四个字节用机器编号的十六进制比如第1台是01第16台是10后两个字节随机。这样既能保证唯一性又能从MAC看出机器编号。如果机器数量超过255台第四个字节不够用可以把第三个字节也纳入编号范围。但一般小规模部署00E04C加两位编号足够了。6.2 软件改MAC与硬件烧录的适用场景对比不是所有场景都需要硬件烧录。我整理了一个对比表场景软件改MAC硬件烧录临时测试适用重启失效没必要绕过网络绑定适用但可能被检测更彻底PXE启动不生效必须硬件烧录Wake-on-LAN部分生效稳定生效批量部署每台都要改一次烧录永久生效系统重装需要重新改不受影响所以如果只是日常使用软件改改就行。但如果是做无盘系统、批量部署、或者需要底层网络唤醒硬件烧录是唯一可靠的办法。6.3 烧录工具的替代方案与选择建议除了Realtek PG Tool还有一些第三方工具可以烧录RTL8125的MAC比如EEUPDATEIntel的工具但某些版本支持Realtek、Flashrom开源但需要硬件编程器。不过这些工具要么兼容性不好要么操作复杂对于RTL8125B来说PG Tool仍然是最直接的选择。如果实在找不到PG Tool还有一个办法用Linux下的ethtool配合Realtek的r8168驱动某些版本支持通过ethtool -E写入MAC。但这个操作风险更高而且不是所有驱动版本都支持我不太推荐新手尝试。最后再分享一个小技巧烧录完成后用标签打印机打一张小贴纸写上MAC地址贴在网口旁边。以后维护的时候不用开机查看一眼就知道。这个习惯帮我省了不少事。