Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

Windows 10の統合書き込みフィルター(UWF)とは?使い方・設定方法を徹底解説

UWF(Unified Write Filter:統合書き込みフィルター)は、Windows 10に搭載されている特殊なファイルシステム書き込みフィルターです。この機能を有効にすると、ローカルドライブ上のWindowsシステムファイルやユーザーファイルをあらゆる変更から保護できます。UWFが有効な状態では、保護対象ディスクやシステムレジストリへの書き込み操作はすべてUWFフィルタードライバーによって傍受され、独立した仮想領域(オーバーレイ)に保存されます。そのため、Windowsを再起動すると保護ドライブ上の変更はすべて破棄され、システムは常にUWFを有効化した時点の初期状態に戻ります。

UWFフィルターの仕組み

UWFフィルターは、ローカルディスク上の選択したパーティションのファイルシステムを保護し、ファイルシステムへのすべての書き込み操作を透過的に仮想オーバーレイへリダイレクトすることで動作します。変更内容はすべてこのオーバーレイ内に一時保存されます。

補足:以前のWindowsバージョンでは、書き込みフィルターはATM、POS端末、情報キオスク、セルフサービス端末、産業用システムなどで使われるEmbeddedエディション限定の機能でした。しかし現在では、Windows 10 Enterprise(LTSB/LTSCを含む)およびWindows 10 Educationでも利用可能になっています。これにより、企業や教育機関での活用シーン(情報キオスク、学習用PC室、デモ展示台など)が大きく広がりました。

Windows 10で統合書き込みフィルターを有効化・設定する方法

UWFは個別のWindows機能として提供されており、「コントロールパネル」→「プログラムと機能」→「Windowsの機能の有効化または無効化」→「デバイスのロックダウン」→「統合書き込みフィルター(Unified Write Filter)」から有効化できます。

PowerShellを使ってインストールすることも可能です。

Enable-WindowsOptionalFeature -Online -FeatureName "Client-UnifiedWriteFilter" –All

またはDISMコマンドを使用します。

DISM.exe /Online /enable-Feature /FeatureName:client-UnifiedWriteFilter

UWFの設定管理には、コンソールツール「uwfmgr.exe」を使用します。

UWFフィルターの有効化

Windows 10でUWFフィルターを有効にするには、以下のコマンドを実行してコンピューターを再起動します。

uwfmgr.exe filter enable

UWFフィルターを有効化すると、不要なディスク書き込み操作が自動的に除外されるようシステムが再構成されます(ページファイル、復元ポイント、ファイルインデックス作成、デフラグなどが無効化されます)。

特定のドライブへの書き込み保護を有効にする

特定のドライブに対して書き込み保護を有効にするには、次のコマンドを実行します。

uwfmgr.exe volume protect c:

その後コンピューターを再起動してください。再起動後、セッション中にユーザーがディスクに書き込んだ内容は、次回の再起動までしか保持されず、すべての変更は破棄されます。

UWFの状態は以下のコマンドで確認できます。

uwfmgr.exe get-config

実行結果でシステムディスクが保護されており、UWFフィルターが有効になっていること(Volume state: Protected)を確認できます。

オーバーレイの設定

UWFが一時データを保存するオーバーレイの現在の設定は、次のコマンドで表示できます。

uwfmgr overlay get-config

設定可能な主なオーバーレイパラメータは以下の通りです。

  • Type(種類) – オーバーレイの種類。データをディスク(DISK)に保存するか、RAMに保存するかを選択します。
  • Maximum size(最大サイズ) – オーバーレイの最大サイズ。
  • Warning Threshold(警告しきい値) – このサイズを超えると警告が表示されます。
  • Critical Threshold(重大しきい値) – このサイズを超えるとUWFエラーが発生します。
  • Freespace Passthrough – ディスクオーバーレイモード専用。特別なファイルではなく、ディスク上の空き領域に直接データを書き込めるようにします。

デフォルトでは1GBのRAMオーバーレイが設定されています。

十分な空きRAMがある場合は、オーバーレイ設定を変更できます。

uwfmgr overlay set-size 8192
uwfmgr overlay set-criticalthreshold 8192
uwfmgr overlay set-warningthreshold 7168

DISKオーバーレイを使用したい場合は、次のコマンドを実行します。

uwfmgr overlay set-type Disk

オーバーレイ内の現在のデータ使用量は以下のコマンドで確認できます。

uwfmgr overlay get-consumption

残りの空き容量は次のコマンドで表示されます。

uwfmgr overlay get-availablespace

Windows 10でのUWFサービシングモード

システムメンテナンス作業(更新プログラムのインストール、ウイルス対策定義の更新など)を行う際は、Windowsデバイスを特別なUWFサービシングモードに切り替える必要があります。

uwfmgr servicing enable

再起動後、Windowsはローカルアカウント「UWF-Servicing」で起動し、利用可能なWindows Update(Windows UpdateまたはWSUS承認済み更新)やウイルス対策定義を自動的にインストールします。必要であれば、UWF-Servicingアカウントでコンピューターにログオンすることも可能です(このユーザーのパスワードは不明ですが、リセットすることはできます)。

UWF-Servicingユーザーが自動ログオンすると、uwfservicingshell.exeツールが起動し、Windows 10のサービシングスクリプトが実行されます。サービシングモード中は他の作業を行うことはできません。

更新プログラムのインストールが完了すると、コンピューターは自動的に再起動し、UWFフィルターが有効な通常モードで立ち上がります。

また、サービシングモードに入らずにWindows更新プログラムをインストールすることも可能です。次のコマンドを使用します。

uwfmgr servicing update-windows

Unified Write Filter updated Windows result: REBOOT REQUIRED.

Windows 10でのUWF除外設定の追加

UWFフィルターが有効な状態でも特定の変更ファイルを強制的にディスクへ保存したい場合は、次のコマンドを実行します。

uwfmgr file commit C:\Labs\MyApp.exe

これにより、Windowsを再起動してもファイルは削除されなくなります。

UWF有効時にファイルを完全に削除したい場合は、次のコマンドを使用します。

uwfmgr file commit-delete C:\Labs\MyApp.exe

レジストリにも同様のコマンドが用意されています。

uwfmgr registry commit ...
uwfmgr registry commit-delete ...

特定のファイル、フォルダー、レジストリキーをUWFの除外リストに追加することもできます。除外リストに登録された項目への変更は、オーバーレイではなくディスクに直接書き込まれます。

特定のファイルやフォルダーを除外に追加するには、次のコマンドを実行します。

Uwfmgr.exe file add-exclusion c:\labs

または、

Uwfmgr.exe file add-exclusion c:\labs\report.docx

レジストリキーの除外を追加する場合は以下の通りです。

Uwfmgr.exe registry add-exclusion "HKLM\Software\My_RegKey"

新しい除外リストを適用するには、コンピューターの再起動が必要です。

UWFフィルターの除外リストを一覧表示するには、次のコマンドを使用します。

uwfmgr file get-exclusions

除外からファイルを削除するには:

uwfmgr file remove-exclusion c:\student\report.docx

一部のシステムファイルやフォルダーは、除外として追加できません。

  • \Windows\System32\config\ 内のレジストリファイル
  • ボリュームのルート
  • \Windows、\Windows\System32、\Windows\System32\Drivers
  • Pagefile.sys、swapfile.sys
  • など

補足:UWFはUSBフラッシュドライブや外付けUSBデバイス上のデータ保護には使用できません。リムーバブルディスクタイプに対する書き込みフィルターの有効化は、ソフトウェアレベルでサポートされていないようです。ただし、リムーバブルUSBドライブを固定ディスクとして認識させるテクニックを使えば、この制限を回避できる場合があります。

推奨される除外設定の一例

一部のサービスを正しく動作させるには、そのディレクトリ、ファイル、レジストリキーのパスを除外リストに追加する必要があります。代表的なWindowsサブシステム向けの除外設定を以下にまとめました。

BITS用の除外:

  • %ALLUSERSPROFILE%\Microsoft\Network\Downloader
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\BITS\StateIndex

無線ネットワーク正常動作用の除外(Wi-Fiネットワークへの接続とWLANプロファイルの保存が可能になります):

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Wireless\GPTWirelessPolicy
  • C:\Windows\wlansvc\Policies
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\wlansvc
  • C:\ProgramData\Microsoft\wlansvc\Profiles\Interfaces\{<Interface GUID>}\{<Profile GUID>}.xml
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Wlansvc
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WwanSvc

有線ネットワーク正常動作用の除外:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WiredL2\GP_Policy
  • C:\Windows\dot2svc\Policies
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\dot3svc
  • C:\ProgramData\Microsoft\dot3svc\Profiles\Interfaces\{<Interface GUID>}\{<Profile GUID>}.xml
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\dot3svc

Windows Defender用の除外:

  • C:\Program Files\Windows Defender
  • C:\ProgramData\Microsoft\Windows Defender
  • C:\Windows\WindowsUpdate.log
  • C:\Windows\Temp\MpCmdRun.log
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender

UWFフィルターのリセット・無効化方法

UWFフィルターの設定を初期状態(フィルター有効化直後の状態)にリセットできます。

uwfmgr filter reset-settings

UWFを完全に無効化する場合(再起動後、ディスク上のすべての変更が保存されるようになります):

uwfmgr.exe filter disable

特定のボリュームのみフィルターを無効化することも可能です。

uwfmgr.exe volume unprotect E:

重要:UWFフィルターの設定ミスによりWindowsが起動しなくなった場合は、インストール/ブートメディアから起動し、レジストリをオフラインで編集することでフィルターを無効化できます。

  • レジストリキー HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\uwfvol の Start パラメータの値を 4 に変更して、UWFドライバーの自動起動を無効にする。
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{71a27cdd-812a-11d0-bec7-08002be2092f}\Lower Filters から uwfvol の文字列を削除する。

Windows 10でのHORM(Hibernate Once/Resume Many)との併用

Windows 10 1709以降では、UWFフィルターに新しいモード「Hibernate Once/Resume Many(HORM)」が追加されました。このモードを使うと、アプリケーションが起動しファイルが開かれた状態のWindows環境を素早く復元できます。コンピューターが起動するたびに、Windowsは即座にその状態へ戻ります。

Windows 10におけるHORMモードの制限事項:

  • すべてのローカル(固定)ドライブでUWFフィルターが有効である必要があります。
  • UWFフィルターの除外設定はサポートされません。
  • オーバーレイはRAMモードで動作します(ディスクオーバーレイは非対応)。
  • 休止状態と高速スタートアップは無効化されます。

HORMを有効にするには、次のコマンドを実行します。

uwfmgr filter enable-horm

Unified Write Filter enabled HORM. Please hibernate the system to use HORM functionality. The system must be hibernated at least once after run enable-horm command, or it may bring the system into corrupted state.

まずユーザーの作業環境を構成します(必要なアプリケーションの起動、ファイルを開くなど)。その後、次のコマンドでコンピューターを休止状態にします。

shutdown /h

コンピューターをウェイクアップさせて再起動します。次回の再起動以降、Windows 10は休止ファイルに保存された状態で即座に起動します。

HORMモードを無効化するには、次のコマンドを実行します。

uwfmgr filter disable-horm

UWFの活用シーン

UWFは以下のような興味深い用途に活用できます。

  1. Windowsパフォーマンスの向上 – ディスクには何も書き込まれず、すべての書き込み操作がメモリ上で実行されるため、RAMディスクのような高速さを実現できます。
  2. SSDの寿命延長 – 書き込み操作が減ることで、SSDやCompactFlashなどのフラッシュストレージの摩耗を軽減できます。
  3. 実験・検証環境 – サードパーティ製ソフトウェアのテストやマルウェアの調査に最適です(この目的にはWindows 10 Sandboxも利用できます)。
  1. Windows 10のレジストリエディターでバックアップ・復元・編集を行う完全ガイド

    物の大小にかかわらず、全体をコントロールする中枢が必ず存在します。人間の体を脳が制御し、細胞を核が制御するように、Windowsオペレーティングシステムを管理しているのが「レジストリ」です。脳や核と同じように、レジストリにはWindowsに関するあらゆる細かい情報や設定が記録されています。そして、私たちの脳とは異なり、このレジストリはWindows 10に搭載された「レジストリエディター」を使って編集・変更することが可能です。 Windows 10のレジストリは、巨大な図書館のようなものだとイメージすると分かりやすいでしょう。OS、システムアプリ、サードパーティ製アプリ、さらにはハードウェア

  2. Windowsの「詳細な共有」機能を使いこなす方法|フォルダ共有を自由に制御しよう

    Windows 7やWindows 8では、フォルダやライブラリの共有方法をより細かく制御したい場合に、標準の共有ウィザードを無効化すると便利です。実は、「詳細な共有(Advanced Sharing)」機能を正しく使いこなせば、こうした場面はそれほど頻繁には起こりません。 この共有機能はやや操作が複雑ですが、その分、「どのように」「何を」「誰と」ファイルを共有するかについて、自由度とコントロール性が格段に向上します。本記事では、特定のユーザーだけにフォルダを共有する方法、ホームグループ(HomeGroup)への共有設定、そして自分だけがアクセスできるようにフォルダの共有を停止する方法まで、詳