背景信息:
因为公司资产管理的需要,每台计算机都要求有唯一的Serial Number,手上一台兼容机,主板是华硕PRIME Z390-P,在Windows下执行wmic bios get serialnumber返回值是System Serial Number,开机启动信息显示主板的BIOS是AMI的。
在官网可以下载到最新版本的BIOS固件:
https://www.asus.com.cn/supportonly/prime%20z390-p/helpdesk_bios/
使用AMIBCP将.cap固件修改后缀为.rom打开后(我使用的软件下载链接:https://www.isoyun.com/xinximod.zip),在"DMI Tables"->"1 System Information (Type 1)"->"Text Strings"的第四行可以看到"System Serial Number"字串,这个应该就是我们执行"wmic bios get serialnumber"打印的字符串,可以通过此工具将这个字符串修改后保存,再改回.cap后缀通过华硕主板当中的,操作步骤可以参照:华硕主板如何通过ASUS EZ Flash 3更新BIOS,https://zhuanlan.zhihu.com/p/48679236,不过这样操作风险较高,而且BIOS需要载入默认参数再修改,考虑之下没有使用此方案。
实际使用的方案:
参照知乎文章,DMI信息修改工具:https://zhuanlan.zhihu.com/p/548360912
AMI BIOS工具百度下载:
链接:https://pan.baidu.com/s/1nHvMA_lkZXS1PCnQ8H80Yw 提取码:long
参考上面知乎文章第二段,我在Windows下使用AMIDEWINx64.EXE修改System Serial Number,查看帮助可以找到对应的命令是 AMIDEWINx64.EXE /SS [SerialNumber],如果只有参数/SS则打印当前的SerialNumber,待后面的[SerialNumber]参数则把参数数据写入到主板当中,实时生效,再重启在cmd命令行窗口下执行 wmic bios get serialnumber,可以正常打印系统序列号。