PC関連の一覧に戻る

BIOSのアップデートに失敗するなどしてBIOSの内容が壊れ、PCが起動しなくなった場合の対処方法(Raspberry Pi を使用した)


Raspberry Pi を使用して、PC の BIOS によく使われている NOR FLASH チップ (spi通信)の内容を書き換えます。
flashrom というツールを使用します。

私がやってできたのは以下の3つです。
Raspberry Pi 2 Model B V1.1
Raspberry Pi 3 Model B V1.2
Raspberry Pi Zero W V1.2

ラズベリーパイにOS(raspbian)をインストールし、設定を行います。

raspbian を使用します。
ラズベリーパイのOSセットアップについては以下のページに説明を書いておきました。
/server/RaspberryPi_noobs_raspbian_install.html

raspbian が起動したら、設定を開き、SPIを有効にしておきます。



ターミナルを起動し、su にて root 権限に移行します

パスワードが設定されていなければ、sudo passwd root にて設定します。




flashrom をインストールします

必要なコンポーネントをインストールしたのち、flashromをインストールします。
sudo apt-get install build-essential pciutils usbutils libpci-dev libusb-dev libusb-1.0-0 libusb-1.0-0-dev libftdi1 libftdi-dev zlib1g-dev subversion
sudo apt-get update -y
sudo apt-get install -y flashrom



raspberry pi と BIOSチップ(EEPROM(SPI)) を接続します

チップの Vcc, HOLD, WPピンに RaspberryPi の 3.3Vピンを接続します
チップの SIピンに RaspberryPi の SPI MOSIピンを接続します
チップの SOピンに RaspberryPi の SPI MISOピンを接続します
チップの SCKピンに RaspberryPi の SCLKピンを接続します
チップの Vssピンに RaspberryPi の GNDピンを接続します
チップの CSピンに RaspberryPi の CE0ピンを接続します

写真は raspberry pi zero w ですが、問題なく動きます。
ピン一覧(raspberry pi 3)
13.3V5V2
3SDA1, I2CGPIO 025V4
5SCL1, I2CGPIO 03GND6
7GPIO_GCLKGPIO 04GPIO 14TXD08
9GNDGPIO 15RXD010
11GPIO_GEN0GPIO 17GPIO 18GPIO_GEN112
13GPIO_GEN2GPIO 27GND14
15GPIO_GEN3GPIO 22GPIO 23GPIO_GEN416
173.3V●GPIO 24GPIO_GEN518
19SPI_MOSIGPIO 10〇GND20
21SPI_MISOGPIO 09●GPIO 25GPIO_GEN622
23SPI_CLKGPIO 11●●GPIO 08SPI_CE0_N24
25GND●GPIO 07SPI_CE1_N26
27I2C ID EEPROMID_SDID_SCI2C ID EEPROM28
29GPIO 05GND30
31GPIO 06GPIO 1232
33GPIO 13GND34
35GPIO 19GPIO 1636
37GPIO 26GPIO 2038
39GNDGPIO 2140
CS1●8Vcc
SO27HOLD
WP36SCK
Vss45SI

マザーボードメーカーのホームページから BIOS のイメージをダウンロードします。

マザーボードメーカーのホームページから、当該の BIOS のイメージをダウンロードします。
(もし、BIOS の形式が CAP であれば、「UEFITool」 を使用して、メニューの「CAPSULE」から、
バイナリのボディを書き出します)

ここでは、バイナリの BIOSファイルを「bios.bin」とリネームしました

パスを通すために、ダウンロードした BIOS が保存されている、Downloads フォルダに入ります。
cd /home/pi/Downloads
但し、日本語の場合は、「Downloads」ではなく、カタカナで「ダウンロード」なので、
ターミナルを、日本語入力可能にするか、もしくは以下をコピー&ペーストして使います。
cd /home/pi/ダウンロード

BIOSの内容をクリアします。

flashrom -E -V -p linux_spi:dev=/dev/spidev0.0,spispeed=16000

BIOSにromイメージを書き込みます。

flashrom -w bios.bin -V -p linux_spi:dev=/dev/spidev0.0,spispeed=16000

※ 書き込み速度は十分遅くしてありますが、スピードの問題で書き込めないことがあるようですので、spispeed の値を調整してください。

※ 基板上に直接取り付けられた、ソケットになっていない BIOS チップを書き換えるには、チップを挟み込むように接続する部材が必要です。

以上で、説明は終了です。




PC関連の一覧に戻る

Information of This Page
picture BIOSのアップデートに失敗するなどしてBIOSの内容が壊れ、PCが起動しなくなった場合の対処方法(Raspberry Pi を使用した) pubdate:


© 2026
Author : FloatGarden