【解決】lenovo G570/G470 BIOSアップデートでトラブル!アップデート中にハングアップしてECがアップデートできない

愛機lonovo G570のBIOSをアップデートしてみました(v2.08 ⇒ v2.18)
BIOS アップデート(Windows 7 32bit,64bit/ XP) - Lenovo G570,Lenovo G470
BIOS Update for Windows 7 (32-bit, 64-bit), XP - Lenovo G470 and G570

日本語サイトの説明は微妙に間違ってます。40cn32ww_64bit.exeは64bit用です。

愛機のG570はWindows7 64bitなので、40cn32ww_64bit.exeを使ってBIOSをアップデートしました。このファイルを実行すると、BIOSとECの両方がアップデートされます(ECの方は、アップデートするか?と聞いてきます)。

BIOSのアップデートが終わり、ECのアップデートが始まりました。
ここでトラブル発生!!

なんと、エラーになってしまって、ECのアップデートが途中で終わってしまいました。

OH!Noooooooo!!!

そして、エラーメッセージを控える間もなく、G570は再起動。。。 『おいおい、せめて起動はしてくれよ』と願いながら見守ると、無事に起動してくれました。BIOS画面でBIOSのバージョンを確認すると、v2.18に上がってました。一方、ECのバージョンはv2.08のまま。

どうやら、ECの方はアップデートには失敗したものの、致命傷にはならなかった様です。

『もう一回40cn32ww_64bit.exeを実行すりゃいいや』と軽く考えてたんですが、ここで再び問題発生!!!

40cn32ww_64bit.exeを実行すると、「BIOSバージョンは同じだよ。だから、アップデートは必要無いね。強制終了するよ」というメッセージ(意訳)が出てバージョンアップできません。

『いやいや、それは分かってるんだよ!俺は、ECをバージョンアップしたいの!!!』

困りました。。。が、なんとか、BIOSバージョンチェック回避に成功!

誰かの役に立てるかもしれないので、手順をまとめておきますね。

もちろん、試す時は自己責任で!
BIOSのアップデートは失敗するとパソコンが二度と起動できなくなる可能性もあります。

BIOSバージョンチェック回避手順

まず、40cn32ww_64bit.exeを実行します(32bit版を使う場合は40cn32ww_32bit.exeを使ってください)。

「BIOSバージョンは同じだよ・・・」というエラーが表示されたら、エクスプローラを立ち上げて、アドレスバーに%temp%と入力してEnterを押します。

%temp%というのはテンポラリフォルダってやつですね。テンポラリフォルダを開いたら、その中に7zxxxxx.tmp(xxxxxはランダム、僕の場合は7zSFE38.tmpでした)というフォルダがあるはずです。

これを丸ごとデスクトップなどにコピーします。コピーが終わったら、40cn32ww_64bit.exeは終了してください。

では、7zxxxxx.tmpの中身を見てみましょう。 7zxxxxx.tmpをダブルクリックすると、PIWG2218.binというファイルがありますね?これがBIOS&ECのアップデートデータです。

このファイルは間違っても変更しないように!

下手すると二度と起動できなくなりますよ。次に、同じフォルダのplatform.iniをメモ帳などのテキストエディタで開きます。そうすると、186行目にこんな記述がありますよね?

[Bios_Version_Check]
Flag=1

このFlag=1をFlag=0に書き換えます。こんな感じ

[Bios_Version_Check]
Flag=0

書き換えが終わったら、platform.iniを保存して、テキストエディタを閉じます。これで、BIOSのバージョンチェックが行われなくなりました。

BIOS&ECバージョンアップ

次に、同じフォルダにあるInsydeFlashx64.exe(32bit版の場合はInsydeFlashx.exeです)を実行します。

これで、BIOSとECのアップデートが行われます。

そして、見事、ECもv2.18に上がりました!!!
この方法は、何らかの目的でBIOSデータ(PIWG2218.bin)を抜き出したい!という場合にも使えます。たとえば、DOS+flashit.exeを使ってBIOSアップデートしたい時とかね。

G570/G470のBIOSアップデートに失敗しちゃった!!!という方は参考にしてみてください。