統一寫入篩選器 (UWF) 重迭位置和大小

統一寫入篩選器 (UWF) 攔截受保護磁片區的寫入嘗試,並將這些寫入嘗試重新導向至虛擬重迭,以保護磁片區的內容。

您可以選擇重迭儲存 (RAM 或磁片) 、保留多少空間,以及重迭填滿時會發生什麼情況。

若要增加執行時間,請設定監視以檢查您的重迭是否已填滿。 在特定層級,您的裝置可以警告使用者和/或重新開機裝置。

RAM 重迭與磁片重迭

  • RAM 重迭 (預設) :虛擬重迭會儲存在 RAM 中,並在重新開機之後清除。

    • 藉由寫入 RAM,您可以減少寫入敏感媒體上的耗用,例如固態硬碟。
    • RAM 通常會比磁片磁碟機空間更有限。 當磁片磁碟機重迭填滿可用的 RAM 時,裝置效能可能會降低,而且使用者最終會提示您重新開機裝置。 如果您的使用者預期要對重迭進行許多大型寫入,請考慮改用磁片重迭。
  • 磁片重迭:虛擬重迭會儲存在磁片磁碟機上的暫存位置。 根據預設,重迭會在重新開機時清除。

    • 您可以使用 可用空間傳遞 ,在磁片磁碟機上使用超出保留虛擬重迭空間的額外可用空間。
    • 在 Windows 10 1803 版上,您可以使用持續性重迭,讓使用者即使在重新開機之後,也能在虛擬重迭中儲存工作。

重迭大小

  • Default=1024MB。 使用下列專案進行設定:
    • CMDuwfmgr overlay set-size
    • CSPNextSession/MaximumOverlaySize
    • WMIUWF\Overlay.SetMaximumSize

規劃裝置推出時,建議您優化重迭大小以符合您的需求。

針對 RAM 重迭,您必須為系統預算一些 RAM。 例如,如果 OS 需要 2 GB 的 RAM,且您的裝置有 4 GB 的 RAM,請將重迭的大小上限設定為 2048MB (2 GB) 或更少。

建議您在測試裝置上啟用 UWF、安裝必要的應用程式,以及透過使用模擬來放置裝置。 您可以使用此 Powershell 腳本來找出哪些檔案耗用空間:

$wmiobject = get-wmiobject -Namespace "root\standardcimv2\embedded" -Class UWF_Overlay 
$files = $wmiobject.GetOverlayFiles("c:") 
$files.OverlayFiles | select-object -Property FileName,FileSize  | export-csv -Path D:\output.csv 

使用的重迭數量取決於:

  • 裝置使用模式。
  • 可存取的應用程式。 (某些應用程式具有高寫入磁片區,且會更快填滿重迭。)
  • 重設之間的時間。
  • 刪除檔案時,UWF 會從重迭中移除它們,並將釋放的資源傳回至可用的集區。

警告和重大事件

當磁片磁碟機重迭填滿可用空間時,您可以警告使用者他們空間不足,並提示他們重新開機裝置或執行腳本以清除重迭。

  1. (選擇性) 設定警告層級和關鍵層級。 當重迭填入此值時,UWF 會寫入 Windows 事件追蹤 (ETW) 訊息。

    • 警告層級:Default=512MB。 使用下列專案進行設定:
      • CMDuwfmgr overlay set-warningthreshold
      • CSPNextSession/WarningOverlayThreshold
      • WMIUWF_Overlay.SetWarningThreshold
    • 關鍵層級:Default=1024MB。 使用下列專案進行設定:
      • CMDuwfmgr overlay set-criticalthreshold
      • CSPNextSession/CriticalOverlayThreshold
      • WMIUWF_Overlay.SetCriticalThreshold

    請注意,這些設定會在下次重新開機後生效。

  2. 使用工作排程器來偵測 ETW 訊息,並警告使用者在裝置上包裝工作,以便在重迭清除之前不會遺失其內容。 您也可以提供腳本的連結,以清除重迭的內容。

    系統 記錄檔從 uwfvol接收事件識別碼的事件上,建立觸發的工作:

    重迭使用方式 來源 層級 事件識別碼
    警告臨界值 uwfvol 警告 1
    重大臨界值 uwfvol 錯誤 2
    回到正常狀態 uwfvol 資訊 3
  3. 將裝置重新開機。

在使用磁碟重疊的裝置上,您可以使用可用空間傳遞來存取您磁碟機的額外可用空間。

您仍然需要在磁片上保留一些空間,才能重迭。 此空間用來管理重迭,以及儲存覆寫,例如系統更新。 所有其他寫入都會傳送至磁片上的可用空間。 經過一段時間後,保留的重迭將會變慢且變慢,因為覆寫只會持續取代彼此。

在具有 RAM 重迭的裝置上,您也可以使用可用空間傳遞來存取磁片磁碟機的額外可用空間,以減少重迭使用量。 不過,不建議搭配 RAM 重迭使用 freespace 傳遞,因為它不會降低寫入敏感媒體的耗用,例如固態硬碟。

  • CMD:uwfmgr overlay set-passthrough (on|off)

永續性重迭

注意

此模式是實驗性模式,建議您先徹底測試它,再部署到多個裝置。 此選項預設不會使用。

在具有磁片重迭的裝置上,您可以選擇繼續使用重迭資料,即使在重新開機之後也一直運作。 這在來賓使用者可能需要存取較長期間,而且可能需要在使用之間關閉裝置電源的情況中很有説明。

此選項可讓 IT 部門在重設重迭時更充分掌控。 您也可以為使用者提供腳本,以協助他們視需要重設重迭。

若要開啟或關閉持續重迭:

  • CMD:uwfmgr overlay set-persistent (on|off)

若要重設重迭:

  • CMDuwfmgr overlay reset-persistentstate on

重迭耗盡

如果重迭的大小接近或等於重迭大小上限,則任何寫入嘗試都會失敗,並傳回錯誤,指出沒有足夠的空間可完成作業。 如果裝置上的重迭達到此狀態,您的裝置可能會變得沒有回應和緩慢,而且您可能需要重新開機您的裝置。

當 Windows 關閉時,它會嘗試將數個檔案寫入磁片。 如果重迭已滿,這些寫入嘗試會失敗,導致 Windows 嘗試重複重寫檔案,直到 UWF 判斷裝置嘗試關閉並解決問題為止。 當重迭已滿或接近完整時,嘗試使用正常方法關閉可能會導致裝置花費很長的時間,在某些情況下,最多一小時或更長的時間才能關閉。

您通常可以使用 UWF 來自動起始關機或重新開機來避免此問題:

  • 關閉

    • CMDuwfmgr shutdown
    • CSPShutdownSystem
    • WMIUWF\Filter.ShutdownSystem
  • 重新開機

    • CMDuwfmgr restart
    • CSPRestartSystem
    • WMIUWF\Filter.RestartSystem

如果超過重迭的大小上限,Windows 10 19H1 和更新版本會自動重新開機。