こんにちは、阿久津です。Windows Server 2012では、ReFS(Resilient File System)というファイルシステムがサポートされているのをご存じでしょうか。コード名「Protogon」で開発が始まったReFSは、NTFSが備える堅牢性を維持しながら、最大ファイルサイズを2の64乗バイト(約18エクサバイト)まで拡大。ただし、このような巨大ファイルを扱う場面は少ないため、Windows Server 2012/同R2と同じ255テラバイトが最大値となりました(図01)。

図01 Windows Server 2012で利用可能な「ReFS」

クラスタサイズやボリュームサイズも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)。

図02 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図03 レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Controlまで、キーをたどって開きます

図04 Controlキーを右クリックし、メニューから<新規>→<キー>とクリックします

図05 キー名を「新しいキー #1」から「MiniNT」に変更します

図06 MiniNTキーを開き、何もないところを右クリックします。メニューから<新規>→<DWORD値>とクリックしてください

図07 値名を「新しい値 #1」から「AllowRefsFormatOverNonmirrorVolume」に変更します

図08 DWORD値「AllowRefsFormatOverNonmirrorVolume」をダブルクリックで開き、値のデータを「1」に変更して、<OK>ボタンをクリックします

図09 <×>ボタンをクリックして、レジストリエディターを終了させます

図10 [Win]+[I]キーを押して設定チャームを呼び出し、<電源>ボタン→<再起動>とクリックしてコンピューターを再起動します

早速結果を確認してみましょう。「ディスク管理ツール(diskmgmt.msc)」を起動し、ボリュームのフォーマットを実行しますと、チューニング前は「NTFS」のみでしたが、チューニング後は「REFS」がドロップダウンリストに並ぶようになります(図11~13)。

図11 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「diskmgmt.msc」と入力して<OK>ボタンをクリックします

図12 任意のドライブを右クリックし、メニューの<フォーマット>をクリックします

図13 「ファイルシステム」のドロップダウンリストを開くと、「REFS」が選択可能になります

実際にUSB接続したHDDをReFSでフォーマットしてみましたが、図14のとおり正しく動作しました。また、diskpartコマンドによる操作の場合、チューニング前はディスクやボリュームなどを管理するサービス「Virtual Disk」がエラーを発していました。しかし、チューニング後は「format fs refs quick」とReFSをファイルシステムとして指定可能になります(図14~16)。

図14 USBドライブをReFSでフォーマットしてみました。特に問題なく動作しています

図15 チューニング前のdiskpartコマンドによる実行結果。Virtual Diskがエラーを発していました

図16 こちらはチューニング後の同じ実行結果。ご覧のとおり問題なくReFSによるフォーマットが実行できました

このようにWindows 8.1はReFSが利用可能ですが、公式にサポートされた機能ではありませんので、意図しないトラブルが発生する可能性は拭いきれません。例えば、ReFSでフォーマットしたボリューム上において、作成したファイルが消えてしまうようなこともあるでしょう。そのため、通常利用はお勧めできません。なお、本チューニングを無効にするには、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNTキーを削除し、コンピューターを再起動してください。

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus