UEFIをめぐる騒動はもう十分だ ― Secure Bootの誤解と真実
最近ではほぼ毎日のように、Microsoftが「Secure Boot」機能を悪用してデスクトップ市場を独占し、Linuxの普及を妨げようとしていると非難する記事を目にします。さらに、Microsoftの話とは別に、多くの人々が「UEFIのせいで各種Linuxディストリビューションを起動できない」と訴えています。
この記事では、こうした神話や不安、そして純粋な誤情報を払拭したいと思います。このテーマに関する記事の多くは、論争・アクセス数・収益を生み出すために意図的に作られたFUD(恐怖・不確実性・疑念)にすぎないからです。それでは、UEFIに一体何が起きているのか、そしてなぜ問題など存在しないのかを見ていきましょう。
UEFIの概要
UEFIは「Unified Extensible Firmware Interface(統一拡張ファームウェアインターフェース)」の略称です。OSとプラットフォームハードウェアの間のインターフェースを定義する標準規格であり、事実上、従来のBIOSの役割を置き換えるものです。UEFIはより近代的で、リモート接続、セットアップ画面内でのマウス操作など、多彩な機能を備えています。大容量ディスクへの対応をはじめ、数多くのサービスも利用可能です。
Secure Boot(セキュアブート)とは
UEFIバージョン2.2で追加されたのがSecure Bootです。この機能により、有効なデジタル署名を持つOSのみを起動できるよう、ハードウェアプラットフォームを制限できます。ある意味、銀行などのHTTPSサイトへ接続するときの仕組みと似ています。
Setupモードでは、UEFIがハードウェアを列挙し、「プラットフォームキー」と呼ばれる公開鍵をファームウェアに書き込みます。Userモードでは、対応する秘密鍵を持つOSのみ起動が許可されます。多くの場合、秘密鍵にはハードウェアデバイスの列挙情報とカーネルのデジタル署名が含まれます。だからこそ「セキュアブート」と呼ばれるのです。OSが大きく改変されたり、ハードウェアが不正に変更されたりした場合は異常の兆候であり、安易に起動すべきではないからです。変更やカーネルアップデートを許可するために追加キーを登録することも可能ですが、プラットフォームキーと関連付けられている必要があります。さらにカスタムモードを使えば、他のOS向けに新しいキーを追加できます。これはWebサイトのデジタル証明書とよく似ています。サイトが改ざんされれば署名は無効になり、先へ進むべきではない、というのと同じ理屈です。
※画像はWikimediaより引用(CC BY-SA 3.0ライセンス)
Microsoftの陰謀? ― 違います
ここからがドラマの始まりです。Microsoft Windows 8はSecure Bootをサポートしています。ところがこの機能は、たちまち「Microsoftが他のOSベンダー、すなわちLinuxを同じハードウェア上で起動できなくするための陰謀だ」という公然の噂へとすり替えられてしまいました。
そもそも、なぜ心配する必要があるのか?
実際のところ、何を心配する必要があるのでしょうか?UEFIのセットアップ画面を開き、Secure Bootの設定をSetupモードまたはCustomモードに変更して必要な調整を加えるだけです。そして、ここからが問題の始まりです。
GPLライセンスの制約により、GRUBブートローダーをデジタル署名対応へと改変できないケースがあるのです。正確な理由は重要ではありませんが、Microsoftとは何の関係もありません。さらに、汎用的な署名キーをブートローダーに使えばライセンス上の懸念は解消しますが、ではどうやってOEMベンダーに、Microsoftのキーと一緒にそのキーを出荷してもらうよう説得するのでしょうか?これもまた、Microsoftとは無関係です。
最後に、いくつかのプリブートブートローダーが開発されています。これは署名を行った後、通常の手順でGRUBへブート処理を引き渡すためのもので、「shim(シム)」と呼ばれ、複数の亜種が登場しています。現在では公式のブートローダーも存在するはずなので、気になる方はWebで検索してみてください。繰り返しますが、Microsoftの陰謀論とは一切関係ありません。そして忘れていませんか?Secure Bootは完全に無効化できるのです。それが全く問題にならないことこそ、人々を最も苛立たせているポイントのようです。
待ってください、Secure Bootは無効化できるのか?
実は、MicrosoftはWindows RT(つまりARM、おそらくタブレットやスマートフォン)を搭載するプラットフォームに対しては、Secure Boot機構の改ざんを防ぐためUEFIをロックダウンすることを求めています。冷静に考えてみれば、これはAppleやGoogleが自社のスマートフォンで行っていること、いわゆる「脱獄」のためにカスタムファームウェアを導入する必要があるのと何ら変わりません。それなのに誰もそれについて騒がず、Microsoftが同じことをしようとすると皆が過剰反応するのです。
同様に、MicrosoftはOEMベンダーに対し、x86プラットフォーム(デスクトップやノートPCなど)においてはSecure Bootのフルコントロールをユーザーに許可するよう求めています。ここでOEMベンダーの話につながります。
OEMベンダーの問題
市場データを見てみましょう。普段ならどこかのMBAホルダーがステージを闊歩し、いかに興奮しているかを語り、「市場への浸透率」という言葉を力説するでしょう。そして、Microsoftが文字通り1ミリたりともシェアを譲らないよう攻撃的に戦っていると想像するかもしれません。
確かにMicrosoftは市場シェアを守りたいはずです。しかし、WindowsとWindows RTそれぞれへの制限の有無を考えれば、現実的な問題は見当たりません。簡単な統計を挙げましょう。世界のコンピュータの約90%は何らかのバージョンのMicrosoft Windowsを実行しています。その約90%にはWindowsがプレインストールされており、ユーザーは設定を変えようともしません。約90%の人々は、デフォルトで入っているOS以外の使用やデュアルブートを検討すらしません。Linuxは過去にも問題になったことがなく、現在も問題ではないのです。
同様に、Linuxユーザーは知識とスキルを備えており、UEFIのセットアップ画面で必要な変更を加えて、デュアルブートやトリプルブートなどを簡単に実現できます。多くのLinuxユーザーはOS未搭載の汎用ハードウェアを購入するため、Secure Boot自体が話題に上ることすらありません。大した問題ではないのに、ドラマの方が楽しいというわけです。
あなたが自問すべき唯一の問いはこれです。Secure Bootをサポートし、WindowsがプレインストールされたOEM製ハードウェア上で、独自のOSを使いたい場合、ベンダーは仕様を遵守し、Secure Bootの無効化や変更を本当に許可するのか?
これだけが唯一の重要な問いです。UEFIとその機能に問題があるわけでも、Microsoftの願望・目標・戦略やベンダーへの要求に問題があるわけでもありません。問題となりうるのは、ベンダーが標準を守るのか、それともUEFIに独自の変更を加えて機能を損ない、ユーザーの自由を奪うのか、ただそれだけです。
その答えはこうです。UEFIインターフェースが制限されたハードウェア(特にノートPC)は買わないこと。使い方を制限されうる製品を購入しないこと。必ず次の条件を満たすマシンを選んでください。1)Secure Bootの変更が可能であること 2)旧来のBIOSをエミュレートするレガシーモードを備えていること。今の時点で心配すべきは、それだけです。
UEFIは実際に問題なく動作する ― 実例
私は2011年と2012年に、ほぼ同一構成のデスクトップPCを2台購入しました。どちらもASUS製マザーボード搭載で、当然ASUSのファームウェアです。両方ともUEFIを採用し、レガシーブートにも対応しています。いずれのマシンでも、Windows 7および複数のLinuxディストリビューションを一切の問題なくインストール・運用できました。Secure Bootは一度も障害になりませんでした。無効化されていたのか、メニューに存在しなかったのか、どちらでも構いません。それだけの話です。ハードウェアを慎重に選びさえすれば、自分の資産を完全にコントロールし、思い通りのカスタマイズができるのです。
UEFIの恐怖話
一方の極端には、Samsung製ノートPCでLinuxを起動しようとしたところ文鎮化(起動不能)したという怪談めいた話もあります。これはたちまち「またしてもMicrosoftの陰してもMicrosoftの陰謀だ」と騒がれましたが、やがてSecure Bootは今回の原因ではなかったと判明しました。むしろ、ファームウェアのバグに起因するOSと基盤ファームウェアとの非互換性が、マシンを死に至らしめたのです。
もちろん人々は直ちに「UEFIが悪だ」と非難しました。しかし、問題は特定のブートモード、特定のバージョンのLinuxでのみ発生したのです。そもそも、ハードウェアが文鎮化する話は珍しくありません。過去にも同様の事例が無数にあります。DVDドライブやルーターといった個別製品の場合もあれば、マシン全体の場合もあります。起こるのです。バグは存在し、そして修正されるのです。

※画像はWikimediaより引用(CC BY-SA 3.0ライセンス)
UEFIにも、Samsungにも、Linuxにも落ち度はありません。特定の条件下で複数のコンポーネントを組み合わせれば、問題は起こりえますし、実際に起こります。これが表面化したのは、おそらくSamsungがWindowsプレインストールのノートPCでUbuntuなどをテストしていなかったからでしょう。同じ問題は工場出荷時の組立段階でも発生していた可能性がありますが、その場合SamsungはMicrosoftに連絡して静かに解決していたはずです。ところが現実には、Windows上でも同じ問題が発生したのです。バーン!陰謀論はこれでお終いです。
OEMベンダーがOSメーカーやハードウェア企業とやり取りし、ファームウェアの修正を求める──この種の事例は常時何百件も発生しています。知りたくもないでしょうし、顧客として気にかける必要もまったくありません。
さらなる恐怖話
「Secure Bootを有効にしたままハードウェアを変更したら、システムが起動しなくなった」という訴えもあります。確かに、新しいハードウェア部品の追加はデバイス列挙の更新を意味するため、デジタル署名のハッシュが保存済みキーと一致しなくなることがあります。
これは小さな問題ですが、解決も容易です。ハードウェアを変更する前にSecure Bootを無効化すればよいのです。ここでも鍵となるのは、OEMベンダーが仕様と標準を遵守するかどうかです。率直に言って、デスクトップでこれが問題になることはまずないでしょう。ノートPCにしても、どれほど頻繁にハードウェアを交換しますか?
結論
UEFIは悪魔ではありません。単にBIOSと異なるだけであり、OS側がその機能に適応していく必要がある、というだけの話です。同様に、Secure Boot機能も過剰に心配するものではありません。あなたがすべきことは、顧客を軽んじないベンダーからハードウェアを購入すること。それだけです。
このシンプルなルールとガイドラインに従えば、UEFI搭載ハードウェアでのマルチブート体験は快適でストレスフリーなものになります。遠からず、すべてのLinuxディストリビューションがネイティブかつシームレスにSecure Bootへ対応し、この問題も完全に消え去るでしょう。それ以外は通常どおりです。ごく稀にハードウェアが煉瓦の塊と化すかもしれない、という可能性さえ含めて。しかしそれは、どんな規格名だろうと起こりえます。さあ、無駄なドラマはもう十分です。
では、また。
-
コンピュータは死んでいます。コンピュータに長生きしてください
6 年間の忠実なサービスの後、私は最も古いデスクトップを引退しました。時折の休暇と年に 1 回程度の不運な停電を除けば、マシンは 24 時間 365 日稼働し、大きな問題やしゃっくりはありませんでした。しかし、コンピューターの 6 歳は、人にとって 300 万歳のようなものです。したがって、すべての良いことは終わりを告げなければならず、代わりにより良いことがやって来ます。 古いデスクトップを置き換えることは、真新しいデスクトップです。この記事では、これまでのこと、これからのこと、運用上のセットアップ、ハードウェアの問題、あらゆる種類のインストール、構成など、新しい子供を家に持ち込んだときに
-
コンピューターの未来
コンピューターとは、ブラウジングしたり、音楽を聴いたり、友達がいるふりをしたり、時には実際の仕事をしたりするために使用するものを意味します。大企業のサーバー、デスクトップ ワークステーション、ノートブック、ネットブック、最後にスマートフォンまで、さまざまな種類があります。一握りのメディア センター、ストリーマー、タブレットを放り込むと、混乱が生じます。そして、すべてのタイプについて、非常に多くの意見と予測があり、すべてが運命論的に 1 つの質問に固執しています。すぐに死ぬのでしょうか? 死が好きな人もいます。 4 分おきに、Firefox がもうすぐ死ぬという記事があります。もちろん、この