外付けSSDをWindowsとLinuxの両方で使おうとすると、転送が遅いか、最悪データが壊れるかという二択を迫られてきた。FUSE(Filesystem in Userspace)ベースの互換ツールはカーネルとユーザースペース間のコンテキストスイッチがボトルネックとなり、NVMe SSDが本来持つ速度を引き出せない。ネイティブ対応を謳った後継ドライバも更新が止まり、高負荷I/Oで破損するリスクが残ったままだった。この四半世紀続いた妥協が、2026年夏リリース予定のLinux 7.1で動く。カーネル開発者のNamjae Jeon氏が4年をかけて書き直した新ドライバがメインラインに統合され、Linus Torvalds氏が「ntfs resurrection(NTFSの復活)」と評した。

AD

置き去りにされた「孤児」ドライバの限界

1997年のLinuxカーネル2.1.74で、NTFS(New Technology File System)の読み取り専用サポートが初めて追加された。それ以来、Microsoftの標準フォーマットをLinuxで扱う方法は妥協の産物だった。ユーザーは長年、Tuxeraが後援する「ntfs-3g」に依存してきた。この仕組みはFUSEモジュールとしてユーザースペースで動作するため、カーネルとユーザースペース間で頻繁なコンテキストスイッチが発生する。1秒間に数ギガバイトを転送するNVMe SSDが普及するにつれ、このオーバーヘッドは深刻なボトルネックになった。ntfs-3gは書き込み時のCPU使用率がネイティブXFSやext4の数倍に達することが知られ、バッテリー駆動のノートPCでは発熱と消費電力の両方を押し上げる副作用もあった。

2021年のLinux 5.15で、Paragon Softwareが自社の「NTFS3」ドライバをGPLで公開した。カーネルレベルでネイティブな読み書きができるようになり、長年の課題が解決したかに見えた。しかし、このコードは導入直後から更新が途絶える。開発者のKari Argillander氏は2022年のカーネルメーリングリストで、NTFS3が事実上の「orphan(孤児)」状態にあると報告した。バグ修正も最新カーネルへの適応も止まり、高負荷I/O環境ではシステムがフリーズしたりファイルが破損したりする事態が繰り返し起きていた。

マルチスレッド環境で最大110%の高速化を達成

Samsung出身で現在はSambaの開発に関わるNamjae Jeon氏は、過去にexFATドライバやKSMBDのカーネル統合を主導した。同氏がLinux 7.1に提出した新ドライバは、シングルスレッドの書き込みテストで3〜5%、マルチスレッド環境では35〜110%の高速化を記録した。4TBの大容量ドライブをマウントする時間は、旧NTFS3と比較して4倍速い。複数コンテナが同時にNTFSボリュームへ読み書きする環境では、このスループットの差がそのままサービス応答時間に直結する。仮想マシンホストで複数VMを動かしながらNTFSで共有ストレージを運用しているケースでは、乗り換えの恩恵が最も大きい。

ファイルシステムの信頼性を測る「xfstests」でも差は明確だった。旧NTFS3が273項目にとどまっていたのに対し、新ドライバは326項目をクリアした。xfstestsはext4やXFSといった主要ファイルシステムの回帰テストに使われる標準スイートで、クリア項目数の差はそのまま障害時の挙動の信頼度に反映される。Linux環境でボリュームのエラーを修復する fsck などのユーザースペースユーティリティも新たにサポートされ、修復のためだけにWindowsを起動し直す手間がなくなる。

Jeon氏はメーリングリストで「Kari Argillander氏が2022年にntfs3ドライバの孤児状態を報告して以来、フル書き込みサポートの実装、最新カーネルへの追随、パフォーマンスの向上を目標に4年間取り組んできた」と語る。

AD

旧NTFS3と新ドライバのアーキテクチャの違い

旧NTFS3はサードパーティ製の独自コードをそのままカーネルに移植したもので、Linuxの標準的な作法から外れている部分が多かった。新ドライバは、1997年から存在するインカーネルの読み取り専用コードをベースに、ゼロから現代的な手法で書き直されている。ブロックデバイスへのアクセスを最適化するiomap(XFSなどの高性能ファイルシステムでも使われる標準I/Oインターフェース)、メモリ管理を効率化するfolio変換、遅延割り当てが採用された。特にiomapは、大容量データのシーケンシャルアクセスで顕著に威力を発揮する。

同時に、カーネル初期から残り続けたレガシー機構 CONFIG_BUFFER_HEAD への依存を完全に排除した。folioの採用により複数ページのメモリを一括管理できるため、CPU負荷とメモリ断片化の両方が下がる。コードがLinux標準の作法に揃ったことで、次の開発者が引き継ぐときも迷わない構造になった。2026年4月中旬のマージウィンドウで、Torvalds氏は36,000行に及ぶこの巨大パッチを一度un-pulled(取り消し)している。Git履歴の構造に問題があるとの理由で、コード品質だけでなく長期保守を見据えた履歴整理も要求した形だ。Jeon氏はその日のうちに履歴を再構成した改訂版を提出し、4月17日にメインラインへ統合された。

新ドライバへの切り替え方と、影響を受けるユーザー

Linux 7.1を導入したユーザーは、カーネル設定の NTFS_FS Kconfigスイッチを有効にすることで新ドライバを利用できる。旧NTFS3ドライバも当面はカーネルツリーに残されるため、既存の運用を急いで変える必要はない。ただしJeon氏は新ドライバが品質・性能の両面で旧実装を上回るとしており、新規導入では新ドライバの選択が推奨される。Ubuntu・Fedora・Arch Linuxといった主要ディストリビューションが7.1系カーネルを採用する時期は2026年秋以降が見込まれ、一般ユーザーの手元に届くまでには多少のタイムラグがある。

最も恩恵を受けるのはデュアルブート環境の開発者だ。WindowsとLinuxの間で数百GBのプロジェクトフォルダを行き来させても、転送の遅さやデータ破損を警戒する必要がなくなる。外付けSSDで4K映像素材を扱う映像制作の現場でも同様で、Windows編集機からLinux上のレンダーファームへ素材を渡す際の待ち時間が短縮される。コンテナホストでNTFSバックエンドを使う運用では、マルチスレッド環境での性能向上がそのまま処理能力の底上げにつながる。NASで市販のWindowsフォーマット済みHDDを増設してきたホームラボ運用者にとっても、フォーマットし直さずにLinux側で安全に読み書きできる意味は大きい。Torvalds氏はマージ時のコミットメッセージで、新実装を「ntfs resurrection」と呼んだ。四半世紀にわたって妥協を重ねてきたLinuxのNTFS対応は、29年目にしてようやく完成の域に達したのだ。


Sources