- 固件是直接连接硬件和操作系统的内部软件,它使任何电子设备都能正常运行。
- 固件有多种类型(低级固件、高级固件、子系统固件、BIOS/UEFI 固件、物联网固件、网络固件),每一种都控制着设备的特定功能。
- 更新固件可以修复漏洞、提高性能,并增强对难以检测的攻击的安全性。
- 在家中和企业中妥善管理固件可以降低网络安全风险,并延长整个技术基础设施的使用寿命。
每次你打开电脑、解锁手机或设置洗衣机程序时,都会有一种静默运行的软件抢先一步:固件。你看不到它,也不会像操作系统那样每天使用它,但如果没有它,一切都无法启动。
这种固件驻留在设备内部,存储在特殊的存储芯片上,负责告诉硬件该做什么、如何做以及按什么顺序做。如今,无论对于家庭用户还是依赖数字基础设施的企业而言,了解固件是什么、它的用途以及如何确保其安全都至关重要。
固件究竟是什么?
我们所说的固件,指的是几乎所有现代电子设备都预装的一种非常基础的程序。它是嵌入硬件中的软件,包含设备开机、初始化组件以及与其他系统通信所需的最基本指令。
这段代码通常存储在非易失性存储器中,例如 ROM、EEPROM 或闪存,因此即使设备关机或断电,代码也会保留下来。与可以根据需要安装和卸载的普通应用程序不同,固件是设备“个性”的一部分。
你周围几乎所有设备都运行着固件:电脑、路由器、智能电视、手机、监控摄像头、扫地机器人、打印机、现代汽车、智能手表、Wi-Fi灯泡、互联网服务提供商的路由器、厨房电器等等。其中许多设备甚至没有传统的操作系统,但它们确实有固件来维持运行,就像许多嵌入式系统一样。
从历史上看,“固件”一词起源于20世纪60年代,当时指的是存储在特殊存储器中的微代码,用于定义CPU的指令集。此后,这一概念扩展到涵盖设备内的任何可编程内容:从PC的BIOS到ASIC或物联网设备的内部配置。

固件、软件、操作系统和驱动程序之间的区别
固件、软件、操作系统和驱动程序这些概念很容易混淆,因为它们本质上都是在设备上运行的代码。但它们在技术“金字塔”中扮演着截然不同的角色。
固件与“普通”软件
固件是一种高度专业化的软件,但用户并不直接使用它。它的作用是在底层控制硬件,并使系统做好准备,以便其他程序能够正常运行。因此,它通常被称为“硬件软件”。
用户软件(应用程序、程序、游戏)独立于操作系统运行,不依赖于任何特定的硬件组件。您可以在不同的计算机上安装浏览器、文本编辑器或音乐播放器,而无需担心它们使用的具体芯片,因为系统(Windows、Linux、Android 等)通过固件和驱动程序来管理硬件。
固件与操作系统
操作系统(Windows、macOS、Linux、Android、iOS 等)是你每天都会与之交互的“臃肿”软件:它有界面、窗口、应用程序、权限、网络等等。而固件则在操作系统之前运行,并且运行级别更低。
例如,一台PC的主板上可能刻录有BIOS或UEFI固件。当你按下电源按钮时,该固件会对内存、处理器、存储设备和其他组件进行初始检查,然后才会从磁盘加载操作系统,并将控制权交给操作系统。
有趣的是,一个设备可以在没有传统操作系统的情况下,通过固件运行(例如遥控器或数字时钟),但如果没有任何类型的固件来控制基本硬件,它就无法运行。
固件与驱动程序或控制器
驱动程序也是软件,但它们的作用不同。驱动程序安装在操作系统上,充当系统和特定设备(例如显卡、打印机、鼠标、显示器等)之间的“翻译器”。
固件位于设备内部,通常位于焊接在主板上的芯片上。它告诉组件如何运行以及如何与外部世界通信。而驱动程序则告诉操作系统如何与该组件通信。它们是两个互补的部分,但并不相同。
驱动程序更新失败通常是可以恢复的(卸载并回滚到之前的版本)。但是,固件更新失败可能会导致设备无法使用(臭名昭著的“变砖”),无法启动,因为您已经损坏了启动设备所需的代码。
固件的日常工作原理
固件的工作原理很容易理解,只要想想任何设备的启动过程就行了。当你启动哪怕是稍微复杂一点的设备(电脑、手机、路由器)时:
- 固件唤醒处理器 并告诉它首先执行哪些指令。
- 检查内存 以及其他基本组件,以确保不会出现严重故障。
- 配置初始参数 例如启动顺序、某些电源或网络设置。
- 接管或将控制权移交给操作系统 或者到链中的下一个软件(引导加载程序、虚拟机管理程序等)。
在传统的个人电脑中,经典的例子是 BIOS/UEFI:它执行“POST”(开机自检),检测磁盘、键盘、鼠标、卡,加载启动管理器,然后启动管理器将 Windows 或 Linux 加载到内存中。
在手机中,SoC 制造商提供的固件和手机本身控制着从电源管理到触摸屏、摄像头、4G/5G 调制解调器和指纹识别器的所有功能。Android 或 iOS 系统随后发挥作用,但其底层还有多层固件和引导加载程序,正是它们让这一切成为可能。
在结构简单的设备(控制器、传感器、小型家电)中,固件可以直接充当“内部操作系统”。没有额外的层:嵌入式代码解释按钮按下、时间以及传感器读数,并据此激活电机、指示灯或信号。
固件存储在哪里?为什么这很重要?
固件始终存储在非易失性存储器中,这意味着设备关机时不会丢失信息。历史上曾使用过以下几种存储器:
- ROM(只读存储器):出厂时已编程,不可修改。
- EPROM:可重新编程,但物理过程繁琐(用紫外线擦除)。
- EEPROM 和闪存:无需拆卸任何部件即可进行电可重写。
如今,固件通常存储在闪存芯片上,例如 NAND 闪存或类似芯片。这些芯片价格低廉、速度快,而且更新(刷写)相对简单,甚至无需打开设备。因此,您可以直接在操作系统内更新主板的 UEFI 或 SSD 的固件。
许多现代主板甚至内置了备份芯片,其中包含一份“正常”的固件副本。如果在更新过程中出现问题,系统可以恢复原始固件,避免主板彻底损坏。几年前,这种备份芯片并不存在,如果在刷写固件时断电,主板就只能报废或寄回厂家。
对于物联网设备和路由器(请参阅我们的路由器手册和技术规格指南),包含固件的存储器通常焊接在主板上,并通过网页或移动应用程序进行更新。闪存的内容会被重写,重启后,设备会使用新代码启动。
固件类型:级别和实际示例
并非所有固件都同样复杂,它们在“指令链”中的位置也不尽相同。固件通常根据其复杂程度和所应用的设备类型进行分类。
低级固件
底层固件与硬件的关联最为紧密。它在系统上电后立即运行,通常驻留在ROM或不易被重写的受高度保护的存储器中。它的作用是确保关键组件被检测到并进行最小配置,以便其他所有组件都能正常启动。
在许多简单的设备中,固件就是全部:例如数字闹钟、某些类型的遥控器、廉价的温度传感器等等。这段微代码定义了设备的全部逻辑。
高级固件
高级固件运行在低级固件之上,执行更复杂的功能:高级配置菜单、图形界面、网络管理等。它通常存储在可重写的闪存中,从而可以进行相对频繁的更新。
子系统或设备固件
在复杂的系统中,许多内部组件都有各自独立的固件。这被称为子系统固件:它与主系统固件半独立运行。
- 图形卡 它拥有自己的BIOS。
- RAID 控制器 或存储。
- WiFi 或蓝牙模块 集成到笔记本电脑中。
- 统一SSD 固件负责管理内存单元、缓存和纠错。
这些子系统中的每一个都可以接收固件更新,有时是通过制造商自己的工具,有时是通过更高级的第三方软件。
BIOS、EFI 和 UEFI:PC 固件
在台式机和笔记本电脑中,最核心的固件一直是BIOS(基本输入/输出系统)。几十年来,它一直位于主板上的一个芯片中,负责:
- 执行 POST 并检测内存或CPU故障。
- 识别键盘、磁盘、卡片 和其他基本外围设备。
- 加载启动管理器 从光盘、U盘或安装介质。
后来出现了EFI,以及最重要的UEFI(统一可扩展固件接口),目前大多数PC都使用UEFI。UEFI:
- 它支持图形界面 使用鼠标。
- 它支持大容量磁盘、现代分区和安全启动。.
- 它提供高级选项 能源管理、安全和诊断。
在Mac领域,苹果公司多年前也已转向EFI/UEFI,它已成为现代服务器和工作站的标准配置。通过UEFI菜单,您可以更新主板固件、配置启动密码,或启用诸如TPM磁盘加密等功能。
手机、物联网设备和其他设备上的固件
手机、平板电脑和智能手表都有多层固件:调制解调器、音频芯片、摄像头、电源控制器……所有这些都独立于 Android 或 iOS,尽管它们协同工作。
在物联网 (IoT) 领域,每个传感器、灯泡、智能插头或 IP 摄像头都包含自己的固件,负责连接到 WiFi、与制造商的云通信并执行命令(打开、关闭、测量、发送数据等)。
现代汽车也充满了小型电子控制单元(ECU),用于控制发动机、ABS刹车、安全气囊、信息娱乐系统、空调系统……每个ECU都有自己特定的固件,在很多情况下可以在维修车间进行更新,甚至在最先进的车型中可以远程更新。
为什么更新固件如此重要?
更新固件并非一时兴起:它关乎稳定性、性能,尤其是安全性。即便如此,许多人仍然拖延更新,而这可能会带来一些后果。
稳定性和兼容性改进
随着时间的推移,原始固件中会发现一些漏洞:与某些硬件的兼容性问题、特定情况下崩溃、无法从睡眠状态恢复等等。制造商会在新版本中修复这些漏洞。
更新可以防止电脑、路由器、摄像头和物联网设备出现随机重启、崩溃或其他异常行为。在某些情况下,这是使组件在新操作系统上正常运行的唯一方法。
安全性:固件最关键的方面
固件是网络犯罪分子极具吸引力的攻击面。如果他们成功将恶意代码注入其中,就能获得极强的持久性:即使您格式化电脑、重装操作系统或恢复移动设备,恶意软件仍然可以在固件深层保持活跃状态。
有些威胁,例如固件rootkit,会隐藏在BIOS/UEFI或磁盘和设备的固件中。即使是高级杀毒软件也很难检测到它们,因为它们在系统启动前和后台运行。
此外,制造商在最初的设计阶段往往没有优先考虑这些层面的安全性:缺乏数字签名、验证松懈、缺少写保护机制等等。这种情况已经有所改变,但路由器、摄像头、家用设备以及一些老旧、不再受支持的设备中仍然存在大量存在安全漏洞的固件。
固件更新包括关键补丁,用于修复可能被利用来窃取数据、监视通信、操纵设备运行或打开整个网络后门的漏洞。
性能和新功能
新固件版本并非只涉及安全补丁。通常,新版本还会提升性能(例如,在固态硬盘、显卡或路由器上),或者解锁对新格式和标准的兼容性。
即使是看起来“老旧”的设备,也可以通过一次好的固件更新而焕然一新:存储设备不再出现错误,路由器获得稳定性和速度,主板现在可以在物理允许的范围内支持新的处理器系列等等。
风险、诈骗和修改过的固件
更新固件并非没有风险,而且还有各种各样的修改版固件,其中既有合法的,也有彻头彻尾的欺诈性的。
更新过程中发生故障的风险
最关键的时刻是刷机过程本身。在将新固件写入内存的过程中,如果断电、设备关机或因任何原因导致刷机过程中断,设备很可能将无法使用。
因此,始终建议使用稳定的电源进行刷机(避免使用电量不足的笔记本电脑、没有充电器的笔记本电脑以及来路不明的电源插座),并且在刷机完成之前不要触碰任何设备。许多工具都明确警告用户在任何情况下都不要关闭设备。
欺骗性固件和骗局
有些诈骗分子会故意修改固件,以谎报产品规格。这种情况比较常见:
- 廉价的固态硬盘或U盘“声称”拥有1TB或2TB的容量 它们的实际容量是 32 或 64 GB。固件显示的容量是错误的,但写入超过实际容量的数据会损坏数据。
- 低端显卡伪装成高端型号固件报告的名称或频率与芯片不符。
这类产品大多出现在国际销售平台、信誉不佳的商店或二手市场。容量和性能测试工具可以通过比较固件宣称的性能和硬件实际性能来揭露其中的欺骗性。
非官方固件和替代项目
另一方面,社区和独立开发者也创建了一些非官方固件,在很多情况下,这些固件完全合法,并且提供了额外的功能:
- 路由器固件可选OpenWRT、DD-WRT或Tomato它增加了许多制造商不提供的先进功能。
- 适用于音乐播放器、相机或游戏机的替代固件这允许使用额外的编解码器、以 RAW 格式录制、运行自制软件等。
问题在于,刷入这类固件始终存在风险,在某些设备上,这可能会使保修失效或违反服务条款。此外,如果您从不可信的网站下载,还可能意外感染恶意软件。
如何安全地更新固件
每种类型的设备都有自己的更新程序,但有一些通用准则应该遵循,以最大限度地降低风险。
基本步骤和最佳实践
- 请确定具体型号和当前固件版本 设备设置。通常可以在设置菜单(路由器、相机、智能电视等)或电脑和移动设备的制造商工具中找到。
- 请仅从官方网站下载固件 请从制造商或其官方应用程序下载。避免使用未经验证的第三方网站或论坛上流传的文件。
- 确保电源稳定笔记本电脑请保持充电器插电状态;台式电脑在暴风雨天气或可能停电时请避免插电。
- 仔细阅读说明 按照制造商的指示,尤其是有先前的步骤(重置、配置备份等)。
- 请勿关闭设备或关闭应用程序 进度条出现时,即使看起来卡顿几秒钟,也请耐心等待。
具体案例:个人电脑、固态硬盘、主板等等
在现代台式电脑和笔记本电脑中,带有 UEFI 的主板通常包含内置实用程序,可以通过连接到互联网来搜索和应用新版本,或者允许从带有下载文件的 USB 驱动器进行刷新。
SSD 通常都有自己的官方软件(例如 Samsung Magician、CORSAIR tools、Crucial 等),只需点击几下即可检测存储驱动器并提供相应的固件更新。
显卡、耳机、机械键盘和其他外设也越来越多地包含自己的配置实用程序,可以从中加载新的固件以提高兼容性、修复错误或添加功能。
在 Mac 环境中,固件密码也可能用于防止未经授权的启动更改。此保护措施通过 macOS 恢复工具进行管理。
固件安全:攻击与防御
随着联网设备(IoT)以及家庭和企业中摄像头、路由器和传感器的普及,固件安全已成为一个核心问题。
固件攻击是什么样的?
固件攻击本质上是指重写或修改嵌入式代码,使设备按照攻击者的意愿运行。这是一种非常底层的黑客攻击。
其后果可能包括设备完全无法使用,甚至被用作网络入口、安装勒索软件、监视通信或窃取数据。由于恶意软件嵌入深度极深,即使格式化、系统还原甚至更换硬盘,它仍然能够存活。
安全摄像头、运营商路由器、录像机、工业传感器和家庭自动化系统一直是攻击目标,因为存在漏洞的固件允许攻击者控制整个相关基础设施。
攻击如何到达设备
典型的入境途径有:
- 安全性差的WiFi网络 或者使用默认密码。
- 漏洞利用 已知存在于未打补丁的固件中。
- 受损的外部设备例如同一网络上的 USB 驱动器或已被感染的设备。
- 从非官方网站下载“更新” 实际上,这些是经过修改、植入了恶意代码的固件。
防御措施包括始终保持固件更新、更改默认密钥、尽可能对网络进行分段,以及不惜一切代价避免从可疑来源刷入文件。
专业固件管理和IT维护
在企业中,固件管理不再是一次性任务,而是持续IT维护的一部分。每台服务器、交换机、路由器、防火墙、存储设备、工作站和物联网设备都有其自身的固件生态系统,可能需要定期更新。
一个好的做法是详细记录型号、固件版本和上次更新日期,并制定明确的程序,在将新版本部署到生产环境之前,先在测试环境中进行测试。
建议将固件审查纳入网络安全策略:检查制造商公告,安排关键固件刷新的维护窗口,记录出现问题时的可回滚路径,并培训 IT 团队了解这一层的重要性。
在安全策略中忽略固件,就等于给最有耐心、准备最充分的攻击者敞开了一扇门,而这恰恰是你使用传统工具最难以发现的地方。
归根结底,固件是将其他一切连接在一起的关键所在:如果它是最新的、受到良好保护的、并且管理得当,那么你的设备性能会更好,使用寿命会更长,并且会大大减少遇到难以解决的安全问题的风险。