Linux 下备份或刷写 BIOS - 中国蓝天

时间:2024-04-16 17:17:05

Linux 下备份或刷写 BIOS

在 Linux 下可以使用Flashrom备份或刷写 BIOS, Flashrom 这款工具来自于 Coreboot 项目(即著名的 LinuxBIOS)。借助该工具,使用它我们可以在 Linux 下轻松、方便的备份或刷写 BIOS。

安装 Flashrom

在使用 Flashrom 之前,首先你需要安装它。目前,一些流行的 Linux 发行版都可以通过自身的包管理器来安装 Flashrom

Debian/Ubuntu 用户需执行:

$ sudo apt-get install flashrom

Fedora 用户需执行:

$ sudo yum install flashrom

Mandriva 用户需执行:

$ urpmi flashrom

openSUSE 用户需执行:

$ yast -i coreboot-utils

如果你不能通过所使用 Linux 发行版的包管理器安装 Flashrom,那么可选择手动编译安装。只需执行以下命令:

$ svn co svn://coreboot.org/repos/trunk/util/flashrom
$ cd flashrom
$ make
$ sudo make install

注意,你将需要编译工具、Subversion、依赖包 pciutils 和 zlib 等东东。

Flashrom 用法

除了通过 Flashrom 官方主页查询 Flashrom 是否支持你目前的主板、芯片之外,你也可以直接使用 Flashrom 工具来检测。执行 flashrom 指令后,Flashrom 将输出类似下面的信息:

$ flashrom


Calibrating delay loop... OK.
No coreboot table found.
Found chipset "Intel ICH7/ICH7R", enabling flash write... OK.
Found chip "Winbond W39V040B" (512 KB) at physical address 0xfff80000.
No operations were specified.
如果你想把当前的 BIOS 映像备份下来,那么可执行:

$ flashrom -r bios_image.bin

同样的,Flashrom 也将提供输出信息供参考:

Calibrating delay loop... OK.
No coreboot table found.
Found chipset "Intel ICH7/ICH7R", enabling flash write... OK.
Found chip "Winbond W39V040B" (512 KB) at physical address 0xfff80000.
Reading flash... done.
刷写新的 BIOS 则可以执行:

$ flashrom -wv new_bios.bin

某些芯片驱动需要先擦除后方能正常写入:

$ flashrom -E

警告:刷写 BIOS 是一项危险的操作,除非你清楚的知道自己在干什么,否则请勿轻易尝试。

更详细的信息请查看FlashromREADME