很多朋友都有过这样的经历:刚买回来的二手品牌笔记本,系统属性里显示的却是上一任机主或者某个陌生公司的名称和LOGO;或者自己认认真真组装了一台新电脑,结果“系统”页面里赫然写着“To be filled by O.E.M.”——这个占位字符串是主板出厂时默认写入的OEM信息,既难看又让整台机器显得很“半成品”。Windows的OEM信息修改,就是把系统属性页里显示的计算机制造商、型号、支持电话、支持网址以及右下角那个小LOGO,全部替换成自己想要的文字和图片。这项操作属于系统个性化定制的经典入门活儿,工具简单、步骤固定、风险可控,非常适合喜欢折腾系统的玩家、二手电脑卖家、企业IT运维人员以及做系统封装的朋友参考。下面我按照从原理到实操的顺序,把这套东西完整讲透。
1. 先搞清楚:系统属性页里的OEM信息到底存到哪里了
1.1 注册表里的OEMInformation主键
Windows不是把OEM信息保存在某个配置文件里的,而是集中放在注册表的一个固定分支下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation这个OEMInformation主键就是系统属性页(右键“此电脑” → “属性”)读取信息的核心位置。注册表里常见的值有Manufacturer(制造商)、Model(型号)、SupportHours(支持时间)、SupportPhone(支持电话)、SupportURL(支持网址)、Logo(LOGO图片路径)几个字符串值。只要系统属性页被打开,资源管理器就会去这个路径下读取这些字段,然后渲染到“系统”窗口的“计算机名、域和工作组设置”上方的品牌区域。
1.2 为什么品牌机和组装机显示的OEM信息不一样
品牌机出厂时,厂商既会在BIOS/UEFI固件里写入OEM信息,也会在预装系统的注册表里塞好对应的OEMInformation键。所以联想电脑显示联想,戴尔电脑显示戴尔,这是软硬两层配合的结果。而组装机用的零售主板,BIOS里虽然也有一段默认OEM字符串,但往往就是“To be filled by O.E.M.”这种占位内容。如果装的是原版MSDN镜像,注册表里压根没有OEMInformation这个主键,系统属性页就会退化为只显示Windows版本信息,不显示任何制造商字段。如果你手上的系统属性里出现了某个品牌名,十有八九是用了该品牌的恢复镜像或定制版系统。理解这个原理后就会明白:我们要做的修改,本质上是写入或覆盖注册表的OEMInformation分支,和BIOS里那一层信息没关系,所以不需要刷BIOS,风险小很多。
注意:修改注册表OEMInformation只影响Windows系统属性页的显示。开机自检画面、Windows启动画面里的LOGO来自BIOS和bootres.dll等系统文件,不走这个分支,不要指望改完注册表开机画面也跟着变。
1.3 64位系统下的“幽灵”:WOW6432Node重定向
在64位Windows上,注册表有个对32位应用程序透明的重定向机制:32位程序访问SOFTWARE\Microsoft\Windows\CurrentVersion时,系统会悄悄把读写操作重定向到SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion。这个机制对OEM信息有一个非常典型的坑:很多第三方的OEM修改小工具是32位程序,它们以为自己写入了OEMInformation,实际上写到了WOW6432Node下面。而系统属性页的资源管理器是64位进程,读取的是原生SOFTWARE分支,两边对不上,就出现了“工具提示修改成功,但系统属性毫无变化”的现象。所以判断OEM信息是否真的生效,必须以HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation为准,不要看错地方。
2. 动手之前:备份、权限和工具三件事必须备好
2.1 导出注册表分支做安全备份
修改注册表虽然没有修改BIOS那么严重的风险,但依然存在误删值、填错类型导致系统属性页异常的可能性。我建议在动手前,先用管理员权限打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation,右键点击左侧的OEMInformation文件夹图标,选择“导出”,保存成一个.reg文件。如果这个主键不存在,就右键CurrentVersion文件夹,选择“新建 → 项”,命名OEMInformation再导出。备份文件放桌面就行,等所有修改完成且确认无异常后再删掉这个备份也不迟。
2.2 权限问题:为什么提示“无法创建值”或者“写入被拒绝”
原版系统里CurrentVersion这个分支的默认权限是允许SYSTEM和Administrators组完全控制的,理论上管理员身份打开注册表编辑器就可以直接写入。但有两类情况会让你碰壁:一是当前登录账户是标准用户,即使弹出UAC也未必有权限写入HKLM(本地机器)分支;二是某些精简版系统或安全软件已经修改了注册表键的ACL权限,导致Administrators组对这个子键只有“只读”权限。遇到这类问题,不要硬刚,先确认自己是不是管理员账户,再用管理员身份运行regedit.exe。如果确认是管理员仍然拒绝写入,右键该键选择“权限”,给当前账户勾选“完全控制”,改完保存后再写。这套权限处理思路适用于所有HKLM下的注册表修改,值得养成习惯。
2.3 几种可选的修改工具和使用场景
改OEM信息的手段大致分三类:
| 方案 | 体现形式 | 适用人群 |
|---|---|---|
| 注册表编辑器手动修改 | 图形界面逐项填值 | 改一次、想看清楚每一步原理的用户 |
.reg文件导入 | 双击或命令行静默导入 | 批量装机、多人维护、需要自动化场景 |
| 第三方OEM信息小工具 | 图形界面带LOGO预览 | 不想碰注册表、希望所见即所得的用户 |
三种方案本质都是改注册表,没有高下之分。我个人会更推荐.reg文件,它既是纯文本,可以放进Git管理,也能在系统封装阶段通过应答文件或批处理无人值守执行,最适合一劳永逸。图形工具适合单机快速修改,但在64位系统上有前文提到的WOW6432Node重定向风险,用的时候多留个心眼。
3. 核心实操:逐个手写OEM注册表键值并让修改立即生效
3.1 一张表看懂OEMInformation的六个常用值
OEMInformation键下最常用的字符串值就是下面这几个:
| 键名 | 含义 | 示例数据 |
|---|---|---|
Manufacturer | 制造商名称,显示在最上方醒目的位置 | DCH |
Model | 机型型号,显示在制造商下方 | Imp 15 |
SupportHours | 支持时间段,显示在“支持信息”区域 | 24 Hours |
SupportPhone | 支持电话,显示在“支持信息”区域 | 400-xxx-xxxx |
SupportURL | 支持网址,通常可点击跳转,显示在“支持信息”区域 | https://www.example.com |
Logo | LOGO图片路径,显示在行首 | %windir%\System32\oemlogo.bmp |
填进去的Manufacturer和Model会直接以文本形式出现在系统属性页的品牌区域,字体不小,拼写别写错。SupportURL在系统属性页里通常会以超链接的形式显示,单击会调用默认浏览器打开对应网址,所以务必填完整的https://前缀,否则点击会报错。Logo路径支持绝对路径和%windir%这样的环境变量,但不支持相对路径,这个细节后面专门展开讲。
3.2 在注册表编辑器里手动写入完整OEM信息
用Win + R输入regedit并按回车,接受UAC弹窗后,定位到:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion在左侧树状目录里找到CurrentVersion,右键 → 新建 → 项,命名为OEMInformation。接下来在右侧空白处右键 → 新建 → 字符串值,按上面表格逐个建立Manufacturer、Model、SupportPhone、SupportURL和Logo。每建立一个值,就双击它,在“数值数据”框里填入对应内容,点击确定。如果某个字段不想显示,比如不想留电话,那就不要创建SupportPhone这个值,留空字符串或删除值即可,系统属性页会自动隐藏对应的那一行。
3.3 用.reg文件实现一键写入
手动逐个新建值效率太低,我更推荐准备一个.reg文本文件。新建一个oeminfo.reg,用记事本打开,写入以下内容:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation] "Manufacturer"="DEV Community" "Model"="Custom Gaming PC" "SupportHours"="Mon-Fri 9:00-18:00" "SupportPhone"="400-1234-5678" "SupportURL"="https://www.example.com" "Logo"="%windir%\\System32\\oemlogo.bmp"注意.reg文件要求编码为ANSI或者带BOM的UTF-8,否则包含中文时导入可能出现乱码。推荐用系统自带记事本保存为“ANSI”编码,或者文件开头不带BOM的UTF-8也能兼容。保存好后双击运行,弹窗选择“是”,然后打开系统属性页检查效果。如果之前有残留的旧值,.reg文件只能覆盖同名值,不会自动删除多余的键,想完全清理时建议先删除整个OEMInformation主键,再导入干净的.reg文件。
3.4 让修改立即生效的小技巧
系统属性页在打开时才读取注册表,所以修改注册表后重启资源管理器就能看到新信息,不需要重启电脑。最快的操作是打开任务管理器,找到“Windows 资源管理器”,右键选择“重新启动”,桌面任务栏会闪一下,系统属性页下次打开就是新内容。如果是在系统封装阶段离线修改注册表,那目标机器启动后的第一次属性页打开就直接显示新信息,不存在缓存问题。
3.5 一个很容易被忽视的细节:System32下写文件需要权限
前面提到Logo值可以填%windir%\System32\oemlogo.bmp,这是Windows最常见的OEM LOGO存放位置。但往C:\Windows\System32下复制文件需要管理员权限,普通资源管理器复制会直接提示“需要权限”。所以正确的顺序是:先用管理员身份把做好的oemlogo.bmp复制到System32目录,再写注册表路径,这样系统属性页才能读到。如果你只想把LOGO放在D:\MyOEM\logo.bmp这种自定义路径,理论上也可以,但部分系统上资源管理器对任意路径的图片文件访问权限更敏感,容易因为ACL问题导致LOGO加载失败。最稳妥的做法永远是把LOGO放进System32目录,路径短、权限统一、历史兼容性好。
4. OEM LOGO这个环节的坑最多:格式、尺寸和背景色都要严丝合缝
4.1 为什么我用PNG和JPG当LOGO就是显示不出来
很多人卡在LOGO这一步:注册表里其他文字都生效了,唯独图片不显示。原因非常统一——Windows系统属性页对OEM LOGO只认BMP位图格式,而且必须是没压缩的BMP。你把PNG或者JPG路径填进去,系统属性页的图片加载模块解析失败,直接放弃渲染整块品牌区域,所以常常出现“文字变了但LOGO区域空白甚至整个品牌信息都不见了”的情况。想用其他格式,需要先把它转换成BMP。转换工具无须安装第三方软件,Windows自带的“画图”就能完成:用画图打开PNG/JPG文件,点击“文件 → 另存为 → BMP图片”,保存类型选“24位位图”即可。
4.2 尺寸和分辨率的经验值
关于LOGO图片的尺寸,微软没有公开发布过硬性标准,但是从系统属性页UI布局可以推导出最佳实践:品牌区域图片框的显示比例大约是1:1,常用尺寸为120x120像素或250x250像素的系统都能正常显示。我实测下来,最好用的尺寸是250x250像素,显示清晰且不会让UI变形。分辨率本身不影响显示,但建议图片色彩深度为24位或32位,老旧的8位256色BMP在部分系统上会显示成色块颗粒。
4.3 透明背景与纯色背景的抉择
BMP格式本身不原生支持Alpha透明度,所以很多漂亮的透明背景PNG转成BMP后,透明区域会变成黑色或白色底,直接贴上去非常突兀。解决思路有两个:一是把LOGO设计成方形色块,图片背景色与系统属性页底色协调;二是用32位BMP,在PS或GIMP里保存为带Alpha通道的BMP,Windows系统属性页能正确识别这种带透明信息的32位BMP,显示效果和PNG一样自然。GIMP导出BMP时勾选“不压缩”和“Alpha通道”,就能得到理想的透明LOGO文件。
注意:普通的“画图”无法保存带Alpha的32位BMP,它只能输出24位BMP,透明区域会被强制填充成黑色。如果你需要透明效果,务必用GIMP、Photoshop这类工具处理。
4.4 验证LOGO生成是否成功的冷门技巧
复制好BMP文件并写入注册表后,如果系统属性页没显示LOGO,可以在“运行”里输入control sysdm.cpl,切到“计算机名”标签页,再切回“高级”或直接关闭,让窗口刷新一次。还是没显示,就打开C:\Windows\System32\oemlogo.bmp确认文件本身能正常打开。如果文件完好、路径正确、格式也是BMP,那就检查注册表里Logo值是不是被什么工具改成了相对路径。把这三步排查完,99%的LOGO不显示问题都能解决。
5. 不想手改注册表?两款工具方案实测对比
5.1 OEM Info Editor:英文界面但逻辑最清晰
OEM Info Editor是一个老牌的OEM信息编辑器,体积很小,界面就是一个表单:各个文本框对应制造商、型号、支持信息,下面有LOGO路径选择和预览图。工具会把信息写入注册表,并帮你复制LOGO文件到System32。实际使用中它的写入逻辑是正确定位原生SOFTWARE\OEMInformation的,64位系统实测正常。缺点是不支持批量部署,改完一台要手动操作下一台,适合个人用户。
5.2 批处理脚本:适合批量装机的自动化写盘方案
如果需要在几十台电脑上统一写入公司OEM信息,用.reg文件加一条复制LOGO的命令就够了。把以下内容保存为set_oem.bat,以管理员身份运行:
@echo off copy /Y oemlogo.bmp %windir%\System32\oemlogo.bmp regedit /s oeminfo.reg这里regedit /s是静默导入注册表,不弹任何提示。整个脚本可以放进U盘,装机完成并进桌面后,双击一次即完成所有OEM信息写入。对于Windows系统封装(Sysprep)场景,还可以把oeminfo.reg放到%WINDIR%\Setup\Scripts目录,利用SetupComplete.cmd在安装阶段自动执行,做到无人值守。这里不展开介绍自定义镜像制作的全流程,但思路是通用的:把注册表修改嵌入部署环节,比事后手动一台台改高效得多。
5.3 工具方案对比一览
| 对比项 | OEM Info Editor | 批处理自动化 | 纯注册表手动 |
|---|---|---|---|
| 上手难度 | 低 | 中 | 中 |
| 适合人群 | 单台快速改 | 批量部署、系统封装 | 想彻底理解原理 |
| 64位兼容性 | 正常 | 正常 | 正常 |
| 批量部署能力 | 弱 | 强 | 弱 |
| 文件依赖 | 需要安装工具 | 需要两个文件 | 无 |
6. 改完之后的验证、排查与善后事项
6.1 验证修改结果的标准姿势
最快的验证方式是:按下Win + Pause组合键,直接弹出“系统”页面,看品牌区域是否显示新的制造商、型号、LOGO和联系电话。这个快捷键比“右键此电脑 → 属性”少点两下,适合快速确认。想进一步验证“支持信息”页面,点击品牌区域下方的“支持信息”链接,弹出的窗口里会详细展示所有Support字段,比主页面更全。
6.2 常见问题排查表
| 现象 | 原因 | 解决 |
|---|---|---|
| 文字生效但LOGO不显示 | 图片不是BMP格式,或路径指向无权限目录 | 转成BMP并放到System32目录 |
| 使用工具修改后系统属性无变化 | 工具为32位,写入被重定向到WOW6432Node | 手动打开注册表确认原生OEMInformation内容 |
| 导入.reg后中文乱码 | 文件编码不是ANSI或Unicode | 另存为ANSI编码再导入 |
| 修改后系统属性页整块品牌区域消失 | 某个键值类型错误或LOGO路径无效 | 删除整个OEMInformation主键再重新导入 |
| 属性页仍显示旧品牌名 | 系统读取了其他位置的缓存或注册表键 | 按前文路径精确核对HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation |
6.3 修改OEM信息会影响系统激活或更新吗
完全不会。OEMInformation只是系统属性页的品牌展示数据,不参与系统激活校验,也不影响Windows更新。品牌机的正版授权信息存储在主板SLIC表或数字许可证里,注册表这个分支改变一百次也不会让系统掉激活。所以放心改,不会碰坏任何功能。不过要注意,如果未来你重装系统,注册表OEMInformation会随系统一起被重置,所以最好把oeminfo.reg和oemlogo.bmp这两个文件一起备份到网盘或U盘,重装后几分钟就能恢复品牌信息。
6.4 完整回收与清理:恢复“原厂”状态
如果想恢复到修改前的样子,或者要彻底移除OEM信息,让它像原版系统一样不显示任何制造商字段,就直接删除整个OEMInformation主键,再重启资源管理器。删除前不建议直接Del键,还是先导出备份,确认恢复无异常后再删备份。做到这里,整套OEM信息修改流程就闭环了:写入 → 验证 → 调整 → 备份 → 恢复,每个环节都清清楚楚。
根据我个人的折腾经验,这项操作最大的价值不是让系统属性页好看那么一点,而是它培养了你对注册表结构的敏感度——知道Windows在哪里读什么、为什么读、怎么改才正确。之后你再遇到其他“修改系统属性页某处显示”的需求,基本都是同一套方法论。最后再分享一个小习惯:改完注册表之后,养成顺手导出.reg备份的好习惯,尤其是系统干净阶段,这个备份文件在日后排查问题时能帮你快速还原现场。