この記事を読むのに必要な時間:およそ 1 分
Windows NTとのバイナリ互換をめざして1996年にスタートし,現在もWindows互換OSとして開発が続けられているオープンソースプロジェクト「ReactOS」がこの夏,新たなマイルストーンに到達しつつある。7月29日付けでReactOSプロジェクトの開発者「extravert34」が投稿したブログによれば,「Google Summer of Code(GSoC) 2018」のプロジェクトとして取り組んでいたReactOSのBtrfsパーティションからの起動が可能になり,安定した状態に入っているという。「ReactOS公式の立場を代表するものではない」と但し書きされているものの,順調に開発が進めば次回以降のリリースで正式に取り入れられることになりそうだ。
- GSoC 2018 - booting from BTRFS works! - extravert34's blog
BtrfsはLinuxでのみ使われているファイルシステムであり,Windowsには実装されていない。Windowsで利用できなかった最大の理由は,Btrfsが大文字と小文字を判別する"case-sensitive"なファイルシステムであるからで,たとえば「/ReactOS/System32」「/reactos/system32」「/reactos/system32」「/ReactOS/system32」をすべて異なるパスとして理解する。だがWindowsではこれらはすべて同じ場所として扱われるため,検索などで不具合が生じてしまう。この問題を解決すべく,ReactOSプロジェクトでは「WinBtrfs」というドライバを開発し,実装を試みてきた。だがReactOSのブートローダー「FreeLoader」はWinBtrfsとの親和性が低く,その原因はFreeLoaderだけではなくVirtualBoxのバグにも関係してくるため,デバックが完了するまでにかなりの時間を要したという。
7/29時点でFreeLoaderおよびVirtualBox関連のバグはほぼ解決しており,さらにデスクトップ上でBtrfsボリュームからReactOSを起動しようとすると発生するエラー(STATUS_ACCESS_VIOLATION)がWinBtrfsのバグに起因することが判明し,これを修正したことにより,現在では非常に安定した状態でBtrfsからの起動が実現しているという。いくつかの課題はまだ残っているが,これからの進捗が大いに期待できそうだ。