since some time now I try to figure out how to correctly setup this new UWF (Unified Write Filter). Unfortunately it seems there is only documentation for Win 8.1 industry (here), not for Win 10. I hope there were no relevant changes since.
I also asked this on the WindowsDevCenter but got no response so far.
Here is my problem:
With the WMI providers I got UWF enabled by now (UWF_Filter.Enable()
), but I cannot protect any volume.
Also the volume list looks very strange: There are 4 entrys, everyone is with CurrentSession=True
.
- The first is for an volume with no drive letter, only a volume id.
- The second is for C:
- and then there are 2 identical for D: .
Should'nt there normally be 2 entrys per volume, one where CurrentSession
is true and one where its false, meaning its the setting applied after reboot?
If I try to execute Protect
on the ManagementObject with DriveLetter=C:
I get an Access denied
exception, I assume because its the object for the current session.
Also if I try uwfmgr.exe Volume Protect C:
on the console it simply hangs: no reaction, no error, only a forever blinking cursor. EDIT: it turned out this was a problem caused by another installed software. See also below.
Do I have to enable or disable or do anything else before I can protect volumes?
Thanks in advance,
Sebastian
My system:
- Windows 10 IOT Enterprise 2016 LTSB x64
- 1 SSD 250GB with Boot, C: and D:
Edit:
Here I asked a follow up question with some other details and a workaround. If I use uwfmgr.exe volume protect c:
for example, it works and UWF_Volume now suddenly has (the correct) 2 entries for C:
, one for the current and one for the next session.
However I want to avoid this, because IMHO it should be solveable by WMI only.
Edit 2: @sommmen
The partition layout is as following: One disk with 4 partitions.
- Boot, 500MB
- C:/ , 45GB
- unknown, 500MB (Boot-Backup I think)
- D:/ , ~200GB
PS:
Please could anyone create the tags uwf
and uwfmgr
? Would be nice :-)
Missing UWF_Volume instances often appeared after reboot in my tests. But if not, you can create them directly using
ManagementClass.CreateInstance()
.The problem here is that the official docs are not exactly correct. The description of the
UWF_Volume.VolumeName
property is:from: https://learn.microsoft.com/en-us/windows-hardware/customize/enterprise/uwf-volume#properties
In fact, the
DeviceID
needs a slight modification, before using it as value forUWF_Volume.VolumeName
:So, after removing prefix
\\?\
and removing any trailing slashes you can create instances withCurrentSession=false
for the specified device.This also works in Windows 10 Pro without any
uwfmgr.exe
. Though, officially not recommended/supported.Also, I was not able to delete instances, yet. So be sure to add only correct values.
Full Example: