こんにちは、阿久津です。Windows Server 2012では、ReFS(Resilient File System)というファイルシステムがサポートされているのをご存じでしょうか。コード名「Protogon」で開発が始まったReFSは、NTFSが備える堅牢性を維持しながら、最大ファイルサイズを2の64乗バイト(約18エクサバイト)まで拡大。ただし、このような巨大ファイルを扱う場面は少ないため、Windows Server 2012/同R2と同じ255テラバイトが最大値となりました(図01)。
クラスタサイズやボリュームサイズも2の64乗が用いられるため、保存領域に対する不安はなくなりますが、その一方でファイル破損のリスクが高まります。そのためReFSではデータ訂正の自動化やデータ書き換え方法として、上書きではなく、別領域にデータを保存する方法を採用。このような仕組みで信頼性を向上しています。
将来的にReFSがNTFSに置き換わるのは明白ですが、ファイルシステムの検証は一朝一夕にはできません。そのため、Windows Server 2012でもブートドライブに対する使用は制限されています。Microsoftとしては、ReFSとWindows 8やWindows Server 2012から加わった「記憶域」を組み合わせて、耐障害性を高めた環境を提示するつもりなのでしょう。しかし、Windows 8に続き、Windows 8.1でもReFSは採用されませんでした。
個人的にはWindows 8.1でWindows Server 2012と同じ、"お試し"として実装されるものだと予想していましたが、リーク版はもとより2013年6月末にリリースされたWindows 8.1プレビューも未実装。RTM版でも確認できませんでした。しかし、Windows 8.1とWindows Server 2012 R2は共通のカーネルを使用し、機能を実現するコンポーネントもある程度は共通化されています。
さらに資料やレジストリなどを調べてみると、Windows 8.1にReFSが実装済みであることがわかりました。今週はWindows 8.1でReFSを利用可能にするチューニングをお届けしましょう。
1. 管理者権限でレジストリエディターを起動します。
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNTキーを開きます(ない場合は作成します)。
3. MiniNTキー内にDWORD値「AllowRefsFormatOverNonmirrorVolume」を作成します。
4. DWORD値「AllowRefsFormatOverNonmirrorVolume」の値のデータを「1」に変更します。
5. レジストリエディターを終了し、コンピューターを再起動します。
これでチューニングが完了しました(図02~10)。
早速結果を確認してみましょう。「ディスク管理ツール(diskmgmt.msc)」を起動し、ボリュームのフォーマットを実行しますと、チューニング前は「NTFS」のみでしたが、チューニング後は「REFS」がドロップダウンリストに並ぶようになります(図11~13)。
実際にUSB接続したHDDをReFSでフォーマットしてみましたが、図14のとおり正しく動作しました。また、diskpartコマンドによる操作の場合、チューニング前はディスクやボリュームなどを管理するサービス「Virtual Disk」がエラーを発していました。しかし、チューニング後は「format fs refs quick」とReFSをファイルシステムとして指定可能になります(図14~16)。
このようにWindows 8.1はReFSが利用可能ですが、公式にサポートされた機能ではありませんので、意図しないトラブルが発生する可能性は拭いきれません。例えば、ReFSでフォーマットしたボリューム上において、作成したファイルが消えてしまうようなこともあるでしょう。そのため、通常利用はお勧めできません。なお、本チューニングを無効にするには、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNTキーを削除し、コンピューターを再起動してください。
それでは、また次号でお目にかかりましょう。
阿久津良和(Cactus)