BIOSファイルを改造&更新:その1


関連ページへのリンク


履歴: 2020/12/30 初回アップ

前置き
2年ほど前に購入した PC工房のデスクトップ機が Sleepモードに入る際に完全に Sleep出来ずに、ディスプレイが消えてキーボードやマウスの入力を受け付けないのに、HDDは回り続けてアクセスランプも不定期で点滅しているという 一種の「ハングアップ」状態になるようになった。
キーボード/マウス入力を受け付けないのでその状態を抜けるには 電源ボタンを長押ししてシャットダウンするしかない。アプリによっては作業途中のファイルが保存できず遺失してしまうと言う困った状態。
発生頻度は毎回必ずと言うわけではないが、一旦発生し始めるとほぼ毎回発生し「電源とスリープ」の設定をあれこれ変更してみると一旦は治るんだが、またいつの間にか発生するようになる。
最初に気がついたのは今年の 8月ころで、「電源とスリープ」の設定や USBなどのドライバーのアップデートも試したが効果はなさそう。1年ほど前の O/Sパーティションのドライブイメージでリカバリーしたら、その時は改善したものの1~2週間でまた発生してしまう。Windows Updateが関連している?とも思うが、Auto updateを止めてもほぼ同じ。
あとは 「BIOS Updateしかない」と思って UEFI設定を見ると 何と! BIOS Updateのタブがない! 購入元の PC工房のサポートにメールすると「BIOS Updateは出来ません。購入時の状態にリカバリーしても不具合が確認できる場合のみ修理対象です。」と言う驚愕の回答。
仕様書に「BIOS Update非対応」となっていたかどうかは確認しなかったが、それで今まで商売しているなら いくらゴネたところで「更新 BIOS」を PC工房から入手することは絶望的だ と諦めた。

  1. ダメ元で Windows上で BIOS Updateツールを試してみた
  2. 20年くらい前に PCを組み立てていた頃は必要もないのにマザボメーカーのHPをチェックして BIOS更新情報があると律儀に Updateしていたが、その後 マザボの品質もアップし Windows O/Sも信頼性が向上したのか その必要性を感じなかった。
    その間 BIOSはレガシーBIOSから UEFIに変わり、ブートドライブの形式も MBRから GPTに変わるなどして、BIOSへの関心もなくなって ちょっと疎遠になってしまった。
    それでも頭の片隅に「最近は BIOS設定画面からでなく Windows上で BIOS更新が出来たはずだが?」と言う程度の知識があって、確認すると AMIなどのメジャーな BIOSベンダーが汎用の Windows版 BIOS更新ツールを公開している事がわかった。
    幸いにして PC工房購入の 件の PCの UEFI画面を確認すると BIOSベンダーは AMIだと分かった。AMI BIOSはメジャーな BIOSで BIOSアップデート/編集の情報が多い。
    この ツールを使えば もしかして UEFI設定画面に BIOSアップデートメニューのない PC工房のマザボの BIOSも Update出来るかも?  と言う一縷の望みが湧いてきて マザボを確認すると シルク印刷は 「ASRock B360M」となっているので ASRock の HPで確認すると B360M-HDV と言うマザボが写真ではほぼ同じ部品レイアウトだった。 そこでダメ元で この マザボの最新 BIOSをダウンロードしてみた。
    更に AMI社の HPなどから 汎用の BIOS更新ツールをダウンロードして Windows上から実行してみると 現状のマザボ上の BIOSらしきものを HDDに読み出すことが出来たが、ASRockからダウンロートした BIOSとはサイズが違う。
    当然、ASRock の Webからダウンロードした BIOSファイルを書き込みしようとしても「形式が違う」とケラれて、ファイルサイズをファイル後端から等しい位置でかつブロックの切れ目らしい部分でトリミングしてみたが、「レイアウトが違う」とケラれてしまった。
    この時点でやはり無手勝流では不可能と断念。・・・それでも一縷の望みは捨てがたく検索ワードを組み替えては Webを検索しまくった。
  3. SPI Writer 購入
  4. 実は 大昔、1980年代前半に NVRAM(不揮発性RAM)の半導体製造プロセスが実用化されたとき、その情報に飛びついて某F通という会社に仕様を提示してゴリ押しの末カスタム開発し真っ先に製品(その時はフィルムカメラで、世界初のEEPROM採用製品になった)搭載したのは私なんだが、その甲斐あって 今でも シリアル EPROMがどんなものかという概念だけは理解している。
    で、そこから類推するに BIOSを記憶させている シリアルEPROMはシリアル通信ラインさえ分かれば、そこから直接読み書き出来るはず。初期の BIOSチップは DIP-8 Pinのパッケージで抜き挿し出来た記憶があるが、問題の ASRock のマザボに搭載されているチップは SOP-8 と呼ばれるハンダ直付けで取り外しは困難だと判明。
    しかし 上記の B360M-HDV と言うマザボの写真を見ると、BIOSチップの近傍に 何やら BIOS_PH1と印刷された 10Pin程度のピンヘッダーがある。もしや?と思って検索すると、少なくとも ASUSのマザボにはサービス対応用に シリアルラインが Pin接続出来て、そこに SPI Writerと言う EPROMの読み書きツールを繋げば BIOSの読み書きが出来ると分かった。 しかも SPI Writerは ネット通販で 1000円程度で購入可能だった。
    図-1
    そう分かってしまえば、私の性格ではもう買うしかない。 という事で、問題の PC工房ブランドの BIOS書き換え記事は見つからないままに Amazonで送料込み 900円弱の SPI Writer(CH341A)を発注し入手した。
    ただし、安価な CH341Aには ドライバーや読み書きのツール・ソフトは付属してこない(説明書や保証書も当然ない)。 勝手に Webで検索してダウンロードしろという姿勢で、いかにも Made in China のコピー商品&マニアのツールという感じだ。
    注意しなければならないのは、こうしたマニアックなツールを Web検索してダウンロードしようとするとウィルス感染したり、危険なサイトに誘導される危険性が高いので セキュリティ対策は必須だ。
    特に CH341A 関連のツールは製造元関連で中国語サイトが多く、Googleなどの安全性アイコンを頼りにするのが吉。
    更に念を入れて ダウンロードしたり、解凍して動作させる時は USBメモリなどから起動できる LINUXなどの別 O/S上で行うか、作業前に O/Sパーティションのイメージを保存しておいて 作業完了後にそのイメージで書き戻せば万が一 Virus感染しても回復が可能なので万全だ。
  5. SPI Writer 用ユーティリティのダウンロード・セットアップ
  6. 現在入手できる殆どの安価な SPI Writerは中華メーカーによって ハードウェアコピーされたもので、使用するために必要なユーティリティはユーザーが別途<勝手に>ダウンロードすることが必要。
    図-2
    ただ Webで検索して見つかるダウンロードサイトは危ないサイトやファイルが多く安易にはアクセスしないほうがいい。おすすめはここ (直接リンクが効かなければここのページの途中の図の部分をクリックして開く MEGAサイトの CH341A フォルダーの中の「NeoProgrammer_2.2.0.3.zip」をダウンロードする。
    落とした zipファイルを解凍すると「CH341A Mini Programmer (Black Edition) By_NSC」というフォルダーの中に、DRVSETUP64.exe と CH341A.exe などのファイルがある。(余分な話だが NSC=National Semi Conducter ?)
    まず DRVSETUP64.exe(x64 O/Sの場合) の方を実行すると USB > シリアルポート変換のドライバー類がインストールされ CH341A が使用できるようになる。

    図-3
    CH341A.exe の方は O/Sの言語を判別しているらしく、実行したら日本語化されていた。ただし実行中に表示されるダイアログなど一部に中国語が混入する状態だが、理解に不自由はないレベル。

  7. SPI Writer の接続
  8. 図-4
    B360Mの SPIチップ周りのレイアウトは 図-4のようになっている。(BIOS書き換え時には CMOS電池を外す必要があるので 写真ではそれも示した。電池周りの金属の部品を黄色い ▲ の方向に爪で広げると電池は飛び出してくる。)
    図-5
    後先になったが、買ってから 件のマザボの PH1 Pinヘッダーと SOP-8 ICの足の導通をテスターでチェックしてみたら図-4の通りになった。(コネクタとSPIチップの向きは上の写真と同じ) この図を参考に CH341A のソケットと マザボの対応コネクタピンを接続する。
    また マザボに搭載されている SPIチップには電源電圧が 5V/3.5V の物があるので、読み書きするチップに応じて CH341A 上のジャンパーピンを接続する。 (私の購入した CH341Aは購入時すでに 3.5V側のジャンパーがされていた。よほど古いマザボでない限り 5Vの SPIチップはないと思う。)
    (ただし実際のマザボの回路は VDD(High)に接続された Pinがあるので導通テストではそれらの区別はつかない。
    CH341A のソケットの両側には 14本の ピンがあってソケットのピンと対応しているのでこのピンを使ってもいいが、結局この Pinでは Vddピンなどが足りなかったりで、私は下の 図-5 の写真の通り DIP 8Pinの空ICソケットにジャンパー線の先を差し込んで、更にそれを CH341Aの ZIFソケットに接続した。)
    このようにジャンパーワイヤを一旦空の ICソケットに刺して CH341Aの ZIFソケットに装着するようにすると、書き込み終わってこの空ソケットを ZIFソケットから抜けばそのまま PCを再起動チェックできる。(ジャンパーワイヤは垂れ下がっているが Open状態なので動作に支障はない。ただし静電気とケースなどへの短絡には注意が必要)
    再装着の場合も、ZIFソケットに空ソケットを装着するだけなのでマザボや CH341A側にも余分な力も加わらず、今回のように実験で繰り返し BIOS編集しては書き込んで試すのには非常に具合がいいことに途中で気づいた。
    図-6
    このピンの対応で、CH341Aと B360M の PH1 ピンヘッダーを接続したのが 図-5 の写真。
    (ASRock のシルク印刷の「A」の文字の下に見える SOP-8 パッケージの ICが BIOSを 記憶している SPIチップ(EPROM)。PC工房のマザボではチップの表面に BIOSバージョン?(P1.10)のラベルが貼ってあった。)
    写真の状態で CH341A用の CH341A.exe を実行して「読み込み」操作をしてみると、どうやらフルサイズの BIOSがダウンロード(ダンプ)出来た様子。ファイル・サイズは 16MBになるし Binary Editorで見る限り UEFI BIOS全体がダウンロードできている様子。
    一旦現状の BIOSがバックアップ出来たら、今後は仮に不正な BIOSをアップロードして起動しなくなっても 再度 元の BIOSをアップロードし直せば少なくとも現状(購入時)にはリカバリー出来るので BIOSファイルを思う存分いじり倒せる。(私にはそのつもりはないが、書き戻せばサポートも可能だろう)
    ということで、本格的に BIOS改造に取り掛かることに。
    (但し、一旦 BIOSを書き換えたら保証文言上は メーカー保証は受けられなくなるので真似する場合はそのつもり&自己責任で)
  9. CH341A による書き込み/読み出し
  10. SPIライターCH341A を使用した読み出し/書き込み手順は、

    A まず PCの電源を切る(バックパネルの電源スイッチを切るか、コンセントから抜く)。

    B 次にマザボの CMOS電池を抜いて電源コンデンサのチャージが完全に抜けるまで 30秒ほど待つ。

    C SPIライターを図-6の写真の通り マザボの SPI端子に接続してから SPIライターを書き換え用別 PCの USB端子に接続し、CH341A.exe などの読み出し/書き込み用実行ファイルを実行する。

    図-7

    接続したら、「検出」ボタンを押すと、赤点線のように SPIチップの品番が検出されて表示される。
    ここでチップの情報が表示されなければジャンパーの接続が間違っているか SPIライターの不良、または実行ファイルが不適切ということになる。(または上記 3.項でドライバーのインストールが失敗している)

    最初はまず現状 BIOSをバックアップするために「読み込み」ボタンを押す。16MBチップだと 5分ほどかかって終了する。
    読み込みの間 ▶P の部分にプログレスバーが表示される。
    読み込みが終わったら、「ファイル」>「保存」で分かりやすい名前で保存する。
    万が一、この後の BIOSアップデートで「起動しない」などの不具合がある場合、この保存 BIOSがあればそこに戻せるのでこの作業は重要だ。

    「消去」ボタンで書き込まれているデータを一旦完全に消去する。

    消去が完了したか確認するために「ブランク」ボタンを押してブランクチェックを行う。やはり 5分程度必要。

    「開く」ボタンまたは「ファイル > 開く」から書き込む BIOSファイルを指定してから「書き込み」ボタンを押して書き込む。5分程度必要。

    「ベリファイ」ボタンを押して、書き込んだデータを読み出して書き込みデータと照合する。5分程度必要。


    書き込みが無事終わったら、CMOS電池を裏表間違えないように元通り入れ直して PCを起動すると UEFI設定画面が表示される。CMOSリセットされているので、デフォルトではない設定が必要な場合は設定し直してセーブしてから Exitで抜けて Windowsを起動すれば完了。(最初だけ 3~4回 メーカーロゴの起動画面が表示される)
    ③~⑥ は「自動」ボタンを押しても可能だが ②のステップは保険として必ず行うこと。

    >続き その2:BIOS編集


このページ(BIOS_update.html)にコメント/質問をどうぞ
タイトル(30文字以内)
コメント
お名前(ID:10文字以内)
URL(HP or ブログをお持ちの方)
パスワード*
タイトル・コメント・ID は必須です
このページ(BIOS_update.html)への今までのコメント/質問
このページにはまだ表示できる投稿がありません。

Back to Page top

Access Counter:  総アクセス数



WiFiがどうしてもつながらない時  by Amazon
オススメの PLCアダプタ(2個セット)