コラム

Column

ご挨拶

セキュアブートをUbuntuで使う方法|有効化と動作制限を解説

セキュリティ認証 コラム 特集

LinuxベースのOSである「Ubuntu」で、セキュアブートを利用しようとすると、「起動しない」「ドライバが読み込めない」といった予期せぬ不具合に悩まされることがあります。

セキュアブートとは、コンピュータの起動時に不正なソフトウェアの実行を防ぐ仕組みですが、Ubuntuとの相性や設定次第で思わぬ制限が生じることも少なくありません。

この記事では、セキュアブートの基本、Ubuntuにおける対応状況、導入手順、有効化・無効化の方法、よくあるトラブルの対処法などを解説します。

 

目次

セキュアブートとは何か?

セキュアブートは、コンピュータの起動時に信頼されたソフトウェアだけを動作させる仕組みです。ここでは、基本的な考え方などについて解説します。

 

セキュアブートの基本概念

セキュアブートは、OSの起動時に未承認のプログラムが実行されるのを防ぐセキュリティ機能です。具体的には、起動に関わるソフトウェアが「署名付き」であることを確認し、改ざんやマルウェアの侵入を防ぎます。

例えば、カーネルやブートローダーに署名がなければ、起動処理そのものがブロックされる仕組みです。この機能により、ウイルスがOSの起動前に介入する「ブートキット攻撃」などのリスクを低減できます。

セキュアブートは企業や公共機関におけるセキュリティ対策として導入されることが多いですが、近年は一般ユーザーのパソコンにも標準搭載されている状況です。

 

UEFIとの関係性

UEFI(Unified Extensible Firmware Interface)とは、コンピュータを起動する際にハードウェアを初期化したり、OSを起動したりする役割を担うファームウェアです。セキュアブートは、UEFIの中の機能の一つになります。

セキュアブートは、UEFI内部の「キー管理機構」により、信頼されたソフトウェアの署名を検証することで、信頼性を確認します。例えば、Ubuntuではマイクロソフトが提供する「公的鍵」によって署名されたブートローダーが使われるため、UEFIのセキュアブート機能と互換性がある形です。

 

従来のBIOSとの違い

セキュアブートは、従来のBIOSでは実現できなかった安全な起動環境を可能にします。BIOSはソフトウェアの正当性を検証しないため、マルウェアがブートプロセスに侵入するリスクがあります。

一方、UEFIにはセキュアブートがあるため、OSやドライバが署名付きであることが求められ、未署名の場合は起動段階でブロックされる仕組みです。そのため、UEFI対応パソコンでは、ブート時点でセキュリティを確保できます。

 

Ubuntuにおけるセキュアブートの対応状況

Ubuntuでは、セキュアブートの仕組みに対応した設計がされています。ここでは、公式サポートの状況、セキュアブート有効時における制限事項などについて解説します。

 

公式サポートの有無と対象バージョン

Ubuntuは、バージョン12.04以降からUEFIに対応しており、セキュアブートへの対応は、12.10以降です。(※)

特にLTS(長期サポート)バージョンでは、公式にセキュアブート環境下での動作が保証されています。現在では、Ubuntu 18.04 LTS以降の主要バージョンで、署名済みブートローダー「Shim」やカーネルが提供されており、セキュアブート環境でもインストールと起動が可能です。(※)

インストール時に自動で署名付きコンポーネントが導入されるため、ユーザーが特別な操作を行う必要はありません。

※出典:

kledge「UEFI その2」(UEFIに対応しているUbuntuのバージョン)

ubuntu「UbuntuDesktop」(共通インフラストラクチャ)

ubuntuのセキュリティドキュメント「UEFIセキュアブート

 

セキュアブートが有効な状態での動作制限

Ubuntuでセキュアブートが有効になっている場合、一部のカーネルモジュールやドライバに制限がかかります。具体的には、未署名のカーネルモジュールはロードできません。そのため、外部デバイスのドライバや自作のカーネルモジュールを使用したい場合は注意が必要です。

またNVIDIAの独自ドライバやVirtualBoxのカーネルモジュールなども、署名がないと読み込めないため、セキュアブートを一時的に無効化する必要があります。

セキュアブートは、セキュリティを重視する環境では、制限が有効に働きますが、カスタマイズ性を求める場合は、ユーザーにとって不便さを感じることもある状況です。

 

対応している署名付きカーネルとモジュール

Ubuntuはセキュアブートに対応するため、起動に必要なブートローダーやLinuxカーネルに署名を付与しています。また、標準で提供されている主要なカーネルモジュールも署名済みです。

例えば、Ubuntuの公式パッケージからインストールされるGPUドライバやネットワークドライバの多くは、セキュアブート環境でも動作するように署名されています。一方で、カーネルを自動で再ビルドするDKMS(Dynamic Kernel Module Support)では、手動で署名する作業が必要です。(※)

※出典:ubuntu「DKMS

 

Ubuntuでセキュアブートを有効にする手順

Ubuntuでセキュアブートを利用するには、UEFIの設定変更とインストール時の手順が必要です。ここでは、設定画面への入り方から、有効手順、インストール方法などを解説します。

 

UEFI設定画面へのアクセス方法

セキュアブートを有効にするには、パソコンの電源投入直後にUEFI設定画面を開く必要があります。多くの機種では、起動直後に「Delete」「F2」「F10」などのキーを押すとUEFI画面に入ることが可能です。メーカーによって操作キーが異なるため、事前に確認しておいてください。

UEFI画面に入った後は、「Security」や「Boot」タブを開きます。セキュアブートに関する項目は「Secure Boot」や「Secure Boot Control」などの表示が一般的です。この設定を変更することで、Ubuntuのインストール時にセキュアブートを利用できます。

 

セキュアブートの有効化と再起動手順

UEFI設定画面に入った後は、次の手順を実施します。

 

  1. 1. 「Boot」または「Security」タブ内に移動する。
  2. 2. 「Secure Boot」オプションを「Enabule(有効)」に変更する。
  3. 3. 変更後、「Save and Exit(保存して終了)」を選ぶ。
  4. 4. パソコンが再起動する。

 

再起動後は、UEFIにより署名付きのOSやブートローダーしか読み込めない状態になります。Ubuntuをすでにインストール済みの場合でも、「Shim」などの署名付きブートローダーが使われていれば問題なく起動可能です。

 

セキュアブート対応のUbuntuインストール方法

Ubuntuをセキュアブート対応でインストールするには、公式のISOイメージを使用し、USBメディアなどから起動するのが基本です。Ubuntu公式サイトで提供されているインストーラーは、「Shim」や「GRUB」などのブートローダーがマイクロソフトの鍵で署名されているため、UEFIのセキュアブートが有効でも問題なく動作します。

インストール時には特別な設定は不要で、インストーラーが自動的に署名付きコンポーネントを使用してくれる仕組みです。UEFIモードで起動していれば、セキュアブートを有効にした状態でインストールが完了します。

※出典:Ubuntu「Ubuntuデスクトップをダウンロード

 

セキュアブート有効時のドライバやソフトの制限

セキュアブートを有効にした状態では、読み込めるドライバや実行できるソフトが制限されます。ここでは、未署名ドライバの制限、DKMS利用時の注意点、サードパーティ製ソフトの扱いについて解説します。

 

未署名ドライバの読み込み制限

セキュアブートが有効な環境では、未署名のカーネルドライバはロードされません。これは起動時に悪意のあるコードが読み込まれないように保護する仕組みの一環です。例えば、NVIDIAの公式ドライバやVirtualBoxのカーネルモジュールなど、未署名の状態ではインストールしても正しく動作しない場合があります。

対処方法としては、セキュアブートを一時的に無効化するか、自分でドライバに署名を行う必要があります。一方で、署名つきドライバであれば、セキュアブート環境でも問題なく動作が可能です。

 

DKMSモジュール利用時の注意点

DKMS(Dynamic Kernel Module Support)は、カーネル更新時にドライバを自動で再構築してくれる仕組みです。しかしセキュアブート環境では、再構築されたモジュールに署名がないと読み込めません。

例えば、NVIDIAやVirtualBoxのドライバをDKMSで利用する場合、自分で鍵ペアを作成し、署名作業を行う必要があります。

Ubuntuでは、証明書登録・確認ツールである「mokutil」を使用して、カーネルモジュールに署名し、公開鍵をMOK(Machine Owner Key)として登録すれば、再起動後にセキュアブート環境でも使用可能です。(※)

※出典:Ubuntu「セキュアブート」(ドライバーの非自動署名を行うにはどうすればいいですか?)

 

サードパーティ製ソフトのインストール可否

セキュアブートの影響を受けるのは、主にカーネルレベルで動作するソフトウェアです。例えば、ブート時に読み込まれるドライバやカーネルモジュールになります。通常のアプリケーションは、制限を受けません。

そのため、一般的なサードパーティ製ソフトは、セキュアブートが有効な状態でも問題なくインストールが可能です。ただし、ドライバを伴うソフト(例えばVPNなど)の場合は、セキュアブートの制限の対象になるため、事前に対応状況を確認しておく必要があります。

 

Ubuntuでセキュアブートを無効にする方法

セキュアブートは便利な一方で、特定のドライバやソフトを利用する際には制限がかかる場合もあります。ここでは、セキュアブートの無効化の手順、無効化によるリスクやメリットなどについて解説します。

 

セキュアブートを無効にする手順

セキュアブートを無効にするには、パソコンの電源を入れてすぐにUEFI設定画面を開きます。一般的には、起動時に「Delete」「F2」「F10」などのキーを押すことで、UEFI設定画面に入ることが可能です。UEFI設定画面に入った後は、次の手順を実施します。

 

  1. 1. 「Boot」または「Security」タブ内に移動する。
  2. 2. 「Secure Boot」オプションを「Disabled(無効)」に変更する。
  3. 3. 変更後、「Save and Exit(保存して終了)」を選ぶ。
  4. 4. パソコンが再起動する。

 

セキュアブートを無効にした後は、未署名のドライバやカスタムカーネルを読み込めるようになります。

 

無効化によるリスクとメリット

セキュアブートを無効にすると、未署名ドライバや独自に構築したカーネルを使用するなどの柔軟な運用が可能になります。NVIDIAやVirtualBoxのドライバ、VPNなどを利用する際に制限が解除されるため、利便性が高まるでしょう。

一方で、起動時にマルウェアなどが侵入するリスクが増すので注意が必要です。特に業務や公共機関で使用しているパソコンの場合、セキュアブートの無効化は慎重に判断する必要があります。

利便性とセキュリティのバランスを考慮し、目的に応じて切り替えるのがよいでしょう。

 

無効化後に再有効化する際の注意点

セキュアブートを無効にした後、再度有効化する際は注意が必要です。無効化中にインストールした未署名ドライバやカーネルモジュールは、再有効化後、起動時に拒否される可能性があります。そのため、再有効化前に必要なドライバを「署名済み」にしておくことが必要です。

Ubuntuでは、証明書登録・確認ツールである「mokutil」や「update‑secureboot‑policy」で署名リストを更新することで、セキュアブート環境でも安定して動作させることができます。安易な設定変更は避け、環境が安定した状態で運用することが重要です。

 

セキュアブートが原因で起こるUbuntuの不具合

セキュアブートを有効にしていると、一部の環境でUbuntuの正常な起動やインストールが妨げられることがあります。ここでは、代表的な障害とその原因について解説します。

 

起動しない・GRUBが動作しない

セキュアブートが有効な状態で、Ubuntuのブートローダーである「GRUB」が起動しない場合があります。これは使用している「GRUB」に正当な署名がない、またはセキュアブート対応のブートローダーである「Shim」が正しく導入されていないことが原因です。

特に1台のパソコンに異なるOSを入れている「デュアルブート環境」や、カスタムインストールを行っている際に発生しやすいでしょう。

Ubuntuの公式インストーラーからインストールした場合は、「Shim」と「署名付きGRUB」が含まれていますが、手動で設定を行った場合は、署名付きであるかどうかを確認する必要があります。

 

カーネルやドライバのロード失敗

セキュアブート有効時には、未署名のカーネルやドライバが読み込まれず、ロードに失敗することがあります。例えば、NVIDIAやVirtualBoxのドライバなど、カーネルモジュールを伴うパッケージは署名されていない場合が多く、起動中にエラーが発生します。

これにより、グラフィックが正しく表示されなかったり、仮想マシンが起動しなかったりと、さまざまなトラブルが生じてしまうでしょう。

対処方法としては、ドライバへの手動署名か、公式のドライバを採用することです。セキュアブートを一時無効化する方法もありますが、セキュリティを考慮すると選択しないほうが望ましいでしょう。

 

署名エラーによるインストール失敗

Ubuntuをセキュアブート対応環境にインストールする際、署名エラーが発生するとインストールが中断されることがあります。原因として多いのは、ISOイメージの破損、署名されていないブートローダーの使用、セキュアブート未対応のインストールメディアを使ったなどです。

特にUSBメモリで作成したインストーラが不完全な場合、Ubuntuのブートローダーである「GRUB」の読み込み前にブロックされることがあります。Ubuntu公式サイトのISOを使用し、「Rufus(ルーファス)」や「balenaEtcher(バレナエッチャー)」などのUSBドライブ作成アプリを使うことで回避が可能です。

 

セキュアブートのセキュリティ効果と限界

セキュアブートは、OS起動時の安全性を高める仕組みですが、万能ではありません。ここでは、セキュアブートがマルウェア対策として有効な理由と限界、組み合わせるべきほかの対策などについて解説します。

 

マルウェアのブート感染を防止できる理由

セキュアブートは、パソコンの起動時に信頼された署名付きソフトウェアだけを実行することで、マルウェアによるブート領域の感染を防ぎます。例えば、「ブートキット」と呼ばれるマルウェアは、OSの起動前に実行することで、ユーザーに気づかれずに情報を盗むことが可能となります。

セキュアブートは、こうした改ざんされたブートローダーやカーネルを検出し、起動を拒否する仕組みです。正規の署名があるソフトウェアのみが読み込まれるため、不正に改ざんしたプログラムを起動することはありません。

 

セキュアブートだけでは不十分な点

セキュアブートは、OS起動時の安全性を確保する仕組みですが、それだけではパソコン全体のセキュリティは守れません。例えば、OS起動後に侵入するウイルスやランサムウェアには対処不可能です。

また、正規の署名があるプログラムであっても、脆弱性があれば攻撃に利用される可能性もあります。さらに、ユーザー自身が誤って悪意あるソフトを実行した場合は、セキュアブートで防ぐことはできません。

このように、セキュアブートは一部の脅威にしか対応していない点を理解しておくことが重要です。

 

セキュアブートと組み合わせるべきほかの対策

セキュアブートを有効にしていても、OS起動後のセキュリティ対策は別途必要です。定期的なOSアップデートによる脆弱性修正、ファイアウォールやアンチウイルスソフトの導入、不要なサービスの停止などが効果的となります。

またパスワード管理や多要素認証(MFA)も有効です。物理的なセキュリティとしては、BIOSやUEFIにパスワードをかける方法も効果的でしょう。

これらを組み合わせることで、セキュリティの穴を減らし、より堅牢な環境を構築できます。

 

Ubuntuユーザーが知っておきたいセキュアブートの誤解

セキュアブートは、安全性を高める機能ですが、誤解されている点も多くあります。ここでは、「セキュアブート=安全」などの誤解について解説します。

 

「セキュアブート=安全」は正しいのか?

セキュアブートは、信頼できるソフトのみを起動させる仕組みですが、万能なセキュリティ対策ではありません。OS起動後に動作するマルウェアや、フィッシング攻撃には対応できないからです。署名付きソフトでも、ソフト自体に脆弱性がある場合、攻撃される対象になります。

セキュアブートはあくまでブートプロセスの安全性を高める機能であり、それだけで「安全」とは言い切れません。ほかの対策と組み合わせて使うことが重要となります。

 

全ユーザーにセキュアブートは必要か?

セキュアブートは、一般ユーザーすべてに必須というわけではありません。独自ドライバを使いたい開発者やカスタムカーネルをビルドするユーザーにとっては、セキュアブートが障害になることがあります。

一方で、標準構成でUbuntuを使用し、特別なカスタマイズをしないユーザーであれば、セキュアブートを有効にしておくことで起動時の安全性を保つことが可能です。セキュアブートは使い方に応じて、必要性を判断するのがよいでしょう。

 

有効化でパフォーマンスは変わるのか?

セキュアブートを有効にすることで、システムの起動やアプリケーションの動作速度に影響が出るという心配はありません。セキュアブートはあくまで起動時に署名の検証を行う仕組みであり、OS起動後の処理やアプリケーションの動作速度には無関係です。

実際の体感速度も変わらず、非公式なレビュー・使用者投稿でも、セキュアブートの有効/無効による差はほとんど認められていません。(※)

パフォーマンスへの影響を気にして無効化する必要はないといえるでしょう。

※出典:

The quru of 3D「TPM/セキュアブートは OS やゲームのパフォーマンスに影響しますか?

Neowin「セキュアブートを有効にするとパフォーマンスが低下しますか?

 

まとめ

セキュアブートは、UbuntuにおいてOS起動時の安全性を確保する重要な機能です。UEFIとの連携により、署名されたソフトウェアのみを実行させ、マルウェアの侵入を防ぎます。

ただし、未署名ドライバの制限やDKMSの扱いには注意が必要です。セキュアブートは、すべてのユーザーにとって必須ではなく、用途に応じて有効/無効を判断することが大切といえます。

Ubuntu環境でセキュアブートを活用するには、基本概念の理解と適切な設定・運用が欠かせません。セキュアブートは、安全性と利便性の両方から導入を検討するのがよいでしょう。

弊社が提供する「ワンストップ型セキュリティ認証取得支援サービス」では、CRAの要求に沿った現状分析から適合評価、文書化、内部体制整備まで一括で対応しています。CRA対応を進めたい企業の信頼できるパートナーとして、実効性のある支援をご提供します。

ワンストップ型セキュリティ認証取得支援サービス

詳細資料をご希望の方は以下フォームよりメールアドレスをご登録ください。

    メールアドレス(必須)

    <個人情報の取り扱い>

    ※上記内容は、弊社の掲げる個人情報保護方針に沿って管理し、本件に関するお問い合わせ、
    お申込み等いただいた内容への対応のために利用する場合がございます。
    お客様の同意なく目的外の利用や第三者への開示、提供することはございません。
    詳細につきましては、当サイトの「個人情報保護方針」をご参照ください。

    「個人情報保護方針」に同意し、送信する
    (必須)


    [2025年09月05日 時点]

    POPULAR COLUMN
    人気コラム



    メールマガジン

    「ご登録いただいた内容は、弊社の掲げる「個人情報保護方針」に沿って管理し、本件に関するお問い合わせ、お申込み等いただいた内容への対応のために利用する場合がございます。なお、お客様の同意なく目的外の利用や第三者への開示、提供を行うことはございません。」

    CONTACT

    まずはお気軽に
    お問い合わせください!

    PAGE TOP