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

Ubuntu 22.04 その15 - GRUB2の起動メニュー構築時、他OSの検出が無効に

他OSの検出が無効に

「GRUB2」や「Linux kernel」のインストール及びアップデート時など「GRUB2」の起動メニューを構築する際、ストレージにインストールされている他OSの自動的な検出がデフォルトで無効化されました。


GRUB2

「GRUB2」はOSの起動に使用されるブートローダーです。
高機能なブートローダーであり、「Ubuntu」ではデフォルトでブートローダーに「GRUB2」を採用しています。

「GRUB2」はPCの「BIOS」や「UEFI」経由で起動され、その後「GRUB2」はストレージにインストールされているOSを起動します。
つまりストレージにインストールされているOSは、この「GRUB2」経由で起動することになります。

様々なOSを起動できる

「GRUB2」は「Ubuntu」だけでなく「Windows」などストレージにインストールされている様々なOSを起動することができます。
もしストレージに複数のOSがインストールされている場合、ユーザーは「GRUB2」の起動メニューから起動するOSを選択することができます。
つまり「GRUB2」はデュアルブートを含むOSのマルチブートに対応しています。

他OSの自動的な検出

さて「Ubuntu」では「GRUB2」の起動メニューを構築する際、PCに接続されているストレージをマウントし、各ファイルシステム(パーティション)に現在起動している自分以外のOSがインストールされているかどうかをチェックします。


もしファイルシステム内に自分以外のOSが見つかった場合、そのOSを「GRUB2」の起動メニューに追加します。
これは「GRUB2」の起動メニューを構築する時に自動的に行われています。

  • grub-mkconfig

セキュリティーに対する懸念

他OSを検出する際、各ファイルシステムを「root」でマウントし中身をチェックします。
そのため他OSを検出する過程でその処理に不具合等問題が存在した場合、脆弱性へと発展しかねません。
このセキュリティーの懸念に対応するためアップストリームは、「grub 2.06」から従来行っていた他OSの検出を無効化しました。

  • GNU GRUB Manual 2.06

os-proberの無効化

他OSの検出は「os-prober」を利用して行われています。


「GRUB2」の起動メニューを構築する時に「os-prober」が呼び出されなくなり、ストレージに他OSがインストールされていてもそれらが検出されず、起動メニューに他OSを起動する項目が追加されなくなります。


詳細は上記マニュアルの「GRUB_DISABLE_OS_PROBER」の項目を参照してください。

os-proberはなくならない

少なくとも現状では本件はあくまで「os-prober」による他OSの検出をデフォルトで無効化するのであって、「os-prober」がなくなるわけではありませんし、ユーザーは他OSの検出を有効化することも可能です。


Ubuntu 22.04 LTSでgrub 2.06を採用

「Ubuntu 22.04 LTS」では「grub 2.06」が採用されます。

  • grub2

そのためOSをマルチブートしているユーザーは本件に影響を受けます。

Ubuntuどうしよう?

というわけで以下で本件の対応方針が話し合われています。

  • os-prober is disabled in grub 2.06 and where to go from here

UEFIでOSをマルチブートしている場合

「UEFI」でOSをマルチブートしている場合、そもそも「UEFI」で起動するOSのブートローダーを指定できるようになっています。


例えば1つのストレージ内に「Ubuntu」と「Windows」がインストールされている場合、「UEFI」のブートマネージャーで起動するOSのブートローダーを切り替えれば、それぞれのOSを起動することができます。
ただし1つのストレージ内に複数の「Ubuntu」がインストールされている場合、ブートローダーの取り合いになります。

BIOSでOSをマルチブートしている場合

こちらのほうが大きな問題になります。
「BIOS」でOSをマルチブートしている場合、ストレージが別れていれば「BIOS」から起動ディスクを選択できますが、そうではない場合他OSを起動することができません。
これはブートローダーの取り合いになるためです。

対応案

「os-prober」を再度有効化する案や、「Ubuntu」のインストール時に「os-prober」を実行して他OSの検出結果をキャッシュしておき、それを起動メニューを構築する時に利用する案など、いくつか対応案が提示されています。

Ubuntu
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 26.04 その68 - Ubuntu 26.04.1 LTS がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.04.1 LTS リリース 2026年8月27日、Ubuntu 26.04.1 LTS がリリースされました。
  • Linux Mint その292 - Linux kernel 7.0 採用の Linux Mint 22.3 リリース・システム管理ツールにカーネル管理機能追加など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Linux その422 - GNOME Boxes の再構築と未来・Flatpak のみの提供やモダンな機能の実装など
    GNOME Boxes の再構築と未来 GNOME Boxes の再構築と未来が以下で紹介されています。
  • Kubuntu その117 - Kubuntu 26.04 LTS にもっと手厚いサポートを・最高の信頼性を誇る KDE 搭載ディストリビューションを目指して
    最高の信頼性を誇る KDE 搭載ディストリビューションを目指して Kubuntu 26.04 LTS に手厚いサポートが導入されました。
  • Linux その421 - GNOME Shell のデザイン構想と長期的な見通し
    GNOME Shell のデザイン構想と長期的な見通し GNOME Shell のデザイン構想と長期的な見通しが、以下で紹介されています。
  • Linux その420 - KDE Plasma で実装予定の新機能や改善・UI レイアウトの調整やリモートデスクトップの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Ubuntu 24.04 その96 - Ubuntu 24.04.5 LTS のリリース日変更
    Ubuntu 24.04.5 LTS のリリース日変更 Ubuntu 24.04.5 LTS のリリース日が変更されました。
  • Ubuntu 18.04 その195 - PolicyKitにクラッシュや権限の昇格など複数の脆弱性・今すぐアップデートを
    PolicyKitの脆弱性 2018年7月16日、クラッシュや権限の昇格など複数の脆弱性に対応した「PolicyKit」がリリースされました。
  • Windows その29 - Windows 向け Coreutils 登場・Coreutils のインストールやコマンドの一覧など
    Windows 向け Coreutils 登場 Windows 向け Coreutils が登場しました。
記事のピックアップ
オプション