迅维网

查看: 7707|回复: 14
打印 上一主题 下一主题

从bios文件中提取cpu微码万能方法

  [复制链接]
跳转到指定楼层
1#
发表于 2020-10-24 23:16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 安徽 来自 安徽

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 zhaoyueming 于 2020-10-24 23:20 编辑

十六进制方法提取bios文件里的cpu微码方法
这个基本是万能提取方法
首先下载
UltraEdit
这个软件
随便搜一下就找到了


安装UltraEdit
再打开UltraEdit


然后打开别人的bios文件




打开后一般是这个样子的


重点如下
如何提取别人的bios文件里想要的cpu微码
首先你要确定别人的bios文件里有没有你想要的cpu微码
确定的方式就是猜测或者
别人已经说明包含了你想要的cpu微码
#####################################################################
首先假如
你想要的cpu微码为06a9
然后UltraEdit里搜索
01 00 00 00 A9 06
注意搜索的内容和你想要的cpu微码正好是相反的
也就是你想要06a9的cpu微码
搜索内容就是
01 00 00 00 后面加上
a9 06
反过来才是正确的
而不是正常的顺序
就是cpu微码的四个字
后面两个放在前面两个的前面
而01 00 00 00是cpu微码文件通用的开头
开头一般都是01 00 00 00开头
先点击 查找 按钮


再输入查找内容
01 00 00 00 a9 06
点击下一个 即是开始搜索


点击下一个后出现了如下内容
其中有两个
01 00 00 00
开头
第一个01 00 00 00后面的第9个和第10个也就是 c d 下面显示的正是 a9 06
第二个01 00 00 00后面第1个和第2个也就是 4 5下面显示的正是a9 06
符合以上两点一般才是真正正确的cpu微码开头
##################################################################
注意一般情况符合以上两点是正确的cpu微码开头
但是 但是 但是 说了三遍
有些cpu微码只有第一个01 00 00 00开头的内容
却没有第二个01 00 00 00开头的内容
但依然是正确的cpu微码内容
这种没有第二个01 00 00 00开头的内容的cpu微码 寻找起来比较困难

评分

参与人数 1下载分 +2 +2 收起 理由
486258 + 2 + 2 老司机!双击666+关注.....

查看全部评分

推荐
发表于 2020-10-27 17:00:47 | 只看该作者 来自: 安徽芜湖 来自 安徽芜湖
486258 发表于 2020-10-27 16:45
楼主已加分,请问下有关于这个CPU微码代表意义吗 比如哪些是三代CPU的  哪些是9代的等等,还有如何替换或增 ...

cpu微码一般是为了主板可以安装识别新的cpu的 这样不需要更换主板甚至就可以让新一代的cpu正常使用
添加cpu微码可以用MMTool具体看我另一个帖子

回复 支持 1 反对 0

使用道具 举报

2#
发表于 2020-10-24 23:22:14 | 只看该作者 来自: 安徽 来自 安徽
本帖最后由 zhaoyueming 于 2020-10-24 23:27 编辑

先介绍第一种情况的cpu微码内容
第一个01 00 00 00后面的第9个和第10个也就是 c d 下面显示的正是 a9 06
第二个01 00 00 00后面第1个和第2个也就是 4 5下面显示的正是a9 06
正是我们要找的06a9 cpu微码数据


找到内容数据后
################################################################
一定要把第一个01 00 00 00前面所有的数据都删掉
之所以用删掉的方式是因为UltraEdit有bug
复制的内容再粘贴后新的复制的内容有一些数据会改变
为了避免保存后的内容绝对的真实有效
所以使用删除cpu微码内容前面和后面的内容
这样自动就留下了cpu微码内容数据
##################################################################
首先删掉第一个01 00 00 00前面所有的内容
先点击第一个01 00 00 00的01的0 也就是用黄的颜色选中的


再把内容往上拉 直到第一个内容数据 第一个内容数据就是00000000h那个第一个数据


这时候先一直点击键盘左下角的shift按键不要松开
一定不要松开 不然要从新再开一遍
然后鼠标左键再点击00000000h的第一个数据也就是F
点击后如果没有全部选择 就要点击第二次00000000h的第一个数据F
直到全部选择
如图 蓝色内容表示全部选择了


然后鼠标右键点击蓝色内容
再点击一下剪切 注意是剪切


这个时候第一个内容数据就变成了01 00 00 00


然后删除cpu微码的后面所有的内容
首先从第一个01 00 00 00开始往下滚动
注意要用鼠标的滚轮一点点的滚动 不然数据一下子滚动太多会错过
然后鼠标的滚轮不断的往下滚动
不断往下滚动第一次 注意是第一次出现了很多连续的小点 而不是第二次 第二次出现很多连续的小点其实是错过了
说明就是cpu微码大致的结尾了
但不是真正确定的结尾


然后 点击最后一个小点的0那个数据


然后用右边的拉动按钮一直往下拉
拉到最后的一个数据地方


这时候先一直点击键盘左下角的shift按键不要松开
一定不要松开 不然要从新再开一遍
然后鼠标左键再点击最后一个数据也就是F
点击后如果没有全部选择 就要点击第二次最后一个数据F
直到全部选择
如图 蓝色内容表示全部选择了


回复 支持 反对

使用道具 举报

3#
发表于 2020-10-24 23:23:55 | 只看该作者 来自: 安徽 来自 安徽
本帖最后由 zhaoyueming 于 2020-10-24 23:39 编辑

然后鼠标右键点击蓝色内容
再点击一下剪切 注意是剪切


这时最后一个数据就变成了小点的那个0了


接下来才是重点的重点
先检查一下
第一个开头的内容为01 00 00 00
最后的结尾内容为小点的0
如果是说明删除的前面和后面的内容是正确的
这时先点击第一个开头的内容0


再用拉动快速的拉到最后
先一直点击键盘左下角的shift按键不要松开
一定不要松开 不然要从新再开一遍
然后鼠标左键再点击最后一个数据
点击后如果没有全部选择 就要点击第二次最后一个数据
直到全部选择
如图 蓝色内容表示全部选择了


重点看右下角选择的字节数字
这里选择了12431字节
然后12431除于1024
等于12.1396484375
不是整除 有小数因为cpu微码数据大小一般都是1024的整数倍
说明全部选择的内容里面有多余的部分

如果能够整除 说明全部选择的内容刚好就是正确的
这个时候再把结果的小数点后面的数字全部去掉
也就是12.1396484375看作是12
注意即使是12.999999999也要看作是12而不是四舍五入 不是四舍五入
然后12乘以1024
等于12288
说明选择的内容字节为12288才是正确的内容没有多也没有少
这时知道了正确内容大小就可以选择了
注意选择的时候是一整行一整行的选择
先从第一个01的0开始点击


再拉到最后
先一直点击键盘左下角的shift按键
再选择
一般是选择第一个出现的小点前面的那一行最后一个数据
也就是整行的选择
选择之后正好是12288字节
如图


那么再把多余的内容删掉
由于内容很少 直接鼠标选择就行了 不需要快捷键


再右键点击选择的蓝色部分 再点击剪切 注意是剪切


之后再全部选择最后留下来的部分
注意不是按ctrl+a全部选择
那是错误的字节显示
而是先点击第一个开头的字节
再鼠标往下快速拉
先一直点击shift按键
再点击最后一个数据
全部选择的字节显示为12288字节 说明最后留下来的内容正确 不多也不少
如图


这时另存为
当然保险起见直接点击保存最好
不过先备份别人的bios文件 当然软件在保存的时候会自动备份源文件的


之后别人的bios.rom就变成了只有12288字节的文件了
之前的别人的bios.rom自动命名为别人的bios.rom.bak
这时把只有12288字节的别人的bios.rom文件命名为06a9.bin即可当然名字随便都可以
只要你知道是什么意义




回复 支持 反对

使用道具 举报

4#
发表于 2020-10-24 23:25:39 | 只看该作者 来自: 安徽 来自 安徽
第二种情况的cpu微码内容就比较难找了
比如要寻找cpu微码为1632的内容
第二种情况的cpu微码内容只有第一个01 00 00 00后面的第9个和第10个也就是 c d 下面显示的3216
注意内容反过来
那就要耐心一点了
首先点击查找


由于需要搜索的快一点 这里需要搜索cpu微码的内容比较快一点
而不是用01 00 00 00作为搜索内容
用01 00 00 00作为搜索内容会搜索的非常慢
因为表示01 00 00 00的数据非常多
而用cpu微码搜索数据反而比较少就可以很快搜索出来
搜索里输入反过来的cpu微码 也就是32 16


然后第一个搜索到的内容为
74 4c 32 16 8f ed 33 19 2f d6 36 a5 ff c4 33 18
首先32 16不是在一行的第13和第14也就是c d的下面位置 说明不是
32 16一般需要在一行的第13和第14也就是c d的下面位置才是

然后第二个搜索结果
32 16 77 e4 b1 09 f2 a4 d9 4e 29 2e 6b e1 ae 8d
首先32 16不是在一行的第13和第14也就是c d的下面位置 说明不是
32 16一般需要在一行的第13和第14也就是c d的下面位置才是


再继续搜索
这时出现的内容为
01 00 00 00 02 00 00 00 98 19 10 06 32 16 00 00
首先开头是01 00 00 00 正确的一行的开头
其次 32 16 在第13和第14也就是c d下面的位置
说明一般是正确的
但这个时候不要那么确定


########################################################################
这时不要那么确定
而是继续搜索
如果继续搜索了所有的32 16 数据发现只有一个01 00 00 00开头的说明就是这个了
如果还有其他01 00 00 00开头的 32 16也在c d位置的下面
一般应该是另一个同样的不同版本的cpu微码
因为同一个bios文件里有时存在多个同样名字但不同版本的cpu微码
建议全部都保存下来
#######################################################################
搜索完成后
发现只有一个符合
就是01 00 00 00 02 00 00 00 98 19 10 06 32 16 00 00这个符合
然后开始删除01 00 00 00前面所有的内容

然后鼠标一点点的往下滚动
找到第一次注意是第一次连续出现的小点的内容


把最后的连续的小点后面所有的内容删掉 用剪切的方式删掉


发现最后保留下来的字节为2304 不是1024的整倍
需要为1024的整倍2048才是没有多没有少的正确的内容大小
最后把多余的部分剪切掉
如下图
选择的正好是2048字节 后面的内容也就是不是蓝色的选中部分都剪切掉即使看起来有一些数据的样子也要剪切掉


最后真正剩余的就是2048字节


然后点击保存即可
这样别人的bios.rom只有2048字节大小了
再把别人的bios.rom命名为1632.bin皆可以了
以上教程结束

回复 支持 反对

使用道具 举报

5#
发表于 2020-10-26 11:02:09 | 只看该作者 来自: 湖南 来自 湖南
想下载可是没有分

回复 支持 反对

使用道具 举报

6#
发表于 2020-10-26 11:16:15 | 只看该作者 来自: 湖南 来自 湖南
想下载可是没有分

点评

不需要下载 去百度搜索就找到了  详情 回复 发表于 2020-10-26 11:32
回复 支持 反对

使用道具 举报

7#
发表于 2020-10-26 11:32:21 | 只看该作者 来自: 安徽芜湖 来自 安徽芜湖

不需要下载 去百度搜索就找到了

回复 支持 反对

使用道具 举报

8#
发表于 2020-10-26 22:17:58 来自迅维网APP | 只看该作者 来自: 河南 来自 河南
这个动手能力太强了

点评

学会了很简单  详情 回复 发表于 2020-10-26 22:45
回复 支持 反对

使用道具 举报

9#
发表于 2020-10-26 22:45:15 | 只看该作者 来自: 安徽芜湖 来自 安徽芜湖
14161388 发表于 2020-10-26 22:17
这个动手能力太强了

学会了很简单

回复 支持 反对

使用道具 举报

10#
发表于 2020-10-27 16:45:37 | 只看该作者 来自: 韩国 来自 韩国
楼主已加分,请问下有关于这个CPU微码代表意义吗 比如哪些是三代CPU的  哪些是9代的等等,还有如何替换或增加CPU微码啊谢谢

点评

cpu微码一般是为了主板可以安装识别新的cpu的 这样不需要更换主板甚至就可以让新一代的cpu正常使用 添加cpu微码可以用MMTool具体看我另一个帖子  详情 回复 发表于 2020-10-27 17:00
回复 支持 反对

使用道具 举报

12#
发表于 2020-10-28 19:00:30 | 只看该作者 来自: 安徽 来自 安徽
本帖最后由 zhaoyueming 于 2020-10-28 19:04 编辑

还有简单的使用软件通用cpu微码提取方法

首先下载一个叫UEFITool_NE的软件
注意不是UEFITool
这个软件不好找
我提供一下地址
https://www.softpedia.com/get/System/System-Miscellaneous/UEFITool.shtml
打开地址后
点击download

再点击External mirror - Alpha
等待一会自动出现下载文件的窗口
点击确认下载
即可下载UEFITool_NE软件

然后打开UEFITool_NE

再用软件打开bios文件


打开后一般是这样的

重点如下
不断地展开选项

直到找到叫Microcode的项目
下面有很多inter microcode的小的项目
这就是cpu微码了


如何知道保存的cpu微码是不是想要的cpuid
首先在保存之前右键点击小的inter microcode的项目
再点击 hex wiew

然后出现的十六进制数据如下

重点是第一个开头出现的01 00 00 00后面第9个和第10个数据内容就是cpu微码表示了
01 00 00 00是cpu微码数据文件通用开头
比如第一个开头出现的01 00 00 00 17 00 00 00 11 20 07 04 A7 06 02 00
其中第9个和第10个数据是A7 06
那么cpu微码就是06 A7
注意十六进制数据和cpu微码是反过来的

第二个01 00 00 00后面第1个和第2个出现的数据也是A7 06
但有时cpu微码数据只有第一个01 00 00 00开头的数据
第二个01 00 00 00开头的数据有时不存在
也就是01 00 00 00 A7 06这个01 00 00 00开头的数据有时候不存在
所以重点是看开头出现的第一个01 00 00 00后面的数据作为判断

然后重点
右键点击小的inter microcode的项目
再点击Extract as is...
######################################################################
注意不要点击Extract body..这会让保存的cpu微码数据文件是错误的 也就是无法正常使用的
所以要点击Extract as is...保存cpu微码数据文件
####################################################################

然后随便保存一个地方 名字随便写一个
当然最好写cpu微码数据代表的cpu微码名字 可以不会识别错误
比如我这里就是写06a7名字
这样其中一个cpu微码数据就保存好了
然后桌面就出现了一个叫06a7.ucd的文件
就是cpu微码数据文件了

接着保存第二个微码数据
保存之前查看第二个cpu微码的cpuid
所以第二个保存的cpu微码就是06A3
注意反过来的
然后保存的名字为06A3
桌面出现了一个叫06A3.ucd的文件
这样把所有的inter microcode全部提取出来
当然如果你找到了想要的cpu微码就不需要全部提取
如果找不到想要的cpu微码一般应该是bios文件里不存在你想要的cpu微码

回复 支持 反对

使用道具 举报

13#
发表于 2020-10-29 00:20:47 | 只看该作者 来自: 广东广州 来自 广东广州
人机对话?把十六进制转为只管的数字+英文模式更加容易懂

回复 支持 反对

使用道具 举报

14#
发表于 2020-10-29 20:37:25 | 只看该作者 来自: 浙江 来自 浙江
https://download.colorful.cn/MotherBroard/AMD%20Series/Llano/C.A75K%20V15/1009n.rar
USB3.0识别2.1,看看能不能修改下bios,谢谢。

回复 支持 反对

使用道具 举报

15#
发表于 2025-3-26 15:17:23 | 只看该作者 来自: 江苏连云港 来自 江苏连云港
请教一下,intel主板,想更新RC 版本要怎么DIY呀?

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复