kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu 21.10 その30 - インストーラーの仕様が変わる・BIOS環境でもEFIシステムパーティションが必要に

インストーラーの仕様が変わる

「Ubuntu 20.10」から「Ubuntu Desktop」向けインストーラーである「Ubiquity」の仕様が変わりました。


  • 20.10 needs ESP on BIOS systems – existing, confirmed, unassigned bug
  • Installation of Ubuntu Groovy with manual partitioning without an EFI System Partition fails on 'grub-install /dev/sda' even on non-UEFI systems

この話は「BIOS」環境に関係する話であって「UEFI」環境には影響ありません。

BIOSとUEFI

PCには電源を入れた時に各種ハードウェアを初期化したりハードウェアへのアクセスを提供するファームウェアが基板上に搭載されています。
このファームウェアのことを「BIOS」と言います。

「BIOS」には従来からある「BIOS(Legacy BIOS)」と、新しい「UEFI」という仕様に対応した「UEFI BIOS」があります。
ここでは便宜上前者を「BIOS」、後者を「UEFI」と表現します。

「UEFI」は従来の「BIOS」を置き換える新しい仕組みであり、2011年頃から「UEFI」に対応したPCやマザーボードが普及し始めました。
現在販売されているPCは「UEFI」に対応したPCです。

BIOS互換環境

「UEFI」に対応しているPCでも「CSM(Compatibility Support Module)」により、従来の「BIOS」環境と互換性のある環境を提供できるPCも数多く存在します。
そのPCの多くは「UEFI」の設定画面でユーザーが「UEFI」環境とBIOS互換環境(CSM)を切り替えられるようになっています。

ここでは「CSM」によるBIOS互換環境も上述の「BIOS」に含めます。

UbuntuのインストールとBIOS/UEFI環境

そもそも「BIOS」と「UEFI」では仕組みが大きく異なるため、その違いはOSにも影響を与えます。
ユーザーが「Ubuntu」をインストールする際、「BIOS」環境と「UEFI」環境の違いを意識する機会も出てくるでしょう。

従来のパーティション構成

「Ubuntu 20.04 LTS」までは「BIOS」環境で「Ubuntu Desktop」をインストールすると、以下のパーティション構成になっていました。


パーティションテーブル MBR(Master Boot Record)
パーティション ルートパーティション

補足

ルートパーティションはルートファイルシステムを配置するパーティションです。
つまり「Ubuntu」のインストール先となるパーティションです。
ちなみにスワップパーティションは今回の件とは無関係であり、また「Ubuntu」ではスワップパーティションからスワップファイルに移行したため省略します。

新しいパーティション構成

「Ubuntu 20.10」から「BIOS」環境でインストーラーに任せて「Ubuntu Desktop」をインストールすると、以下のパーティション構成になります。


パーティションテーブル GPT(GUID Partition Table)
パーティション
  1. BIOSブートパーティション
  2. ESP(EFIシステムパーティション)
  3. ルートパーティション

UEFI環境のようなパーティション構成

以下は「UEFI」環境で「Ubuntu Desktop」をインストールした時のパーティション構成です。

パーティションテーブル GPT(GUID Partition Table)
パーティション
  1. ESP(EFIシステムパーティション)
  2. ルートパーティション

見ての通り「UEFI」環境のようなパーティション構成になります。
言い換えれば「UEFI」環境のパーティション構成に「BIOSブートパーティション」を加えた構成が、「BIOS」環境でのパーティション構成になります。

パーティションテーブルがGPTへ

まず大きな違いの1つは、パーティションテーブルの形式が「MBR」から「GPT」に変更されたことです。
「GPT」は「MBR」を置き換える新しいパーティションテーブルであり、「UEFI」環境で使用されるパーティションテーブルです。

BIOSブートパーティションの追加

「BIOS」環境で「GPT」でフォーマットされたディスクから「Ubuntu」を起動できるようにするには、新たな仕組みが必要になります。
その仕組みの一端を担うのが「BIOSブートパーティション」です。

この「BIOSブートパーティション」に「GRUB」のブートローダーの一部が配置されます。
このパーティションはファイルシステムを作成せずに使用するパーティションです。

EFIシステムパーティションの追加

「EFIシステムパーティション」は「UEFI」環境からOSを起動する時に使用されるブートローダーが配置されています。
つまり「BIOS」環境では使われません。

BIOS環境とUEFI環境の両対応へ

というわけで「BIOS」環境で「Ubuntu Desktop」をインストールした場合、「BIOS」環境と「UEFI」環境の両環境に対応することになります。

「BIOS」環境では「Protective MBR」及び「BIOSブートパーティション」経由で「Ubuntu」が起動します。
また「UEFI」環境では「EFIシステムパーティション」経由で「Ubuntu」が起動します。
上記でも紹介したとおり「UEFI」の設定画面でユーザーが「UEFI」環境とBIOS互換環境(CSM)を切り替えられる場合、どちらからでも起動できるようになります。

ただし「UEFI」環境とBIOS互換環境を切り替えられるPCでも「UEFI」環境で「Ubuntu Desktop」をインストールした場合はBIOS互換環境に対応しないため、BIOS互換環境から「Ubuntu Desktop」を起動することはできません。

手動でパーティションを構築する時は

手動でパーティションを構築する場合、ディスクにすでに存在しているパーティションテーブルの形式により状況が変わります。

  1. パーティションテーブルがMBR
  2. パーティションテーブルがGPT/なし

1.パーティションテーブルがMBR

すでに「MBR」形式のパーティションテーブルがディスクに存在している場合、以下の構成でパーティションを構築します。

  • ESP(EFIシステムパーティション)
  • ルートパーティション


パーティションテーブルを再作成する場合

ただしインストーラー上でパーティションテーブルを再作成する場合、パーティションテーブルの形式が「GPT」になります。
この場合は「新しいパーティション構成」でパーティションを構築します。

Ubuntuの起動

「BIOS」環境では「MBR」経由で「Ubuntu」が起動します。
また「UEFI」環境では「EFIシステムパーティション」経由で「Ubuntu」が起動します。

2.パーティションテーブルがGPT/なし

すでに「GPT」形式のパーティションテーブルがディスクに存在している場合や、そもそもパーティションテーブルが存在しない場合、「新しいパーティション構成」でパーティションを構築します。
パーティションテーブルが存在しない場合はインストーラー上でパーティションテーブルを作成することになりますが、この時パーティションテーブルの形式が「GPT」になります。

BIOSブートパーティション

まず始めに「BIOSブートパーティション」を作成します。
サイズは最低でも1MB必要です。
また1MBあれば十分でしょう。


ESP(EFIシステムパーティション)

次に「ESP(EFIシステムパーティション)」を作成します。


ルートパーティション

最後に「ルートパーティション」を作成します。


パーティション構成は以下のようになります。




ややこしい時は

ここではインストーラーの動作をすべて網羅していません。
そのため既存のパーティションテーブルやパーティションを利用しながら「Ubuntu Desktop」を「BIOS」環境にインストールする場合、仮想マシンに似たようなパーティション構成でパーティションを構築し、そこでインストールを実施し結果を確認するのが良いでしょう。

UEFI + GPTが楽

もしPCが「UEFI」に対応しているなら、「UEFI」環境で「Ubuntu Desktop」をインストールする方法が混乱も少なく一番楽かと思います。
また「UEFI」は従来の「BIOS」を置き換える新しい仕組みであり、加えて「Windows 11」のシステム要件による後押しもあり、「BIOS」互換環境に対応していないPCが今後一般的になっていくかと思います。

Ubuntu
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.10 その39 - Ubuntu 26.10 の新機能と変更点・既知の問題
    Ubuntu 26.10 の新機能と変更点・既知の問題 リリースノートから、Ubuntu 26.10 の新機能と変更点を紹介します。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.04 その80 - Ubuntu 26.04.2 LTS のリリーススケジュール
    Ubuntu 26.04.2 LTSのリリーススケジュール Ubuntu 26.04.2 LTS のリリーススケジュールを紹介します。
記事のピックアップ
オプション