İnternet kafelerde, okullarda, bilgisayar laboratuvarlarında sıkça ihtiyaç duyulan diske yazma koruması ya da daha aşina olduğumuz şekliyle "deep freeze" özelliği, Windows 10'un içerisinde halihazırda kullanıma hazır bir şekilde mevcut. Her nedense hakkında pek yazılıp çizilmemiş bu özelliği nasıl kullanabileceğinizi bu yazımda anlatmaya çalışacağım.

UWF Nedir, Nasıl Çalışır?

UWF ya da "Unified Write Filter" kabaca disk üzerinde sanal bir koruma katmanı oluşturan, diske yapılacak yazma işlemlerini bu katmana yönlendiren ve bu sayede disk üzerinde kalıcı değişiklikler yapılmasını engelleyen bir özelliktir. Kullanıcının sistem üzerinde yapacağı değişiklikler pratikte hiçbir zaman diske yazılmayacağı için kullanıcı oturumu kapandıktan ya da sistem yeniden başladıktan sonra sistem bilinen en son durumuna geri dönecektir.

UWF'in Faydalı Olabileceği Senaryolar:

Yazının başında da bahsettiğim gibi birden fazla kullanıcının sıklıkla kullandığı internet kafe, okul, kütüphane bilgisayarlarında sistem kararlılığını korumak, kullanıcının yapabileceklerini kısıtlamadan ve bir sonraki kullanıcının deneyimini olumsuz yönde etkilemekten kaçınmak için UWF'i kullanabilirsiniz.

UWF'in Özellikleri, Avantajları ve Handikapları

Disk tablosunun GPT/MBR ya da dosya sisteminin FAT/NTFS olmasına bakılmaksızın her türlü dahili HDD, SSD ve harici SATA cihazlarında bu özelliği kullanmak mümkün. UWF daha önce bahsettiğim "sanal katman" (disk overlay) 'ı ister RAM'de, isterseniz de disk üzerinde bir konumda barındırmak mümkün. Ayrıca bu katmanı oturum sonunda ya da sistem yeniden başlatmasında silinmeyecek şekilde ayarlamak da seçenekler arasında ki bu katmanın ne zaman sıfırlanacağı konusunda daha fazla kontrol sağlamak istiyorsanız fazlasıyla kullanışlı olacaktır. Örneğin piyasadaki aynı işi yapan yazılımlarda bulunan diski gün sonunda sıfırlama özelliğini, ilgili sıfırlama komutunu bir zamanlanmış görevle çalıştırarak sağlamak mümkün.

Hazır piyasadaki aynı işi yapan ürünlerden bahsetmişken belki de en büyük artı olan fiyat konusunda da ciddi bir avantaja sahip olduğumuzu hatırlatalım çünkü tek bir bilgisayar lisansı $20 ve $50 arasında değişen alternatiflerine kıyasla tek ihtiyacınız olan, etkinleştirilmiş bir Windows 10 Enterprise ya da Education sürümü.

UWF'in bazı handikapları da yok değil elbette. Her şeyden önce tahmin edeceğiniz gibi çıkarılabilir medyalarda bu özelliği kullanmak mümkün değil.  Bu özellik ne yazık ki 16 TB'tan büyük disklerde kullanılamıyor ve Windows'un "Hızlı Başlatma" seçeneği ile tam otomatik çalışamıyor. Bunun anlamı eğer Hızlı Başlatma özelliğini kullanıyorsanız, sistemi kapatmanın overlay'i kendiliğinden sıfırlayamayacak olması. Eğer hem hızlı başlatmayı aktif tutmak hem de otomatik sıfırlamadan faydalanmak istiyorsanız, bazı komutlarla haşır neşir olmanız gerekecek. Neyse ki, bütün bunları ilerleyen bölümlerde detaylı bir şekilde işleyeceğiz, endişe etmeyin.

İşte Başlıyoruz: UWF Özelliğini Kurmak

Eğer kurulu bir Windows 10 Enterprise/Education sistemin başındaysanız, UWF'i etkinleştirmenin en kolay yolu bunu "Windows Özelliklerini Aç veya Kapat" ekranından yapmak olacaktır. Sonrasında "Device Lockdown" altındaki "Birleştirilmiş Yazma Filtresi" özelliğini seçin ve Tamam diyerek ilgili özelliği Windows kurulumunuza ekleyebilirsiniz.

Bu pencereyi hızlıca açmak için kısa yoldan "optionalfeatures" komutunu çalıştırabilirsiniz. 

Buna bir alternatif olarak yönetici olarak çalıştırdığınız bir Komut İstemi ya da Powershell terminalinde aşağıdaki komutu da çalıştırabilirsiniz:

DISM /online /enable-feature /all /featureName:Client-UnifiedWriteFilter

DISM aracını kullanarak aynı zamanda bu özelliği Windows 10 kurulum medyanıza önceden dahil edebilirsiniz ancak bu yazıda buna değinmeyeceğim. Daha fazla bilgi için yazı sonundaki kaynak ve ileri okuma bağlantılarına göz atabilirsiniz.

Özellik yüklemesi tamamlandıktan sonra, sisteminizi yeniden başlatmanız gerekecek. Aynı zamanda sistem konfigürasyonunuz UWF'in daha sorunsuz çalışmasını sağlamak ve performansı arttırmak için disk sanal belleği, sistem geri yükleme hizmeti, SuperFetch, Dizin indekslemesi, hızlı başlatma ve disk birleştirme hizmeti kapatılacak.

UWF'i Kullanmaya Başlamak

UWF'i yapılandırmak için, uwfmgr.exe adlı aracı kullanacağız. Yönetici olarak çalıştırdığınız bir Komut İstemi ya da Powershell penceresinde uwfmgr yazarak kurulumu doğrulayabilir ve olası seçenekleri görebilirsiniz. UWF'i etkinleştirmek için uwfmgr filter enable, C: sürücüsünde korumayı başlatmak için uwfmgr volume protect C: komutunu kullanabiliriz. Ekran görüntüsünde de görüldüğü gibi bu komutlar çalıştıktan sonra, bir sonraki sistem başlangıcından itibaren UWF devreye girecektir.

Sistemi bir kez daha yeniden başlattıktan sonra, uwfmgr get-config komutunu çalıştırarak aktif olan UWF konfigürasyonunu görüntüleyebiliriz.


PS C:\Windows\system32> uwfmgr get-config
Unified Write Filter Configuration Utility version 10.0.17763
Copyright (C) Microsoft Corporation. All rights reserved.

Current Session Settings


FILTER SETTINGS
    Filter state:    ON
    Pending commit:  N/A
    Shutdown pending:No

SERVICING SETTINGS
    Servicing State: OFF

OVERLAY SETTINGS
    Type:               RAM
    Maximum size:       1024 MB
    Warning Threshold:  512 MB
    Critical Threshold: 1024 MB
    Freespace Passthrough: OFF
    Persistent: OFF
    Reset Mode: N/A



VOLUME SETTINGS
Volume 6c8aa4dd-ef17-44c4-b56b-a6f60ee28099 [C:]
    Volume state:     Protected
    Volume ID:        6c8aa4dd-ef17-44c4-b56b-a6f60ee28099

    File Exclusions:
Current Session Exclusions for Volume 6c8aa4dd-ef17-44c4-b56b-a6f60ee28099 [C:]
        *** No exclusions



REGISTRY EXCLUSIONS
    *** No exclusions

Next Session Settings


FILTER SETTINGS
    Filter state:    ON
    Pending commit:  N/A

SERVICING SETTINGS
    Servicing State: OFF

OVERLAY SETTINGS
    Type:               RAM
    Maximum size:       1024 MB
    Warning Threshold:  512 MB
    Critical Threshold: 1024 MB
    Freespace Passthrough: OFF
    Persistent: OFF
    Reset Mode: N/A



VOLUME SETTINGS
Volume 6c8aa4dd-ef17-44c4-b56b-a6f60ee28099 [C:]
    Volume state:     Protected
    Volume ID:        6c8aa4dd-ef17-44c4-b56b-a6f60ee28099

    File Exclusions:
Next Session Exclusions for Volume 6c8aa4dd-ef17-44c4-b56b-a6f60ee28099 [C:]
        *** No exclusions



REGISTRY EXCLUSIONS
    *** No exclusions

PS C:\Windows\system32>

Tekrarlıyormuş gibi görünen satırlara takılmayın çünkü uwfmgr hem şuan aktif olan hem de bir sonraki sistem başlangıcında aktif olacak konfigürasyonu aynı anda gösteriyor. Dikkatli bakacak olursanız, "VOLUME SETTINGS" altındaki C: sürücüsü şu anda UWF tarafından korunuyor. Peki gerçekten öyle mi? Masaüstünde bir dosya oluşturup sistemi yeniden başlatmayı deneyeceğim.

UWF çalışıyor gibi görünüyor ancak acele etmeyelim, atladığımız bazı noktalar olabilir. Neyi atladığımızı göremiyorsanız, üstteki konsol çıktısına tekrar bakmanızı tavsiye ederim. Ya da sanırım şu ekran görüntüsü neyi unuttuğumuzu anlamanıza yardımcı olabilir:

Dosya kopyalama işlemi ilerlerken, kullanılabilir belleğin ne kadar azaldığına dikkat edin. 2,0 GB RAM kısıtı olan bir sanal makinede, hafızanın alabileceğinden daha büyük dosyalar ortaya çıktığında sistem kilitleniyor.

Az önce yukarıdaki çıktıda OVERLAY SETTINGS altında Type olarak RAM'in yazılı olduğuna dikkat edin. Bunun anlamı, disk üzerinde yapılan bütün değişikliklerin, silinen ve eklenen dosyaların RAM'de tutulduğu.  Tabii ki bu böyle bir disk koruması için izlenebilecek en kolay yol, ancak bizim durumumuzda özellikle kısıtlı bellek alanına sahipsek pek ümit vadetmiyor. Ayrıca, warning ve critical threshold değerlerine de dikkat edin. UWF'in overlay boyutu bu eşiklere ulaştığında farklı olaylar tetikleniyor, isterseniz Görev Zamanlayıcı üzerinden bu olaylarda yapılacak eylemler tanımlayıp kullanıcıya warning eşiğinde disk kotasının azaldığı konusunda uyarı gösterebilir, critical eşiğinde sistemin kilitlenmesini beklemeden sistemi zorla yeniden başlattırabilirsiniz. Her halükarda, kısıtlı bellek alanınız varsa geçici konum olarak belleği kullanmak bu durumda pek mantıklı olmayacaktır. Bunun yerine, bu değişiklikler geçici de olsa diskte tutulsaydı kullanılabilir belleği ve dosya boyutlarını dert etmemiz gerekmezdi.  

Overlay ile ilgili bu ayarları değiştirmek için, öncelikle UWF'i geçici olarak devre dışı bırakmamız gerekiyor. "uwfmgr filter disable" komutunu yönetici komut satırından/powershell üzerinden çalıştırdıktan sonra sistemi yeniden başlatmanız gerekiyor. Sonrasında tekrar yönetici olarak çalıştırdığımız bir uçbirimde geçici konumu Disk olarak ayarlamak için "uwfmgr overlay set-type Disk" yazabilirsiniz. Bu komutla, UWF bir sonraki başlangıcında overlay konumu olarak diski kullanacaktır. Elbette, az önce devre dışı bıraktığımız UWF'i aktifleştirmeyi unutmuyoruz.


C:\Windows\system32>uwfmgr overlay set-type Disk
Unified Write Filter Configuration Utility version 10.0.17763
Copyright (C) Microsoft Corporation. All rights reserved.

** Unified Write Filter (UWF) is disabled for the next session**
The overlay type will be set to Disk after the Unified Write Filter is enabled.

C:\Windows\system32>uwfmgr filter enable
Unified Write Filter Configuration Utility version 10.0.17763
Copyright (C) Microsoft Corporation. All rights reserved.

Unified Write Filter will be enabled after system restart.

C:\Windows\system32>

...ve doğru tahmin ettiğiniz, sistemi son bir kez daha yeniden başlatıyoruz. Bu son konfigürasyonla birlikte Windows 10 ile birlikte bir özellik olarak gelen UWF'i başarıyla kullanmaya başlamış olduk. Elbette değinemediğim birçok nokta olduğunun farkındayım ancak şimdiden 1600 kelimeyi geçtiğimizi düşünürsek, sanırım bu yazının devamının geleceğini söyleyebilirim. Bu serüvende benimle birlikte olduğunuz için teşekkürler :)