干DIY装机这行久了客户最常提的一个需求就是开机看到自己品牌的Logo系统属性里显示的制造商、型号、支持电话也要换成咱们自己的。这就是改Windows OEM信息。说白了OEM信息就是Windows在系统属性、关于页面里展示的那一串品牌标识数据正常的品牌机出厂就带比如联想会显示Lenovo和对应型号戴尔会显示Dell XPS 13等。自己攒的机器或者重装系统之后这块常常是空白或者乱的。这篇文章就把我在多年装机、系统部署里改OEM信息的方法完整整理一遍包括注册表手动改、脚本批量改、Logo制作、常见坑位给有同样需求的同行和新手作个参考。1. 先搞清楚OEM信息到底存在哪1.1 系统属性里的OEM信息是“软”信息OEM信息在Windows里的存放位置其实是注册表而不是写死在系统文件里。具体路径是HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation这里的HKLM代表HKEY_LOCAL_MACHINE是系统级配置。只要往这个注册表项里写入Manufacturer制造商、Model型号、SupportURL支持网址这些键值系统属性就会按这个值来显示。换句话说这是Windows给人看的品牌标签属于“软件层信息”。所以修改它的第一个前提就是必须用管理员权限操作。普通权限下你连写都写不进去更别提改完生效了。后面我会详细说怎么提权和怎么验证。1.2 别把OEM信息和SMBIOS混为一谈很多教程把系统信息msinfo32里的“系统制造商”“系统型号”和OEM信息混在一起讲这里必须分清楚。msinfo32里那一行“系统制造商”来源是主板BIOS/固件里的SMBIOSDMI数据属于硬件出厂信息跟注册表的OEMInformation是两码事。改注册表只能影响系统属性、关于页面、部分品牌工具显示的OEM文案想改SMBIOS里的制造商那得用刷写工具去动固件风险大得多而且会触发开机自检校验、影响保修我不建议一般用户碰。这也解释了另一个现象为什么有时候你明明把注册表里的制造商改成了自己的品牌名打开msinfo32一看还是“System Manufacturer”或者原厂名字。因为这两个界面读的数据源不一样一个读注册表一个读固件。理解了这一点后面排查“改了没效果”就快多了。2. 手动修改注册表最稳的核心方法2.1 注册表路径和键值详解OEMInformation这个注册表项下常用的键值有6个我把它们的用途和示例整理成一张表键值名称作用示例值Manufacturer制造商名称显示在系统属性制造商一行MyBrandModel产品型号显示在型号一行MyModel 2025SupportHours技术支持时间显示在支持信息弹窗里Mon-Fri 9:00-18:00SupportPhone技术支持电话点击支持信息时可见400-123-4567SupportURL技术支持网址点击支持信息后打开https://example.com/supportLogoOEM Logo图片的完整路径必须是BMP格式C:\Windows\System32\oemlogo.bmp实际显示的时候SupportHours和SupportPhone会一起出现在“支持信息”弹窗里SupportURL则会作为网页打开。Logo在Windows 10/11的“关于”页面里不一定显示但经典系统属性窗口和部分品牌工具会读取所以有条件还是建议加上。2.2 一步步改出第一行OEM信息1按WinR输入regedit回车如果弹UAC提示就点“是”确保注册表编辑器以管理员身份打开。2定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation。如果没有这个项就在CurrentVersion下右键新建“项”命名为OEMInformation。3在右侧空白处右键新建“字符串值”分别添加Manufacturer、Model、SupportHours、SupportPhone、SupportURL等键值双击填入你要显示的内容。4改完不需要重启回到桌面重新右键“此电脑→属性”或者按WinPause即可看到效果。这里有一个很实用的习惯动手之前先右键OEMInformation项选择“导出”把当前默认值备份成一个.reg文件。这样后面万一改乱了双击还原就行。这个习惯我用了十年可靠程度超过大部分“后悔药”工具。3. 让OEM信息真正好用Logo与oeminfo.ini3.1 Logo图片的格式和路径要求Logo是最容易出问题的一项。首先格式只认BMP别想着直接放PNG或者JPG系统属性取图片时会因为解码失败直接不显示。其次尺寸建议控制在120x120像素以内。经典系统属性页给Logo预留的区域大概就是这么大你放一张1024x1024的大图进去显示的时候会被缩放或裁剪观感很差。制作方法很简单用Windows自带的画图打开你的品牌图在主页里选择“调整大小”按像素填120x120然后另存为BMP格式24位色深就够。保存路径我建议放在C:\Windows\System32\oemlogo.bmp。这个目录所有用户都有读取权限不会出现“只改了当前用户能看到其他账户看不到”的情况。路径尽量不要带空格和中文个别版本的系统属性对路径解析比较挑剔。3.2 oeminfo.ini一条绕开注册表的传统路线如果你不想动注册表还有一种更复古的方式在C:\Windows\System32目录下放一个oeminfo.ini文件。文件内容格式如下[General] ManufacturerMyBrand ModelMyModel 2025 SupportHours9x5 SupportPhone400-123-4567 SupportURLhttps://example.com/support LogoC:\Windows\System32\oemlogo.bmp这种方式的本质是让系统属性在找不到注册表配置时退回读取这个ini文件。它的好处是配置内容集中在一个文件里部署时拷贝起来方便缺点是优先级通常低于注册表而且新版Windows对ini方式的兼容性不如注册表稳定。我个人的建议是日常DIY用注册表批量镜像封装时用ini两条路都别混着用优先保证一条生效。3.3 注册表配置和ini同时存在怎么办如果注册表和oeminfo.ini都写了到底听谁的从实际测试来看Windows 10和Windows 11在读取这两个来源时注册表配置会优先。但这不代表绝对的“覆盖”因为不同版本系统、不同属性页面的读取逻辑可能有细微差异尤其是Logo有些窗口读ini有些读注册表。最稳妥的做法是二选一别两处都放否则排查问题时会疯掉。我在项目里统一采用“注册表为主、ini只用于镜像预置”的方案几年下来没出过冲突。4. 批处理与PowerShell批量部署和快速还原4.1 reg add 一键写入脚本手动改注册表适合单台机器但如果你是给公司做批量装机、或者要维护几十台电脑就得写脚本了。我常用的是一个批处理右键“以管理员身份运行”即可echo off reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /v Manufacturer /t REG_SZ /d MyBrand /f reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /v Model /t REG_SZ /d MyModel 2025 /f reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /v SupportHours /t REG_SZ /d 9x5 /f reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /v SupportPhone /t REG_SZ /d 400-123-4567 /f reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /v SupportURL /t REG_SZ /d https://example.com/support /f reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /v Logo /t REG_SZ /d C:\Windows\System32\oemlogo.bmp /f echo OEM信息写入完成请打开系统属性查看效果。 pausereg add对不存在的项会自动创建所以不需要提前手动建OEMInformation项。每个/v对应一个键值名/d后面是要写入的内容/f表示强制覆盖不弹确认。4.2 PowerShell 版本与自动验证如果你在用PowerShell下面的写法更结构化而且可以在写入后自动读取验证$path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation if (-not (Test-Path $path)) { New-Item -Path $path -Force | Out-Null } Set-ItemProperty -Path $path -Name Manufacturer -Value MyBrand -Type String Set-ItemProperty -Path $path -Name Model -Value MyModel 2025 -Type String Set-ItemProperty -Path $path -Name SupportHours -Value 9x5 -Type String Set-ItemProperty -Path $path -Name SupportPhone -Value 400-123-4567 -Type String Set-ItemProperty -Path $path -Name SupportURL -Value https://example.com/support -Type String Set-ItemProperty -Path $path -Name Logo -Value C:\Windows\System32\oemlogo.bmp -Type String Get-ItemProperty -Path $path脚本最后会打印当前项的全部键值用来确认写入是否成功。另外要注意PowerShell脚本也需要“以管理员身份运行”否则Set-ItemProperty写HKLM时同样会被拒绝。如果你想把脚本打包到无人值守系统部署流程里建议在脚本开头加一句if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Host 请以管理员身份运行此脚本 -ForegroundColor Red exit 1 }这句的作用是自检权限没提权就直接退出能省去一堆“脚本明明没报错却没生效”的尴尬。4.3 恢复默认信息的正确姿势改完之后想恢复默认很多人第一反应是直接删注册表项。可行但不够讲究。正确做法是先看原机器有没有OEM厂商预置的键值品牌机出厂有Lenovo、Dell这些Official值直接删掉会让系统属性回到“没有OEM信息”的状态而不是恢复原厂。如果要彻底清掉自己改的内容可以只删除OEMInformation项下的自定义值reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /f或者保留项、逐个删除值。我在给品牌机做系统迁移时一般会先导出原厂注册表做备份再改自己的信息交付后清空或恢复原厂备份。这样既不影响客户观感也不留隐患。5. 常见问题与排查技巧实录5.1 常见问题速查表改OEM信息碰到的问题其实高度集中我把这几年被问得最多的排成了一张表问题现象最可能原因解决办法修改无效系统属性还是显示空白或旧信息没有以管理员权限运行regedit或脚本右键以管理员身份重新执行改错路径64位系统上被重定向在WOW6432Node镜像路径下操作确认路径是HKLM\SOFTWARE\Microsoft不是WOW6432NodeLogo不显示图片不是BMP格式、尺寸太大、路径含中文空格用画图另存为24位BMP控制在120x120路径放System32支持信息按钮点了没反应SupportHours、SupportPhone、SupportURL没写全6个键值全部写上再测试改完后“关于”页面没变化Windows 10/11的关于页面部分字段走固件信息换经典系统属性窗口验证别只盯一个界面系统更新后信息变了品牌机出厂更新工具写回原厂信息重跑一遍脚本或移除相关更新组件5.2 几个容易踩的坑和我的处置习惯第一个坑是Logo格式。有朋友用QQ截图另存为“BMP”结果属性页就是不显示原因是截图工具存的BMP其实是PNG改名的伪BMP或者色深有问题。我现在的做法比较机械统一用画图打开原图、调整尺寸、另存为“24位位图”这个选项选不对的话直接换工具重存。第二个坑是32位/64位注册表重定向。你在64位系统上手动打开regedit改的是HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation但如果你用了一个32位的老工具去读OEM信息它访问的可能是HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\OEMInformation。这两条路径是独立的所以会出现“系统属性显示正常专业软件里读不到”的现象。解决方法是把数据也同步写到WOW6432Node路径下或者换个64位工具。第三个坑是安全软件拦截。部分安全软件把批量修改注册表的行为当成可疑操作脚本跑到一半就静静被拦了不报错也不提示。遇到这种问题先把安全软件暂时退出或放行reg.exe再重新执行脚本。这不是绕安全机制而是明确告知软件你这是在执行预期的系统配置。还有一个不成文的习惯我几乎每台机器都会做修改前把OEMInformation项导出成.reg放到桌面上改完验证无误后再删。这是个三十秒不到的动作但能让你在折腾翻车时两秒还原比任何“后悔药”都管用。最后再说一个很多人不知道的小细节改了OEM信息之后如果你还要做系统镜像记得先清理日志和缓存再封装否则客户第一次开机看到的可能不是你预设的信息而是你调试时的半成品文案。我也有一次因为镜像里残留了测试电话交付后闹了个小笑话。从那以后我的习惯是封装前用脚本重新刷一遍正式文案并打开系统属性截图确认再生成镜像。这步看起来啰嗦但能避免大麻烦。
