BIOSをUEFIにしてみた

12/12/01初稿


■覚悟編

・UEFI使ってみたい

 現在のメインPCのM/BはGIGABYTE製「GA-Z68X-UD3H-B3 rev.1.0」、発売と同時に購入したものです(以下GA-Z68Xと略)。
 Intel 6x世代はBIOSからUEFIへの転換期だったのですが、開発が間に合わなかったのか当該M/BにはAward製BIOSが採用されていました。
 「テキストUIのUEFI」ってこともあり得るのですが、これは純然たるBIOSのようですね(*)。

*:http://northwood.blog60.fc2.com/blog-entry-4916.html

 当初はUEFIじゃないと困る事情も基本的にはなかったので他のスペックの必要性を優先して選んだのですが、Windows8でOSの起動が高速化されたのをきっかけに、システム起動時間短縮の一環として

・そもそもUEFIの方がPOST(OS起動シーケンス前の処理全般の意として)が速い
   「FastBoot」といった名称のPOSTを爆速にする機能のことは含まずとして、
   です。

・UEFIブートモードでOSインストールした方がOS起動が速いハズ
   Windows8から搭載されたHybridシャットダウンによる「高速スタートアップ」
   とか「高速起動」と呼ばれる機能のことではなく、
   「OSローダを呼び出す前段階」のお話として、です。

ということで、やっぱりUEFIにしたくなりました。

 しかし、UEFI化するためだけにM/Bだけを買い換えてシステム入れ替えるのも超メンドクサイというか手間対効果の点で踏み切れません。Windows8に入れ替えるのと同時にやればまだしもですが、まだ移行する決断はしていませんし。

・今そこにあるUEFI(とリスク)
 さて、実はGA-Z68X用UEFIなるものがリリースされています。BIOSで製品化したM/BのUEFIを出すってのは親切というか大胆というか…
 しかし、そのせいかweb情報によるといろいろ問題発生しているようです。
 が、問題ないという情報もあり? どっちやねん???

 加えて、ベンダがAwardからAMIに変更になったこともあるのでしょうが、書き換えは専用ツール「FLASHEFI.exe」で行うことになっており、かつ、UEFI→BIOSへの“書き戻し”はサポートされていません。
 これがネックだったのですが、非公式にはBIOSに戻す方法もあるようなのでエイヤでUEFI化決行してみました。

・失うモノ
 ・Smart6
 ・Dynamic Energy Saver
 ・Smart TPM
 ・Touch BIOS
は対応しないのでUEFI化する前に削除しておけとのこと。

Please remove Smart6, Dynamic Energy Saver, Smart TPM, and Touch BIOS utilities before updating the BIOS.

 無くても実害なしと判断。TouchBIOSと@BIOSをインストールしてありましたが、両方削除しました。
 ちなみにEasyTune6はB12.1112.1を入れ直してみたところUEFIでも動作するようです。


■実践編

・書き換え
 一応、元々付属の各種ツールでどうなるかを確認しておきました。
 BIOSのQ-Flash:「BIOS ID Error」となりました。
 @BIOS:「BIOS Vender is not correct!」」となりました(後日談は下の方に記載)。
 事前情報の通りダメですね。そこで、DOSブータブルUSBメモリからbootして実行。BIOS(F12)からUEFI(U1h)の変更です。

 ブータブルUSBメモリ作成は「アットマーク・アイティ」の記事を参考にさせていただきました。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1421usbdos/usbdos.html

 「DOS-on-USB Support」なるフリーソフトを使う方法です。
 容量に応じた時間かかるみたいですので、できるだけ小容量の方が望ましいですね。私は128MBのものを使いました。

 ブータブルUSBメモリはBIOSではHDDのひとつに認識されましたので、起動プライオリティをトップに設定することでboot。ファンクションF12キーのブートメニューからは起動できませんでした。USB-FDDとかUSB-HDDじゃないんですね。
 起動すると「GIGABYTE BIOS to UEFI Update Utility V1.05」なる専用ユーティリティが自動的に走り(そういうautoexe.batになっているので)、4MB分を2回Erasing/Writing/Verifyしました(Dual BIOSだからでしょう)。

 再起動すると、無事UEFIで起動しました。ほっと一息です。

・UEFI上のマウスやK/B
 USBのマウスもK/Bも使えました。マウスはLogicool製の無線、K/BはENERMAX製有線です。
 追加で有線マウス(AMDノベルティ)とELECOM製小型K/Bを同時に接続してみましたがそれらも使えました。
 もちろんUSB2.0接続です。
 が、マウスの動きはフラフラで使いにくいです。ASUS製「P8H67-M EVO」もUEFIですが同型マウスが違和感なく動きますので、UEFIだからってことではなさそうです。まあ、BIOS操作ではK/Bを使い慣れてますし、そもそもマウスの方が使い易いUIでもないので別にいいです。K/B操作はサクサクです。
 デフォルトで英語メニューでした。こちらもBIOSを英語で使ってましたので問題ありません(ヘンテコな和訳ではかえって判りにくいですので)。もちろん画面レイアウトは問題ありません。

・UEFI化直後のOS挙動
 「Windows7 HomePremium SP1(64bit)」です。
 UEFI化後初回起動で画面がSVGAになりドライバ類を再インストールしました。この間はUSBマウスもK/Bも動きません。
 促されるまま再起動すると、デスクトップアイコン配置なども元の画面に戻りましたし不明なデバイスの類もありません。USB-Audioも問題なし。USBメモリも認識します。なお、この時は拡張スロットにはGfx以外挿していません。
 その他、今のところBIOS時代と変わったところはありません。

・アクティベーション
 ファミリーパックなのでUpgradeライセンスにて。
 アクティベーション無効になっちゃいました。3日以内にアクティベートしろという表示に。オンラインでは弾かれました。電話ライセンス認証メンドクサイです。自動応答で「同じPCに入れたか」と聞かれたのでYES。次に「アンインストールした場合は1、それ以外は2」と聞かれました。事実は2ですが、たぶん引っかけ(笑)だと思って「1」と回答しましたら通りました。

・拡張バス
 ネイティブではすでにPCI-Expressしかありませんが。
 まずはX16。HD5750が挿さってます。ドライバは正常に入っていますし、GPU-Zで確認したところちゃんとX16になっていました。問題なさそうです。
 オンボードExpress接続のUSB3.0コントローラも2個認識しています。
 ブリッジ先のPCIバスも玄人志向製SERIALATA1.5-PCIの動作問題なし。
 PCI-Express X1スロット(確認したのはX8の上の1slotだけですが)も、X8スロット(このスロットを使うと自動的にX16スロッはX8になる)もSATA増設X1カード玄人志向製SATA2I2-PCIeを認識して正常に動いています。


■どんなカンジ?

 一連の不具合は、UEFIのデキというより、量産出荷時にUEFIで検査していないためにUEFIのPOSTタイミングではちゃんと動けない個体が不良として弾けてないから、という原因もあるのかも。
 使ってないこともあり詳しく判ってるワケではありませんが、「対応しない」とされているユーティリティ群の中には常駐型のものがあるような気がするので、これがUEFI下で起動しちゃうとトラブるのかも。
 今回のBIOS→UEFIはベンダが変わったということもあり、BIOSアップデートと言うより「M/B“だけ”交換してOSを再インストールせず使う」のと同じ状況と考えた方がいいでしょうから、

「OS再インストールは覚悟。そのまま使えたらめっけもの。周辺機器の相性問題は新たに発生するかも。逆に解決する問題もあるかも」

ってカンジで考えておいた方がいいのだろうと思いました。
 システム破壊に至るケースもあるみたいですので、バックアップもとっておいた方がよさそうですね。

・ちなみにSATA2I2-PCIe
 実は、このカードは初めて買ったPCI-Express X1カードです。UEFI上でのX1スロット動作確認のために買ったのです(笑)。もちろんSATAポートを増やしたいとは思っていたのですが、今回なぜこのカードを選んだのかなどを記しておきます。
 GA-Z68XにはMarvell製SATA3コントローラが搭載されていますので、同じMarvell製チップの拡張カードだとBIOSが誤認することがあるようです。そこで、別ベンダのSiliconImage製Sil3132チップ搭載ボードを選びました(SATA3は手がけていないようなので今後SiliconImaeg製コントローラがオンボードになることもないでしょうし)。
 ちなみにこのカード、BIOSをEnable/Disableできるジャンパピンが付いてました。スペックとして明示しといて欲しいなぁ(そういうカードを探してたんです)。起動デバイスを繋ぐつもりはありませんのでDisableできるのはありがたいです。余計なトラブル防げますし無駄な起動時間かかりませんし。
 Sil3112ではPIO4になっちゃった光学ドライブもちゃんとUDMA5になりました。HDDはUDMA6になってます。NCQも対応。Gen1でSATA2ですがSSD繋がない限りは問題ありませんし。
 ドライバCDとSATAケーブル1本とロープロブラケットが付属してました。



 ちなみにSil3112採用の玄人志向製SERIALATA1.5-PCIを同時搭載すると、どちらかにデバイス接続されている場合UEFIハングしちゃうようです。SATA2I2-PCIeのBIOSをDisableにしてもダメみたいです。

 ちなみに、SiliconImageのチップはドライバからBIOSのFlashが出来て便利なのですが、JPでBIOSをDisableにするとそのタブが出なくなります(BIOS無効なのでアタリマエですが)。逆に、タブの有無によってJP状態は確認できるということですね。

・USB Storage Function
 UEFIでは当項目はなくなりました。対象のUSBメモリがあると自動的にboot選択可能デバイスとして出現します(何故かピュアDOSのUSBメモリはUEFIブートと2種類出ます)。ただし「USB Legacy Support」をEnable(またはAuto)にしないと出現しません。BIOS時代と意味づけが異なっているのでしょうか。
 類似UEFIのGA-Z77X-UD3Hのマニュアルにも「USB Legacy Support」は「USBキーボード/マウスをMS-DOS で使用できるようにします」としか書かれていませんが、不正確ですね。UEFI全般なのか当該機種特有なのかは不明です。
 ちなみにピュアDOSからのBIOS→UEFI書き換えの場合は、(文字通り)これを有効にしておかないとUSB-K/Bから操作できなくなっちゃいますのでご注意を。

・POST時間
 OSロード以前の処理の話ですので、一旦主電源Off→Onにした状態でPowerSWを押下してから「Windowsを起動しています」画面が出るまでの時間、としました。オンボードのAudioと1394はDisableしています。
 HDD4台(うち2台はIntel-RAID1)とSSD、BDドライブを2台搭載してたりしますのでそれらの初期化にそもそも時間かかってると思いますが、

 BIOSで30sec
 UEFIで26sec

でした。確かにBIOSよりUEFIの方がPOSTは速いようですね。

・UEFIブートとMBRブート
 12/12/04追記:OSロードの話として、UEFIブートとMBRブートの比較ではどうでしょう。
 こちらはWindows8 Enterprise評価版(64bit)を使いました。
 実験用HDDにUEFIモードと従来のMBRモードでインストール直後の素の状態で、一旦電源OffしてOn後にPowerSW押下からスタート画面表示までの時間を数回比較しました。デュアルブートなどではなく再インストールしました。USB-AudioやSATAカード、Intel-RAID1などはそのままの常用環境にしています。その方が有意義だと思いまして。
 結果、

 UEFIが約60sec
 MBRが約50sec

と、期待とは逆の結果に。
 直前の終了は「再起動」で、UEFI起動直前に主電源Off-Onしていますので、高速スタートアップの効きではないハズですし、bcdeditや「システム情報」でモードは確認とっています。
 UEFIのバージョンに依存しそうな気がしますしSSDだと違った結果になるのかも知れませんが、UEFIブートの方が必ず速くなるというワケでもないようです。
 12/12/08追記:“斜めタイルの下で数珠が回っている”画面が消えたところで各種デバイス制御はOSに渡されていると推定されますので、そこまでの時間を比較してみたところ、

 UEFIが約35sec
 MBRが約36sec

 この時点ではUEFIが1secほどリードしているという結果に。デバイス制御の引き渡しに相性みたいなものがあるのでしょうか?


■リスクヘッジ

・BIOSに戻す方法
 Intelのツール「Intel Flash Programming Tool (fpt.exe)」を使って強制的にFlashROMを書き換える手法です。

 どっかからfpt.exeとfparts.txtを入手して、DOS起動して次のように実行。

fpt.exe /f BIOSファイル

 スイッチは/fでも-fでもいいようです。/?でヘルプが出せます。

 fpt.exeはどうやらM/Bベンダが提供するBIOSアップデートツールとしてそのまんま使われていることがあるようです。どうもFOXCONNは結構使ってるっぽいので同じZ68の同社製M/B「Z68A-S」用BIOSをDLしてみたら、fpartsとセットで入ってました(作成日2012/02/25のVer 8.0.3.1434)。
 これを使って実際BIOS(F12)戻しをやってみましたが、大丈夫のようです。fparts.txtがないと「ないよ」って怒られますが、これはどうもFlashROMチップの情報が書かれたリストファイルのようです。ちなみにウチのGA-Z68XのFlashROMは「MX25L3205A」という型番でした。

・@BIOS
 UEFI化した後、2012/09/18付けB12.0723.1で同じUEFIファイルを選択したらなんとFlashできました。
 が、同じ内容に書き換えてるのでこれ自体には意味ありません。試しにBIOS(F12)を選択してみたら、選択はできますが「古いバージョンへの書き戻しはできない」と言われました。
 上記手段で一度BIOS(F12)に戻してからこのバージョンでUEFIを書こうとしてみましたが、やっぱり「ベンダが違う」と弾かれました。このあたりのバージョンアップはされてないみたいです。
 上記挙動からするとチェックしてるのは「BIOSかUEFIか」とかじゃなくて、ベンダと新旧みたいですね。とするなら、今後UEFIのUpdateがあった場合は@BIOSでFlashできそうです。
 13/03/29追記:「U1h」から「U1l」へのUpdate、できました。


■備忘録

・GPTでMBR起動できるか
 UEFIモードでのインストールはGPTディスクにしかできない。それは理屈上判る。では、MBRに見せかけることも出来るGPTディスクにMBRモードのインストールは? たぶん不可だと思うけれど、念のためやってみました。
 Windows7でGPTにしてフォーマットしたディスクに対してMBRモードでWindows8をインストールしようとすると「GPTの形式のパーティションではありません」とかってダイアログが出てできませんでした。

・GPT特殊パーティションの消し方
 GPTの起動ディスクを作ると、ESPとかMSRとか「ディスクの管理」などでは消せない特殊なパーティションが出来てしまいます。全領域解放できないのでMBRディスクへの変換もできません。
 まずはdiskpartコマンドを使う方法です。以下「DISKPART>」プロンプトにて。

 list disk        ・・・対象ディスク番号を確認
 select disk N     ・・・上で確認した対象ディスク番号Nを入れる
 list partition      ・・・対象パーティション番号を確認
 select partition N  ・・・上で確認した削除パーティション番号Nを入れる
 delete partition    ・・・削除実行
 delete partition override  ・・・エラーが出た場合は“override”オプションを付ける
 exit           ・・・終了

 overrideオプションはエラーを無視するスイッチです。
 「仮想ディスク サービス エラー」になり、「force protected パラメータを設定しないと、保護されたパーティションは削除できません」という表示が出てもこのオプションを付けるとエラーを無視してコマンド実施します。

 diskpartはいろいろなことが出来ますが、コマンドラインなのでメンドクサイですし何より間違えて大変なことになる可能性も高くなります。
 そこでGUI(?)でやる方法をひとつ。Windowsカスタムインストールの領域確保するところの操作で、ESPもMSRも領域削除できました。Windows8 Enterprise評価版(64bit)のMBR起動でHDDに対しての実績ですが、「この組み合わせじゃないとダメ」ってことはないと思われます。
 17/04/08追記:Windows10Proでの結果ですが、「記憶域の作成」で一旦記憶域ディスクして削除したらまっさらなディスクになりました。この方がカンタンですね。

 ちなみに、2.2TB以上(MBRで使えない)のHDDは持ってません。


■後日談

 本項17/03/27追記。
 NVMeの挙動を確かめようと思い、「U1l」から最新の「U1n」にUpdateしました。
 普通に書き換えが終わって自動リスタート。bootできないと出たので再設定のためUEFIに入りました。
 そこでBoot順やSecureBootやCSMやオンボデバイス(シリアル無効化など)らの設定して再起動。
 そしたらすぐに立ち上がらずFANなどが段階的にPOSTしているような動きをし、POST中のロゴ表示した後「UEFIの背景」だけが出てきてすぐ再起動しちゃったではありませんか。上部に「GIGABYTE UEFI~」というタイトルがあるだけの青い画面です。
 ロゴ表示中キーは効きません(PS/2でも)。CMOSクリアしても電池抜きしても、最小構成にしてもDIMM換えてもCPU換えても同じです。バッテリ電圧も3Vあります。
 AMI製なので、「AMIBOOT.ROM」を入れたUSBメモリ(FAT16)をUSB2.0に挿して電源ON直後からClt+Homeを連打(PS/2のK/B)してみましたが反応なし。ファイル名もいくつか試しましたがダメです。
 DOSブートUSBメモリもCD-RもFDDも起動せず。

 注意書きを無視してUEFIツールのQ-Flashでやりはしましたが、一度起動して設定もできましたのでFlash自体は成功していたハズです。
 バッテリ抜きしても直らないということは設定値がおかしいワケでもなさそうです。
 「背景」は出るのですからUEFIは走っています。
 FlashROMの中身が設定変更後の再起動で“部分的に壊れた”ということになっちゃいますが、FlashROMってそれなりの制御しないと書き換えできませんし、いわんやトラブルで部分的に書き換わるとは思えないんですけれど。ストレージの中身が無事だったのはよかったですが…
 M_BIOSのVccピンを浮かせても現象変わらず。Dual_BIOSの復旧も走らないということは?

 Beta版とされてるのは確かですが、当M/BにUEFIはやっぱり“めっちゃリスキー”ってことですかねぇ(苦笑)。


メインメニューへ

テーマ : 自作パソコン
ジャンル : コンピュータ

最新記事
ERIへようこそ

Author:らかせ
「最新記事」または
「メインメニュー」からどうぞ

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です

・一応、拍手にコメント(非公開)付けられるようにしてあります

・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください

・ということもありますし、記すまでもないですが無断転載(ファイル含む)はご遠慮ください

・引用の考え方については「007:諸事」をご参照ください

・アフィリエイトはAmazonのみです

・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)

カテゴリ
検索フォーム
FC2カウンター