Linux dosya sistemlerinin amacı, verileri güvenli şekilde saklamak ve gerekli olduğunda kurtarmayı sağlamaktır. Zamanla bazı bozulmalar meydana gelebilir ve belirli disk bölümlerine ulaşım mümkün olmayabilir. Bu tutarsızlıkları çözmek için çoğu senaryoda fsck aracı tercih edilir.
Daha önce Sanal Sunucularda Kullanılan İşletim Sistemlerini incelemiştik. Şimdi odağımızı Linux’a çevirip disk kaynaklı sorunların çözümünde fsck’nin nasıl kullanılacağını göstereceğiz.
Linux’ta fsck gerektiren senaryolar
fsck, dosya sistemi yapısında hata olabileceğine dair belirtiler görüldüğünde tercih edilir.
- İşletim sistemi açılışı başarısız oluyorsa
- Dosya bozulmaları ve giriş çıkış hataları tekrar ediyorsa
- Harici depolama aygıtları beklenen şekilde davranmıyorsa
Bu koşullar, fsck ile bütünlük denetimi ve gerekirse onarım yapmanız gerektiğine işaret eder.
fsck Komutunun Parametreleri
fsck yalnızca root yetkisiyle çalıştırılabilir. Kullanıa göre farklı seçenekler sunar.
-A→/etc/fstabdosyasında tanımlı tüm bölümleri kontrol eder.-C→ İşlem ilerlemesini gösterir.-l→ Kontrol sırasında bölümü kilitleyerek başka işlemleri engeller.-M→ Bağlı olan dosya sistemlerini atlar.-N→ Ne yapılacağını listeler değişiklik yapmaz.-P→ Dosya sistemlerini paralel kontrol eder.-R→ Root bölümünü hariç tutar-r→ Kontrol edilen cihazların istatistiklerini döndürür.-T→ Başlık bilgisini gizler.-t→ Belirli bir dosya sistemi türünü (ör.ext4,xfs) kontrol eder.-V→ Ayrıntılı çıktı verir.
fsck öncesi unmount gereksinimi
Bir disk bölümünü fsck ile taramak için öncelikle bölümün bağlı olmaması gerekir. Örnek:
sudo umount /dev/sdb
sudo fsck /dev/sdb
Mounted bir bölümde fsck çalıştırmak risklidir ve hataları büyütebilir. Bu nedenle önce unmount işlemi yapılmalıdır.
fsck Çıkış Kodları
Her fsck çalıştırmasından sonra belirli bir çıkış kodu döner:
- 0 → Hata yok
- 1 → Hatalar düzeltildi
- 2 → Yeniden başlatma gerekli
- 4 → Hatalar giderilemedi
- 8 → Çalışma hatası
- 16 → Sözdizimi veya kullanım hatası
- 32 → İşlem kullanıcı tarafından iptal edildi
- 128 → Paylaşılan kütüphane hatası
Bu kodlar sayesinde işlem sonucunu kolayca değerlendirebilirsiniz
Eğer çok sayıda hata varsa, her biri için onay vermek yerine fsck’nin otomatik onarım yapması sağlanabilir:
sudo fsck -y /dev/sdb
Tüm diskler için:
sudo fsck -AR -y
Burada -y parametresi, tüm hatalara otomatik olarak “yes” cevabı verir.
Kök Bölümde fsck Yapılandırması
Kök dosya sistemi bağlıyken fsck çalıştırılamaz. Bunun için iki yöntem bulunur:
Başlangıçta fsck’yi Yüklemek
sudo touch /forcefsck
sudo reboot
Sistem yeniden başlatıldığında fsck otomatik olarak çalışır. İşlem bitince dosya kaldırılmalıdır:
sudo rm /forcefsck
Kurtarma Modunda fsck Kullanımı
Sistemi yeniden başlatalım.
GRUB menüsünden Gelişmiş seçenekler → Kurtarma modunu seçelim.

Açılan menüden fsck’yi çalıştıralım.

Kontrol tamamlandıktan sonra normal önyüklemeye geçebiliriz.

Sık Sorulan Sorular
Superblock hatası nedir?
Superblock dosya sisteminin temel yapısını tutar. Bozulduğunda disk mount edilemez.
sudo fsck.ext4 -b <yedek_superblock_numarası> /dev/sdXN
Superblock numaraları dumpe2fs /dev/sdXN | grep superblock komutuyla öğrenilebilir.
fsck her açılışta otomatik çalışıyor?
Bu ayarlar /etc/fstab veya tune2fs ile kontrol edilir.
sudo tune2fs -c 30 /dev/sdXN # her 30 açılışta bir kontrol
sudo tune2fs -i 7d /dev/sdXN # her 7 günde bir kontrol
fsck “device is busy” hatası verirse ne yapılmalı?
Bu, bölümün bağlı olduğunu gösterir. Önce bölümü ayırmak gerekir:
sudo umount /dev/sdXN
Eğer root bölümü ise canlı USB veya recovery mod üzerinden işlem yapılmalıdır.
Hangi dosya sistemi için hangi araç kullanılmalı?
- Ext2/3/4 → fsck.ext4 veya e2fsck
- XFS → xfs_repair
- Btrfs → btrfs check / btrfs scrub
- FAT32 → fsck.vfat
Root bölümü nasıl kontrol edilir?
Root bağlı olduğu için normal şekilde kontrol edilemez. Bunun yerine canlı USB ile açmak ya da önyüklemede touch /forcefsck komutunu kullanarak bir sonraki başlatmada otomatik kontrol yapılmasını sağlamak gerekir.