Ubuntu 26.04 LTSの導入(その2) Windows11との同居とUEFIセキュアブートとは
Windows11との同居方法
Ubuntu 26.04 LTSの導入先であるmouse DT5-G-B560W11-EX5の512GBのSSDにWindows11が導入されています。既存のWindows11には手を加えることなく残し、Ubuntu 26.04 LTSとデュアルブートができる環境構築を前提としました。
- 既存のWindows11は、512GBのSSDに導入されているWindows Boot Managerから起動されているが、この設定は変更しない
- 既存のWindows11が導入されている512GBのSSDのパーティションサイズ等ディスク構成は変更しない
- Ubuntu 26.04 LTSは、GRUBとともに1TB SSDに導入する
- shim → GRUB → Ubuntu 26.04 LTS、shim → GRUB → Windows Boot Manager → Windows11 の起動パスとする
- UEFIセキュアブートを有効にする
UEFIセキュアブートとは
従来のPC起動手順(レガシーBIOS)では、OSが立ち上がる前にハードディスクの先頭領域(MBR)へ割り込むマルウェア(ルートキットやブートキット)を防ぐ手段がありませんでした。一度OSより深い層に潜伏されると、アンチウイルスソフトからも検知できなくなります。UEFI Secure Boot(セキュアブート)は、PCの電源を入れてからOSが起動するまでの間に、未承認のソフトウェアや悪意のあるプログラム(マルウェア)が実行されるのを防ぐセキュリティ機能です。 Ubuntuにおける shim とは、UEFIセキュアブートが有効な環境でLinuxを起動させるための軽量ブートローダーです。
- Linuxカーネル起動時の検証
- UEFIファームウェアが shim を Microsoftの鍵 で検証する(shim自体はMicrosoftの署名済みプログラム)
- shim が GRUB を Canonicalの鍵、または MOK で検証する
- GRUB が shim-lockモジュール経由で、shimが保持する鍵(Canonicalの鍵 or MOK)を使い Linux カーネル(vmlinuz)を検証する
- Windows起動時の検証
- UEFIファームウェアが shim を Microsoftの鍵 で検証する(ここまでは共通)
- GRUB が chainloader で Windows Boot Manager を呼び出すが、この際は GRUB 自身やCanonicalの鍵は関与せず、UEFIファームウェア(またはshim)がMicrosoftの鍵で直接 Windows Boot Manager を検証する
途中で1つでも無署名、または改ざんされた(ブラックリストに該当する)プログラムが見つかると、UEFIは起動プロセスを中断しエラーを表示します。注意点として、独自ビルドしたLinuxカーネル、署名のないサードパーティ製ドライバー(NVIDIAのグラフィックドライバーやVirtualBoxのモジュールなど)が初期状態でブロックされることがあるため、MOK(Machine Owner Key)での手動追加やUEFI上のセキュリティ調整が必要になる場合があります。
UEFIセキュアブートの有効・無効の確認
Windows11のPowerShellから以下のコマンドを使い確認できます。True/False が戻り値になります。なお、Confirm-SecureBootUEFI は管理者権限のPowerShellで実行する必要があり、レガシーBIOSモードでインストールされたWindowsでは使えないコマンドになります。
Confirm-SecureBootUEFI
また、「Secure Boot Violation / Invalid signature detected」というエラーで起動しない場合は、BIOS設定画面から一旦UEFIセキュアブートを無効にし、Ubuntu 26.04 LTSを起動してください。次回以降のトピックで、UEFIセキュアブートで必要となる鍵の確認方法と解決方法(鍵の追加方法)を取り上げていきます。