関連記事
イミュータブルLinuxに「セーフモード」登場、GNOME OSがドライバー破損による起動不可問題を解決

(Gnome.org)[写真拡大]
イミュータブル(不変)Linuxシステムにおいて、破損したドライバーなどの拡張機能によってシステムが起動不能になる問題は、長年の課題であった。GNOMEコミュニティの年次カンファレンス「GUADEC 2026」において、GNOME OSの開発チームは、ブートローダーレベルで拡張機能の読み込みをスキップし、安全にシステムを起動できる「セーフモード」を発表した。この仕組みは、同様の技術を採用するSteamOSやFedora Atomicなど、他のイミュータブルLinuxにとっても重要な解決策となる可能性がある。
■イミュータブルLinuxの「起動不能」という最大の弱点
不変(イミュータブル)なLinuxシステムに、破損したNVIDIAドライバーの拡張機能をインストールすると、再起動時に画面が真っ暗になり、OSの起動もドライバーの削除もできなくなる。USBのリカバリメディアがなければ何もできなくなるという状況は、イメージベースのLinuxにおける最も厄介な課題の一つであった。システムの堅牢性を高める読み取り専用設計が、逆に不具合のある拡張機能から抜け出すことを困難にしていた。
スペインのコルーニャ大学で開催されたGNOMEコミュニティの年次開発者会議「GUADEC 2026」において、GNOMEリリースチームのメンバーでありGNOME OSのメンテナーであるアブデラヒム・キトゥニ(Abderrahim Kitouni)氏が、この起動エラーに対するブートローダーレベルの解決策を実演した。GNOMEの参照プラットフォームである「GNOME OS」に、起動時にすべての「systemd-sysext」拡張イメージの読み込みをスキップするようブートローダーに指示する「セーフモード」が導入された。これにより、インストールされた拡張機能が原因で起動に失敗する場合でも、ベースOSをクリーンに起動できるようになる。
この解決策は、GNOMEの開発者コミュニティ以外にとっても極めて重要である。GNOME OSが読み取り専用のルートディレクトリ上にドライバーやソフトウェアを重ね合わせるために使用している拡張オーバーレイ機構「systemd-sysext」は、SteamOSやFedora Atomicなど、数百万人のユーザーを抱える他のイミュータブルディストリビューションにおいて、プロプライエタリなGPUドライバーを配信する仕組みとしても採用が進んでいる。GNOME OSは、このリカバリ問題をいち早く解決したことになる。
■GNOME OSがこの問題に最初に取り組む理由
GNOME OSは、一般ユーザー向けの汎用ディストリビューションではない。GNOMEデスクトップ、コアアプリケーション、および基盤スタックの開発中のすべてのコミットを継続的にビルドして追跡する、独自の参照プラットフォームである。FedoraやUbuntuのようなディストリビューションが数ヶ月または年単位のリリースサイクルでGNOMEを出荷するのに対し、GNOME OSは常に最新のコードを実行している。そのため、ユーザーに届く前にデグレード(先祖返りや不具合の発生)を検出するための主要な環境となっている。
このテスト環境としての性質が、インフラ機能を先駆けて導入するのに適している理由でもある。GNOME OSは意図的に最先端のコードや実験的な拡張機能(プロプライエタリなドライバーイメージを含む)を実行するため、メンテナーは、より安定したコードベースを持つディストリビューションのメンテナーよりも頻繁に起動失敗のシナリオに遭遇する。キトゥニ氏のチームは、この経験を具体的なセーフティネットへと昇華させた。
GNOME OSは、Fedora Silverblueなどで使われているOSTreeから、systemd-sysupdateへのアーキテクチャ移行を完了している。この移行により、ブートローダーからOSイメージにいたるハードウェアベースのトラストチェーン、アトミックなファクトリーリセット、およびsystemdエコシステムとの緊密な統合が実現した。同時に、OSTree時代には中心的な問題ではなかった「sysextによる起動失敗」が、GNOME OSのアーキテクチャにおいて重要な課題となった。
■systemd-sysextの仕組みとセーフモードによる解決
systemd-sysextは、「システム拡張イメージ」と呼ばれる、/var/lib/extensions/ に保存された読み取り専用のDDI形式のディスクイメージを管理する。起動時、このツールはOverlayFSを使用して、拡張イメージの /usr/ および /opt/ ディレクトリ階層をイミュータブルなベースOSの階層とマージし、拡張機能のファイルがベースシステムの一部であるかのように見せる。この仕組みには互換性チェックが含まれており、拡張イメージの extension-release ファイルに記述されたOS IDとバージョンが一致しない場合、systemdはエラーを出してマージをブロックする。この安全機能は、バージョンの不一致がある拡張イメージが起動を妨げる原因にもなり得ることを意味する。
イミュータブルLinuxのユーザーにとって、実際の失敗シナリオは馴染み深いものである。sysextイメージとして提供されたプロプライエタリなGPUドライバーをインストールして再起動したところ、そのドライバーが現行のカーネルバージョンと互換性がないことが判明する。OverlayFSのマージが失敗するか、起動プロセスの初期段階でドライバーがクラッシュし、システムが起動不能になる。従来のLinuxディストリビューションであれば、ユーザーはリカバリシェルに移行してパッケージをアンインストールできる。しかし、読み取り専用のルートを持つイミュータブルシステムでは、アンインストールすべきパッケージは存在せず、拡張イメージを削除するしかない。これには別のリカバリ環境が必要だった。
GNOME OS'sのセーフモードは、この問題を実際に傍受できる段階、すなわちブートローダーで対処する。ユーザーがセーフモードを有効にすると、起動コマンドラインにパラメータが渡され、起動時にすべてのsystemd-sysextイメージの読み込みをスキップするようシステムに指示する。これにより、インストールされている拡張イメージの状態や、それらが破損、古い、または互換性がないかどうかにかかわらず、ベースOSイメージがクリーンに起動する。システムが起動した後は、通常のsystemd-sysextツールを使用して、問題のある拡張機能を検査、無効化、または削除し、その後に通常の起動に戻すことができる。
このメカニズムはユーザースペースより下のレベルで動作するため、有効なリカバリツールとして機能する。解決される障害は、拡張機能のマージに関与するユーザースペースのコンポーネントが実行される前に発生するためである。
■GNOME以外のイミュータブルLinuxエコシステムにも必要な理由
このGUADECのセッションがGNOME OSユーザー以外にとっても重要である理由は、systemd-sysextの採用が拡大しているトレンドにある。
Valveの「SteamOS」(Steam Deckに搭載され、現在はサードパーティ製の携帯型ゲーム機エコシステムにも対応を広げている)は、読み取り専用のルートファイルシステムとアトミックなイメージアップデートモデルを採用したイミュータブルOSであり、ユーザーがシステムソフトウェアを直接インストールすることはない。ValveとNVIDIAは、SteamOSへのNVIDIAドライバーの提供に向けて積極的に協力しており、その配信メカニズムとしてsysextモデルが議論されている。NVIDIAドライバーがsysext経由でSteamOSに導入された瞬間、GNOME OSのセーフモードが対処する「起動を妨げるドライバーイメージ」という失敗モードは、数千万人のSteam Deck所有者にとって現実的なリスクとなる。
Fedora Atomic(旧SilverblueおよびKinoite)も、ユーザーがFlatpak以外のシステムレベルのソフトウェアレイヤーを必要とするシナリオにおいて、systemd-sysextの活用を模索している。openSUSE MicroOSや、IoTおよびエッジ向けのLinuxプロファイルでもsysextが使用されている。これらのディストリビューションはすべて、起動時に不具合のある拡張イメージによってネイティブなリカバリパスがないまま起動不能になるという、同じ潜在的なリスクを抱えている。GNOME OSは、そのリカバリパスを最初に実証した。
これは、GNOME OSが歴史的に果たしてきた役割の典型的なパターンである。参照プラットフォームのレベルで実験的に導入され、その後アップストリームに採用される。GNOME OSが2023年から2024年にかけて完了したOSTreeからsystemd-sysupdateへの移行は、現在、他のプロジェクトがイメージベースのアップデートアーキテクチャを検討する際の影響を与えている。セーフモードの仕組みは、その次のピースとなる。
■モバイル対応やKMSCONの採用など、その他の改善点
キトゥニ氏のセッションでは、セーフモードの発表以外にも、前回の開発サイクルにおけるGNOME OSの幅広い改善点が紹介された。
モバイルデバイスのサポートが拡大している。FOSDEM 2026で発表された、メインラインLinuxカーネルでサポートされているFairPhone 5およびOnePlus 6へのGNOME OSの移植に続き、Android由来のハードウェアへのGNOME OSの導入作業が進められている。目標は、メインラインカーネルが対応可能なあらゆるAndroid由来のハードウェアをサポートすることであり、GNOMEのアダプティブUIスタックをテストするための実用的なFOSSモバイルプラットフォームとしてGNOME OSを位置づけることである。
デビッド・ヘルマン(David Herrmann)氏が開発し、2012年に最初にリリースされた後、10年間開発が休止していたLinux KMS/DRMベースのユーザースペース仮想コンソール実装「KMSCON」は、2025年に開発が再開され、2026年5月にマイルストーンとなるバージョン10.0.0に達した。GNOME OSは2026年3月にKMSCONをデフォルトのコンソールとして採用し、カーネル内のVTコンソールを、完全なUnicode出力(CJK文字を含む)、アンチエイリアス付きのTTFフォントレンダリング、Mesaによるハードウェアアクセラレーション表示、およびマルチシート構成をサポートするユーザースペースの代替コンソールに置き換えた。
また、ファイアウォール管理のために「Firewalld」が統合され、Fedoraやエンタープライズ向けLinuxディストリビューションで使用されているツールと共通化された。さらに「Thermald」のサポートも追加され、熱管理と電力効率が向上した。これは、チームが目指しているモバイルデバイスへの展開において特に重要となる。
コーデックの処理もアップデートされ、デフォルトでフリーソフトウェアのみを出荷するシステムにおける長年の課題に対応した。コーデック統合の改善により、メディア関連のGNOMEアプリケーションを開発する開発者は、より実際の利用環境に近いランタイム環境でテストを行えるようになる。
GUADEC 2026は、コルーニャ大学のエルビーニャ・キャンパスで7月21日まで開催されている。7月18日には、GNOME Foundationの年次総会や、MutterおよびGNOME Shellの既実装・計画中の機能を取り上げる「State of the Shell」セッションが行われた。また、翌7月19日からは、GNOME OS専用のBoFやモバイル向けGNOMEの調整セッションを含む、BoF(Birds-of-a-Feather:分科会)ワーキングセッションが開始されている。キトゥニ氏のGNOME OSセッションのスライド資料や録画ビデオは、GNOME EventsポータルからプレゼンテーションPDFとしてダウンロード可能であり、YouTubeの録画では約5時間31分43秒から該当部分を視聴できる。
■注目ポイントQ&A
●systemd-sysextとは何ですか?なぜ不具合があるとLinuxが起動しなくなるのですか?
systemd-sysextは、起動時にOverlayFSを使用して、イミュータブルLinuxシステムの/usr/ディレクトリに拡張イメージを重ね合わせるツールです。これにより、NVIDIAなどのプロプライエタリなGPUドライバーを、読み取り専用のベースOSを変更せずに別イメージとしてレイヤー化できます。しかし、拡張イメージがカーネルと互換性がない場合や破損している場合、マージに失敗するか起動初期にクラッシュし、システムが起動不能になります。イミュータブルシステムではパッケージマネージャーで削除できないため、通常は外部のリカバリメディアが必要になりますが、GNOME OSのセーフモードはブートローダーレベルでこの読み込みをスキップして解決します。
●このセーフモードはSteamOSなどの他のイミュータブルOSユーザーにどう影響しますか?
直接的な影響はありません。このセーフモードはGNOME OS独自の機能です。しかし、GNOME OSが実証したブートローダーレベルのリカバリ機構は、同様にsystemd-sysextを採用する、あるいは採用を検討しているSteamOSやFedora Atomic、openSUSE MicroOSなどが直面する共通の課題に対する解決策の手本となります。これらのプロジェクトが同様の機能を実装するかどうかは今後の開発優先度によりますが、GNOME OSがその実現可能性と構造的な正しさを示しました。
●セーフモードはFlatpakアプリやユーザーデータに影響しますか?
いいえ、影響しません。Flatpakアプリケーションはsystemd-sysextの拡張イメージとは別に保存されており、独自のサンドボックスとランタイムを使用しているため、セーフモードの影響を受けません。また、/home/にあるユーザーデータも完全に保護されます。セーフモードがスキップするのは、systemd-sysext機構を介してレイヤー化された拡張イメージ(主にプロプライエタリなGPUドライバーなど)のみです。
●リスクがある中で、イミュータブルLinuxは日常的に使用できるシステムと言えますか?
はい、むしろ信頼性は向上しています。Fedora AtomicやSteamOSなどのイミュータブルディストリビューションは、ロールバックやアトミックアップデートを提供しており、今回のセーフモードのような拡張レベルのリカバリ機能により、従来のディストリビューションよりも安全性が高まっています。ドライバーの破損による起動不可という問題は、実験的なイメージを導入する際に主に発生するものであり、セーフモードの導入によって「起動不能になる」という最悪のリスクが排除され、WindowsやmacOSに近いリカバリ環境が実現しつつあります。
元記事: Immutable Linux Gets Safe Mode: GNOME OS Fixes Broken Driver Boot at GUADEC
※この記事はTech Timesから提供を受けた記事を日本向けに翻訳・編集したものです。
スポンサードリンク
