chkdsk /f mi /r mi çalıştırmalıyım, hangisi neyi değiştirir

Semptom dosya sistemi hatasıysa /f, disk yüzeyinden gelen bir şüphe varsa /r çalıştırılır; ama çoğu durumda doğru ilk komut ikisi de değil. Windows 10 ve 11'de NTFS bir birimde önce parametresiz chkdsk ya da /scan ile çıkan raporu okumak, sonra yalnızca o raporun işaret ettiği parametreyi eklemek gerekir. /f diske yazan ilk parametredir; /r ise /f'nin yaptığı işi de kapsadığı için saatler sürer ve sağlıklı bir diskte tek getirisi geçen zamandır.

Yönetici olarak açılmış Komut İstemi'de imleç yanıp sönüyor. Arkada bir forum sekmesi duruyor; birisi "chkdsk /r /f yaz, düzelir" demiş. Elimizin r harfine gitmesi çok kolay, çünkü daha uzun süren seçenek daha çok şey tamir ediyormuş gibi geliyor. Ben o anda komutu yazmıyorum. Önce ekrandaki hata cümlesini okuyorum; parametreyi seçen şey o cümle, forumdaki tavsiye değil.

İki ayrı arıza ailesi var ve chkdsk'nin parametreleri tam olarak bu ayrımın etrafında dönüyor. Bir tarafta dosya sisteminin kendi kayıtlarının bozulması: klasörde görünen ama açılmayan dosyalar, "dosya veya dizin bozuk ve okunamıyor" cümlesi, her açılışta kendiliğinden başlayan bir tarama. Diğer tarafta diskin yüzeyinden gelen ses: büyük bir kopyalama sırasında takılma, "veri hatası (döngüsel artıklık denetimi)" uyarısı, aynı dosyanın her seferinde aynı yerde bozulması. Birinci aile /f'nin alanı, ikinci aile /r'nin. Karıştırıldığında olan şu: yüzeyi bitik bir diske /f çekiyoruz, hiçbir şey değişmiyor; ya da sapasağlam bir diske /r çekip bir geceyi boşa harcıyoruz.

Önce hiçbir şeyi değiştirmeyen adım

Parametresiz chkdsk, adı "kontrol" olan ama aslında sadece bakan komut. chkdsk D: yazıp Enter'a bastığımızda birim bağlı kalır, hiçbir kayıt yeniden yazılmaz, hiçbir küme bozuk olarak işaretlenmez. Rapor ekranda biter: kaç dosya, kaç dizin, kaç bozuk sektör, kaç kötü küme. Windows 10 ve 11'de bu komut NTFS birimlerde çoğu zaman saniyeler içinde döner, çünkü ayrıntılı bir yüzey taraması yapmıyor, yalnızca dosya sistemi kayıtlarına bakıyor.

Buradaki ayrıntı şu: aynı ekranı bir daha görmek istiyorsak aynı komutu tekrar çalıştırmamız gerekmiyor, sonuç her seferinde aynı yerden okunabiliyor ve bu, "acaba düzeldi mi" sorusunun en ucuz cevabı. Bir hafta arayla iki kez çalıştırıp iki raporu yan yana koyduğumuzda, sorunun tek seferlik mi yoksa tekrarlayan mı olduğunu görüyoruz. Tekrarlayan bir bulgu, parametre seçiminden önce gelen bilgi.

/f: diske ilk dokunan parametre

/f eklendiği anda iş değişiyor. chkdsk artık sadece raporlamıyor; bulduğu dosya sistemi hatalarını onarıyor, dizin girdilerini, dosya kayıtlarını, boş alan haritasını yeniden yazıyor. Diske yazan ilk parametre bu. Bunu bilmenin pratik sonucu şu: /f çalıştıktan sonra geri dönüş yok. Onarım bir kaydın üzerine yazıyor, biz de eski hâlini bir daha göremiyoruz. Bu yüzden /f'yi, verinin gerçekten yedekte olduğundan emin olduğumuz bir anda çalıştırıyorum; önce değil.

Sistem biriminde çalıştırıldığında chkdsk birimi kilitleyemiyor, çünkü Windows o birimi kullanıyor. Ekranda "birim başka bir işlem tarafından kullanılıyor, bir sonraki yeniden başlatmada denetlensin mi" diye soran bir satır çıkıyor ve E'ye basınca tarama yeniden başlatmaya kalıyor. O anda pencere kapanıyor, taramanın ne yaptığını göremiyoruz. Sonucu sonradan Olay Görüntüleyicisi'nde, Windows Günlükleri altındaki Uygulama kaydında, kaynak olarak Chkdsk satırında buluyoruz. Açılışta çalışan taramaların raporu da aynı yerde duruyor.

Veri disklerinde tablo farklı. Bir program o birime yazıyorsa chkdsk yine kilitlenemiyor ve aynı soruyu soruyor. Burada cevap yeniden başlatma değil, /x.

/x ile kilidi zorla almak

/x, chkdsk'ye "gerekirse birimi zorla ayır, açık tutamaçları geçersiz say" diyor. chkdsk D: /f /x yazdığımızda harici disk ya da ikinci bir iç disk için yeniden başlatma derdi ortadan kalkıyor, tarama doğrudan başlıyor ve aşamaları ekranda görüyoruz. Karşılığında bir uyarı var: ayırma işlemi o birimde açık olan her şeyi düşürür. Üzerinde çalıştığımız bir belge, arka planda yazan bir senkronizasyon programı varsa iş yarıda kalır. /x kullanmadan önce o sürücüyü kullanan ne varsa kapatıyorum, sonra çalıştırıyorum.

Aşamaları görmek de az şey değil. Üç aşama var: dosya kayıtları, dosya adı bağlantıları, güvenlik tanımlayıcıları. Takılma genelde ikinci aşamada oluyor ve oradaki duraklama, aynı diskin daha büyük bir sorununun ilk işareti olabiliyor.

/scan ve /spotfix: yeniden başlatmadan

Windows 10 ve 11'de, NTFS bir birimde çok daha az zahmetli bir yol var. chkdsk C: /scan birimi çevrimdışına almadan, çalışır hâldeyken tarıyor. Yeniden başlatma yok, pencere kapanmıyor, rapor aynı ekranda duruyor. Bir sorun bulursa chkdsk C: /spotfix yalnızca o bulunan noktaları onarıyor; tarama yapmadan tek başına çağrıldığında elinde onarılacak bir liste olmadığı için hiçbir şey yapmıyor.

Bu ikili, sistem biriminde /f çalıştırmanın en pratik alternatifi. /scan'in sınırı NTFS olması: FAT32 ya da exFAT biçimli bir USB bellekte bu komut yok, orada mecburen eski yola, /f'ye dönüyoruz. Bir de /scan /forceofflinefix diye bir kullanım var; tarama sırasında canlı onarım denemek yerine bulunanları sıraya koyup /spotfix'e bırakıyor. Diskte bir sorun olduğundan şüphelenip ne olduğunu bilmediğimiz durumlarda benim tercihim bu oluyor.

/r: sektör sektör, saat saat

/r belgelerde "bozuk sektörleri bulur ve okunabilir bilgiyi kurtarır" diye geçiyor. Cümlenin ilk yarısı doğru, ikinci yarısı fazla iyimser. Yaptığı şey şu: birimin tamamındaki her kümeyi tek tek okuyor, okunamayanı bozuk olarak işaretliyor, o kümenin içinde hâlâ okunabilen veriyi kurtarmaya çalışıyor. Diskin yüzeyini tamir etmiyor. Plakadaki bir çiziği yok etmiyor, bozulan bir denetleyiciyi düzeltmiyor. Sadece dosya sistemine "burası artık kullanılmasın" diyor.

Ve /r, /f'nin yaptığı işi de kapsıyor. Yani chkdsk D: /f /r yazmak gereksiz bir tekrar; /r tek başına yeter. Bunu bilmeyen biri iki parametreyi yan yana yazdığında daha güçlü bir şey yaptığını sanıyor, oysa aynı işi bir kez yaptırıyor. Süre diskin kapasitesine ve türüne bağlı. Büyük bir sabit diskte bu iş bir geceyi yer; aynı boyutta bir SSD'de çok daha hızlı biter. Ama "hızlı bitti" ile "bir şey buldu" aynı şey değil.

Buradaki asıl mesele şu: /r'nin değeri bir şeyi düzeltmesinde değil, diskin durumu hakkında bilgi vermesinde. Sağlıklı bir diskte hiçbir bozuk sektör bulmaz ve tek kazancımız geçen saatler olur. Bozuk sektör bulduğunda ise elimizde bir uyarı olur: bu disk yavaş yavaş bozuluyor. O noktada yapılacak şey ikinci bir /r değil, önce yedek almak, sonra diski değiştirmeyi düşünmek. Uzun bir yüzey taraması, mekanik olarak zorlanan bir diski sonuna kadar zorlayabilir; yedek bu yüzden taramadan önce gelir. Bozuk sektör bulan bir taramayı tekrarlamak, aynı sonucu daha yorgun bir diskle almaktan başka bir şey getirmiyor çoğu zaman.

Bir de beklenti meselesi var. chkdsk'nin hiçbir parametresi silinmiş dosyayı geri getirmiyor. "Okunabilir bilgiyi kurtarma" ifadesi, bozuk bir kümenin içinden hâlâ okunabilen parçaları kurtarmak anlamına geliyor; silinmiş bir belgeyi geri getirmek anlamına gelmiyor. Onarım sırasında kurtarılan dosya parçaları birim kökünde found.000 gibi bir klasöre, FILE0000.CHK benzeri isimlerle düşebiliyor. O klasörü görünce paniklemeye gerek yok ama içindekilerin eski dosyalarımız olduğunu da sanmamak lazım.

/b: belgelerde duran ama az konuşulan parametre

/b NTFS birimlerde çalışıyor ve yaptığı şey ince: diskteki bozuk küme listesini sıfırlıyor, sonra tüm kümeleri, daha önce bozuk işaretlenmiş olanlar dahil, yeniden tarıyor. Yani aracın geçmişte verdiği kararı siliyor ve kanıtı baştan topluyor.

Bu ne zaman doğru seçim? Diskin bozuk küme listesinin bayat ya da yanlış olduğundan şüphelendiğimizde; disk bir başka sistemde biçimlendirilmişse, klonlanmışsa, ya da listede çok eski kayıtlardan kalma birkaç küme duruyorsa. Bu ne zaman tuzak? Disk zaten sorun çıkarıyorsa. /b, /r'nin tüm yüzey taramasını yapar ve üstüne bir de mevcut listeyi siler. Yani bir yandan en uzun süren işlemi başlatıp bir yandan da elimizdeki tek geçmiş kaydı sıfırlıyoruz. Sağlam olduğundan emin olmadığımız bir diskte ilk hamle olarak /b'ye gitmem.

Sıraya koyduğumda ne çıkıyor

Aynı masaya oturduğumuzda yaptığımız şey şu oluyor. Önce ekrandaki cümleyi okuyup iki aileden hangisinde olduğumuzu belirliyoruz. Sonra hiçbir şeyi değiştirmeyen adımı atıyoruz: parametresiz chkdsk ya da /scan. Rapor temizse duruyoruz; temiz bir diske /r çekmenin kimseye faydası yok. Rapor dosya sistemi hatası gösteriyorsa veri diskinde /f /x, sistem diskinde /scan sonrası /spotfix, o da yetmiyorsa yeniden başlatmada /f. Rapor bozuk sektörden ya da tekrar eden bir okuma hatasından bahsediyorsa önce yedek, sonra /r. /b ise ancak bunu gerektiren somut bir sebep varsa.

Bir sınırı da baştan söyleyeyim: birim RAW görünüyorsa chkdsk hiç çalışmaz, orada parametre tartışması bitiyor. Bu sıralamanın tek dayanağı şu: en güçlü görünen parametre, en doğru ilk adım değil. /r, /f'nin yaptığı her şeyi yapıyor ve üstüne saatler ekliyor; bunu bilmediğimizde "daha kapsamlı olan daha iyidir" sezgisi bizi yanlış yere götürüyor. Oysa chkdsk'de doğru soru "hangisi daha güçlü" değil, "benim belirtim hangi parametrenin diliyle yazılmış".

Kapağı Açmayanlar

Yazar hakkında

Kapağı Açmayanlar

Kapağı Açmayanlar, Bayrak Kontrol'ün arkasındaki topluluk. Cihazının kasasını hiç açmamış, sorunlarını yalnızca ekrandaki araçlarla çözmüş kişilerin ortak imzası. Görev yöneticisini, depolama ekranını ve ayarlar menüsünü kurcalayarak hangi müdahalenin neyi değiştirdiğini kendi cihazlarında görmüşler; bir ayarı değiştirmeden önce geri nasıl alınacağını öğrenmeyi alışkanlık edinmişler.

Bizi tanıyın