K75thunderbirdのブログ

どちらかというと自分の頭の整理用です。ネタとしてはモバイル、自動車、ロードバイク、電気関係やPC関係の突っ込んだ話題、ややデバイスやコンポーネント寄りの偏った内容になると思われます。

UEFI と セキュアブート と CSM

UEFIとかUEFIモードという単語は出てくるものの、定義がイマイチ明確ではないものが多い(ように思う)。
そもそもの定義から確認してみたい。

 

そもそもUEFIとは。
これまでのBIOSに取って代わるファームウェアアーキテクチャである。
BIOSではシステムチェック、デバイスチェック、ディスク検出、OSブートコードのロードと実行、といったOS起動に至るまでの一連の処理を行っていた。
しかし、BIOSは16bitのリアルモードでしか動作できないため、機能的制限が増えてきた。
そのため、32bitや64bitのネイティブコードを使用できるUEFIが2012年頃から(?)使用されるようになった。

これによって緩和される制約は幾つかあるものの、分かりやすいのは以下の点だろう。
 ・MBRではなくGPT形式のディスク管理形式のサポート
 ・GPTによる2TBを超えるディスクからのブート

2TBを超えるディスクは、今までも使用できた。
が、それはデーターディスクとしてであって、起動ディスクとしては使用できなかった。

 

さて、システムがUEFIをサポートしているか否かで変わるのは2TBの壁だけではない。
ここで出てくるのが セキュアブート という単語だ。

セキュアブートによって可能となるもの。
それは、ブートコードが改ざんされないことが保証されること。
そのため、ブートコードを変更するようなウイルスから保護されることになり、システムの安全性が確保される。

 

また、高速な起動・シャットダウンも可能となる。
BIOSでは上述のように律儀にチェックを実施してからOSを起動させていたが、UEFIではレガシーデバイスのスキャンを省略して起動を高速化できる。
・・・らしい。
BIOSでもメーカーによって起動速度は様々だったので、どの程度差が出るのかは少々疑問ではあるが。

 

UEFIBIOSの切り替えは、BIOS(というかUEFI)のブート関連のところに設定がある。
PCによって異なるが、UEFIモードにするか、レガシーBIOSモードにするか、という設定になっているはずだ。
なお、これに関連してCSMという単語が出てくるかもしれない。
これはレガシーBIOSモードに属するもので、コンパチビリティナントカ だ。
大雑把に、互換性向上のための設定と理解しておけば良いと思う。

なお、セキュアブートの設定もBIOS(というかUEFI)にあるはずだ。
対応OSはWindows8以降の64bitなので、これだけ使用するなら有効に、過去バージョンも使用する予定なら無効にする。

また、同時に行っておく設定として、SATAモードもある。
世代的な意味で、UEFIならAHCIRAIDBIOSならIDEとしておくのが無難だろう。

 

ここまでで、UEFIBIOSに取って代わる高機能な存在であることは理解した。
しかし、必ずしも上に挙げたメリットを全て受けられるわけではない。
何故なら、OSの対応が必要となるからだ。

要求されるOSのバージョンは、VistaSP1(Server2008R2)以降の64bit版。
32bit版に関してはタブレットPCなどで例外があるが、ことPC環境に関して言えば無視して良いと思われる。
ただ、Windows7UEFI対応であるがCSMは有効にしておいた方が良いという記述を見る。
過渡期ゆえの、ということだろうか。

 

さて、対応OSであれば安心かと言うと、まだ問題がある。
WindowsBIOSからブートしてインストールした場合と、UEFIからブートしてインストールした場合とで、別々のモードで動作する。
動作モードはインストール時に確定し、以降変更することはできない。
UEFIのメリットを受けるためには、当然ながらOSをUEFIモードで動作させる必要がある。
OSをUEFIモードで動作させるには、UEFIからブートさせた状態でインストールする必要がある。

恐らくここが一番重要だと思うが、起動順序の設定が必要となる。
DVD ⇒ SSD の順にすればいい、ということではない。
インストールメディアを入れた状態で、BIOS(というかUEFI)のブート設定を行うのだ。
ドライブが空の状態では設定ができない。
インストールメディアを入れた状態だと、DVDドライブの左端に「UEFI:」という文字が付くものが出てくる。
これを指定してインストールを開始しなければならない。


余談だが、USBメモリからインストールする場合、BIOSでは先頭セクターにブートコードが必要である。
しかしUEFIでは必要なファイルが揃っていれば良いので、インストールメモリを作成する際はファイルコピーで済む、というメリットもある。
気にしなければならないのは、ファイルシステムNTFSFAT32か、という点くらいだ。


ここまでくれば、OSのインストールそのものはBIOSモードでもUEFIモードでも一緒である。
インストーラーが2TBを超える領域を認識するかどうか、といった違いはあれど、特に何かを意識することはないはずだ。

 

これを書くにあたって、幾つかの解説記事やBlogを見て思ったことがある。

UEFIモードという言葉が、BIOS(というかUEFI)の画面に関して用いられているのか、OSに対して用いられているのか紛らわしい。
ブート設定が分かりづらい。
正直なところUEFIでなくても起動は速くなっているからメリットが小さい。
OSをSSDにインストールするようになったので2TBの壁が問題となりにくい。

もう少し早く世に出ていれば、高速化のメリットも分かりやすかっただろう。
また、2TBの壁への対応も感謝されただろう。

 

とはいえ、Windows10のような新しいOSではUEFIが前提として設計されているだろうし、使わないのは勿体ない。
いささか消極的な選択ではあるが、今後UEFIを活用していけるだけの知識は持っておきたいと思う。

それでは皆さん、ごきげんよう