如何在 Linux 上安装/更新 Intel 微码固件
创始人
2024-03-01 22:02:57
0

如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢?

微码 microcode 就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。这些来自 Intel/AMD 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。这篇文章演示了如何使用包管理器或由 lntel 提供的 Linux 处理器微码更新来安装 AMD 或 Intel 的微码更新。

如何查看当前的微码状态

以 root 用户运行下列命令:

# dmesg | grep microcode

输出如下:

Verify microcode update on a CentOS RHEL Fedora Ubuntu Debian Linux

请注意,你的 CPU 在这里完全有可能出现没有可用的微码更新的情况。如果是这种情况,它的输出可能是如下这样的:

[ 0.952699] microcode: sig=0x306a9, pf=0x10, revision=0x1c
[ 0.952773] microcode: Microcode Update Driver: v2.2.

如何在 Linux 上使用包管理器去安装微码固件更新

对于运行在 x86/amd64 架构的 CPU 上的 Linux 系统,Linux 自带了工具去更改或者部署微码固件。在 Linux 上安装 AMD 或者 Intel 的微码固件的过程如下:

  1. 打开终端应用程序
  2. Debian/Ubuntu Linux 用户推输入:sudo apt install intel-microcode
  3. CentOS/RHEL Linux 用户输入:sudo yum install microcode_ctl

对于流行的 Linux 发行版,这个包的名字一般如下 :

  • microcode_ctllinux-firmware —— CentOS/RHEL 微码更新包
  • intel-microcode —— Debian/Ubuntu 和衍生发行版的适用于 Intel CPU 的微码更新包
  • amd64-microcode —— Debian/Ubuntu 和衍生发行版的适用于 AMD CPU 的微码固件
  • linux-firmware —— 适用于 AMD CPU 的 Arch Linux 发行版的微码固件(你不用做任何操作,它是默认安装的)
  • intel-ucode —— 适用于 Intel CPU 的 Arch Linux 发行版微码固件
  • microcode_ctllinux-firmwareucode-intel —— Suse/OpenSUSE Linux 微码更新包

警告 :在某些情况下,微码更新可能会导致引导问题,比如,服务器在引导时被挂起或者自动重置。以下的步骤是在我的机器上运行过的,并且我是一个经验丰富的系统管理员。对于由此引发的任何硬件故障,我不承担任何责任。在做固件更新之前,请充分评估操作风险!

示例

在使用 Intel CPU 的 Debian/Ubuntu Linux 系统上,输入如下的 apt 命令/apt-get 命令

$ sudo apt-get install intel-microcode

示例输出如下:

How to install Intel microcode firmware Linux

必须重启服务器以激活微码 更新:

$ sudo reboot

重启后检查微码状态:

# dmesg | grep 'microcode'

示例输出如下:

[ 0.000000] microcode: microcode updated early to revision 0x1c, date = 2015-02-26
[ 1.604672] microcode: sig=0x306a9, pf=0x10, revision=0x1c
[ 1.604976] microcode: Microcode Update Driver: v2.01 , Peter Oruba

如果你使用的是 RHEL/CentOS 系统,使用 yum 命令 尝试去安装或者更新以下两个包:

$ sudo yum install linux-firmware microcode_ctl
$ sudo reboot
$ sudo dmesg | grep 'microcode'

如何更新/安装从 Intel 网站上下载的微码

只有在你的 CPU 制造商建议这么做的时候,才可以使用下列的方法去更新/安装微码,除此之外,都应该使用上面的方法去更新。大多数 Linux 发行版都可以通过包管理器来维护、更新微码。使用包管理器的方法是经过测试的,对大多数用户来说是最安全的方式。

如何为 Linux 安装 Intel 处理器微码块(20180108 发布)

首先通过 AMD 或 Intel 网站 去获取最新的微码固件。在本示例中,我有一个名称为 ~/Downloads/microcode-20180108.tgz 的文件(不要忘了去验证它的检验和),它的用途是去防范 meltdown/Spectre bug。先使用 tar 命令去提取它:

$ mkdir firmware
$ cd firmware
$ tar xvf ~/Downloads/microcode-20180108.tgz
$ ls -l

示例输出如下:

drwxr-xr-x 2 vivek vivek 4096 Jan 8 12:41 intel-ucode
-rw-r--r-- 1 vivek vivek 4847056 Jan 8 12:39 microcode.dat
-rw-r--r-- 1 vivek vivek 1907 Jan 9 07:03 releasenote

我只在 CentOS 7.x/RHEL、 7.x/Debian 9.x 和 Ubuntu 17.10 上测试了如下操作。如果你没有找到 /sys/devices/system/cpu/microcode/reload 文件的话,更老的发行版所带的更老的内核也许不能使用此方法。参见下面的讨论。请注意,在应用了固件更新之后,有一些客户遇到了系统重启现象。特别是对于那些运行 Intel Broadwell 和 Haswell CPU 的用于客户机和数据中心服务器上的系统。不要在 Intel Broadwell 和 Haswell CPU 上应用 20180108 版本。尽可能使用软件包管理器方式。

检查一下,确保存在 /sys/devices/system/cpu/microcode/reload

$ ls -l /sys/devices/system/cpu/microcode/reload

你必须使用 cp 命令 拷贝 intel-ucode 目录下的所有文件到 /lib/firmware/intel-ucode/ 下面:

$ sudo cp -v intel-ucode/* /lib/firmware/intel-ucode/

你只需要将 intel-ucode 这个目录整个拷贝到 /lib/firmware/ 目录下即可。然后在重新加载接口中写入 1 去重新加载微码文件:

# echo 1 > /sys/devices/system/cpu/microcode/reload

更新现有的 initramfs,以便于下次启动时它能通过内核来加载:

$ sudo update-initramfs -u
$ sudo reboot

重启后通过以下的命令验证微码是否已经更新:

# dmesg | grep microcode

到此为止,就是更新处理器微码的全部步骤。如果一切顺利的话,你的 Intel CPU 的固件将已经是最新的版本了。

关于作者

作者是 nixCraft 的创始人、一位经验丰富的系统管理员、Linux/Unix 操作系统 shell 脚本培训师。他与全球的包括 IT、教育、国防和空间研究、以及非盈利组织等各行业的客户一起工作。可以在 TwitterFacebookGoogle+ 上关注他。


via: https://www.cyberciti.biz/faq/install-update-intel-microcode-firmware-linux/

作者:Vivek Gite 译者:qhwdw 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

如何查看CentOS系统中...
掌控你的系统核心:CentOS查看CPU与内存信息指南 作为服务器...
2025-06-03 07:40:48
Lenovo Vantag...
问题 Lenovo Vantage是联想官方为联想电脑设计的国际版...
2025-06-01 20:38:16
2022年六大国产CPU发...
CPU 是底层硬件基础设施中的核心,当前主流芯片架构...
2025-05-31 05:37:45
计算机Intel CPU体...
前段meldown漏洞事件的影响,那段时间也正好在读...
2025-05-29 02:02:06
CPU也能跑千亿大模型,微...
提到模型部署,如果不提显存,貌似是对大模型的不尊重…. 多少参数对...
2025-04-25 13:47:08
AI与机器人盘前速递丨天工...
【市场复盘】 上周五(4月18日)AI与机器人板块横盘调整,截至收...
2025-04-21 09:47:13

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...