Windows 8を覚醒させるUEFIチューニング~電源オンから5秒以内に起動するPCを実現する


 Windows 8のリリースがいよいよ今月末に迫ってきた。そこで今回は、Windows 8の目玉の1つとも言えるUEFIブートについて検証してみた。電源オンから5秒以内、実質1秒30という驚異的なスピードで起動させるための設定と、セキュリティを実現するSecure Bootの設定を紹介する。

あなたのWindows 8はまだ眠っている

 TechnetやMSDNなどでの提供開始に伴って、Windows 8の検証を開始したという人も少なくないことだろう。新しいユーザーインターフェイスへの慣れは必要だが、起動の速さや動作の軽快さは、さすが最新OSと言える完成度で、電源オンですぐに使えるスマートフォンやタブレットに慣れた身にも、PCの価値を再確認させてくれてくれた。

発売が迫ってきたWindows 8。特長の1つである起動の速さを活かすには、最適なハードウェアと設定が必要

 しかし、おそらく、今、世にある多くのWindows 8環境は、まだ「眠った」ままの状態にあると言っても過言ではないだろう。

 特にブートに関しては、Windows 8の真の実力を発揮させたことがある人は、まださほど多くないはずだ。「眠った」ままでもWindows 7に比べれば十分に高速なため、それで満足してしまうケースが多いのだが、きちんとWindows 8に最適化されたハードウェアと起動設定のチューニングで利用すれば、電源ボタンを押してから5秒台という驚異的なスピードでWindows 8を起動させることも可能だ。

 しかも、単に早く起動するだけでなく、セキュリティと使いやすさまでも兼ね備えた環境で利用することもできるのだから、これを見逃す手はないだろう。


UEFI環境を用意しよう

 では、どうすれば、Windows 8を「覚醒」させることができるのだろうか? その鍵はUEFIにある。

 UEFIは、「Unified Extensible Firmware Interface」の略で、従来のBIOSに代わるPCの基本的なソフトウェアだ。GUI操作ができるBIOSというイメージを持っている人も少なくないかもしれないが、実際にはPCのハードウェアとOSの中間に位置するソフトウェアで、IBM PC互換機時代から続く古いBIOSを置き換える目的で策定された。

 市場においては、2TB以上のHDDの登場によって、2011年頃から自作PC向けのマザーボードなどでの採用例が増えてきたが、現状はまだ移行の過渡期であり、UEFIをサポートしているマザーボードやPCであっても、UEFI環境にOSがインストールされていないことが多く、実質的に有効になっているケースはまだ少ない。

UEFIに対応したマザーボードの設定ユーティリティ。UEFI環境にWindows 8をインストールすることで起動が一層速くなる

 前述した「眠った」Windows 8とは、この古いBIOS、もしくはUEFIが使われていない環境のことだ。そのままでは、2TBを超えるHDDからのブートができなかったり(データ用としての利用は問題ない)、UFEIの仕様によって定められ、Windows 8で新たにサポートされたSecure Bootの機能が利用できなかったり(Secure Bootの賛否については後述)、冒頭で紹介したように、電源オンから一瞬で起動するほどの起動速度にWindows 8を「覚醒」させることができないわけだ。

 よって、Windows 8を覚醒させるには、まずUEFIに対応したPC、もしくはマザーボードを入手することが最初のポイントになる。Windows 8に対応した製品については、以下のWebサイトで検索することができるので、事前にチェックしておくといいだろう。

◇Windows Certified Products List
 https://sysdev.microsoft.com/ja-JP/Hardware/LPL/


UEFI環境にWindows 8をインストールする

 UEFI環境を用意できたら、UEFI環境にWindwos 8をインストールする。Windows 7のときも可能であったが、Windows 8のDVDをドライブにセットし、UEFIのブートメニューから「UEFI:ドライブ名」を指定してインストーラーを起動する。

UEFIでインストールする場合は起動時にUEFIを指定してインストーラーを起動する

 もしも、USBメモリーを使ってインストールしたいときは、USBメモリーのフォーマットに注意すべきだ。UEFIはNTFSを認識できないため、必ずFAT32でフォーマットしておく必要がある。特に注意したいのは、Windows 7の時代に使われていた「Windows 7 USB DVD Download Tool」の利用だ。このツールは、USBメモリーを自動的にNTFSでフォーマットしてしまうため、作成したUSBメモリーを使うと、どうやってもUEFIでブートすることができない。

UEFIではFAT32しか認識できない。Windows 7 USB DVD Download Toolを使うとNTFSでフォーマットされてしまう

 少々面倒だが、以下の画面のように、コマンドプロンプトから「diskpart」を使ってUSBメモリーをFAT32でフォーマットし、Windows 8のDVD(もしくはISO)からすべてのファイルをコピーしておこう。

 なお、このときOSのアーキテクチャにも注意が必要だ。Windows 7の時もそうだったが、32bit版のWindows 8でもUEFIでのブートはサポートされていない。このため、64bit版のWindows 8を用意する必要がある。

diskpartを利用してFAT32でフォーマット後、Windows 8のDVDからファイルをすべてコピーしておく

 準備ができれたら、前述したようにUEFIでメディアをブートし、Windows 8をインストールすればいい。UEFIでインストールを開始すると、利用環境にも依るが、Windows 8のインストーラー起動時のロゴが、Windows 8のロゴからマザーボードベンダーなどのロゴに変更される。これは一見の価値ありだ。

 ちなみに、今回、用意した環境(ASUS P8H77-I)は、HDDのインターフェイスがIDEモードとなっていたため、これのみAHCIに変更したが、そのほかは、標準の設定のままでインストールすることが可能だ。


標準では電源オンから8秒台で起動

 Windows 8が無事にインストールできたら、どれくらいの時間で起動するのかをチェックしてみるといいだろう。以下は、今回のテスト環境(ASUS P8H77-I/Core i5 3570K/RAM8GB/Crucial RealSSD C300 64GB)で、標準設定のままインストールしたときと、UEFI(HDDをAHCIにのみ変更)環境の起動時の動画だ。


【動画】非UEFI環境でインストールした場合の起動時間



【動画】UEFI環境でインストールした場合の起動時間

 標準状態でも、電源ボタンを押してから起動が完了するまでの時間は8秒25と決して遅くない。しかし、UEFI環境では、これが6秒75とさらに早くすることが可能だ。

 とはいえ、これでもまだ「覚醒」したとは言いがたい。UEFIの設定をチェックすればわかるが、起動にまだ無駄な時間が消費されている。たとえば、USBやPS2のイニシャライズ、UEFI設定画面を表示するためのPost Delay Timeだ。

 よって、より高速な起動を目指す場合は、これらもすべて無効にしておく。設定方法はマザーボードやPCによっても異なるが、今回使用したASUSのUEFIユーティリティでは、「詳細」で「レガシーUSBサポート」を無効にし、「起動」で「POST Delay Time」を「0秒」に、「高速ブート」の「USB Support」と「PS/2 Support」を「無効」に変更した。つまり、起動時のデバイスの初期化や待ち時間をほとんど無くしたわけだ。その結果は以下の通りだ。

POST Delay Timeなど起動時のボトルネックとなる設定はすべて無効化する

【動画】設定を最適化した場合の起動時間

 電源ボタンを押してからの起動するまでの時間はわずが5秒43。UEFIが起動してOSの起動プロセスが開始してから、わずか1秒30という驚異的なスピードでWindows 8を起動させることが可能となった。利用するPCやマザーボードによって若干のずれはあると思われるが、正直、5秒台で起動するというのは驚きだ。

 なお、今回のテストでは、後述するSecure Bootを有効にした状態で計測していること、シャットダウン実行後に電源ボタンをオンにして起動時間を計測している点に注意したい。

 Windows 8では、標準で「高速スタートアップ」が有効になっており、従来のOSで必要だった起動時のカーネルやデバイスドライバの読み込み、サービスの初期化処理などが省略され、シャットダウン時に保存された休止状態ファイルからシステムを読み込むことで、高速に起動するようになっている。言わば、半休止だ。

 よって、再起動や「Ctrl」ボタンを押しながらのシャットダウン後のコールドブートでは、これよりも若干時間がかかる。それでも、電源ボタンを押してから10秒以内には起動が完了するので、これまでのOSとは比べものにならない速さだ。


【動画】コールドブートした際の起動時間

 

起動時間の比較

起動開始起動完了実起動時間
CSM4秒258秒254秒00
UEFI3秒966秒752秒79
UEFI(Tuned)4秒135秒431秒30


UEFIユーティリティへのアクセスも可能

 このように、Windows 8は、最適化されたUEFI環境にインストールすることで、非常に高速に起動させることができるが、ここで問題になるのが起動時のUEFIユーティリティの表示方法だ。

 最終的に「POST Delay Time」を「0秒」にしてしまうと、UEFIユーティリティを呼ぶ間がまったくなくなるうえ、レガシーUSBや起動時のUSBも無効化してしまうと、キーボードそのものの入力が受け付けられなくなる。

 しかし、心配は無用だ。Windows 8には、OSからUEFIユーティリティを起動する方法がきちんと用意されている。チャームから「設定」を起動し、「PC設定の変更」を選択。「全般」項目の最後にある「PCの起動をカスタマイズする」の「今すぐ再起動する」をクリックしてPCを再起動すると、Windows 8のブートメニューが表示される。

 ここから、「トラブルシューティング」-「詳細オプション」を選択すると、「UEFIファームウェアの設定」という項目が表示されるので、これをクリックすれば、マザーボードのUEFIユーティリティが起動し、設定が可能になる。

 若干、設定が深い場所にあるが、起動時にタイミングを合わせてキーを押すよりはマシなうえ、そう頻繁に設定するものでもないので、この方がスマートと言えるだろう。

Windwos 8では、OSからUEFIユーティリティを起動することができる


Secure Bootも有効にしておこう

 ここまでで、Windows 8の起動を高速化することができるが、最後にSecure Bootを有効にしておくこともおすすめしたい。

 Secure Bootは、UEFIに搭載されているファームウェア検証プロセスだ。Secure Bootを有効にしたUEFI環境とWindows 8を組み合わせると、あらかじめ安全であることが証明された著名済みのコードとブートローダーしかUEFIから起動できなくなる。

 従来のBIOS環境では、悪意のあるプログラムによって、ブートパスが書き換えられ、OS起動前に任意のプログラムを実行されるなどの被害を受ける可能性が高いが、Secure Boot下のWindows 8であれば、UEFIからはWindows 8のような認証されたOSしか起動できないため、より安全性が高くなる。

 使い方は、簡単で、前述した方法でUEFI環境にWindows 8をインストール後、UEFIユーティリティからSecure Bootを有効化すればいい。設定方法は製品によって異なるが、今回利用したマザーボードの場合は、「起動」の項目にある「CSM(Compatibility Software Module)」と呼ばれるBIOS互換のモジュールを無効に変更し、Secure Bootのモードを設定を「Windows 8 UEFI」に変更しておけば完了となる。

BIOSとの互換性を確保するためのCSMを無効化Secure Boot ParametersでWindows 8 UEFIを選択するとSecure Bootが有効になる

 なお、Secure Bootを有効化すると、認証されたOSしか起動できないため、昨年あたりにLinuxで話題になったように、非対応の他のOSを起動できなくなる可能性がある。PCやマザーボードの設定、OSのバージョンなど、組み合わせによって動作が異なるため、詳細に検証しきれていないが、Windows 8以外のOSを利用する可能性がある場合は注意が必要と言えそうだ。

 以上、今回は、UEFI環境でWindows 8の性能を発揮させる方法を紹介した。Windows 8に関しては、ホームグループでスリープ中のPCをWOLさせることが可能になった一方で、相変わらずホームグループを有効にするとCPU負荷が高くなるという仕様が修正されていないなど、良くも悪くも、細かな注目点があるOSになっている。

 ユーザーインターフェイスやストアなど、大きな変更以外にも注目すべきポイントはあるので、あらためて紹介していく予定だ。



関連情報

2012/10/2 06:00


清水 理史
製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるWindows 8.1/7 XPパソコンからの乗り換え&データ移行」ほか多数の著書がある。