Sprawdzanie systemu plików: fsck

Z openSUSE wiki

fsck to narzędzie do sprawdzania integralności systemu plików.

Spis treści


Obsługiwane systemy plików

Obsługiwane systemy plików przez fsck można sprawdzić komendą ls /sbin/fsck*:

ls /sbin/fsck*
/sbin/fsck  /sbin/fsck.cramfs  /sbin/fsck.ext2  /sbin/fsck.ext3  /sbin/fsck.ext4  /sbin/fsck.ext4dev  /sbin/fsck.jfs  /sbin/fsck.minix  /sbin/fsck.reiserfs  /sbin/fsck.xfs

W powyższym przykładzie będą to następujące systemy plików:

  • cramfs
  • ext2
  • ext3
  • ext4
  • ext4dev
  • minix
  • reiserfs
  • xfs

Przykładowe użycie

Komenda fdisk -l pokazuje dostępne partycje w systemie:

# fdisk -l

Dysk /dev/sda: 320.1 GB, bajtów: 320072933376
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 38913, w sumie sektorów: 625142448
Jednostka = sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x0007b40b

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sda1              63     4209029     2104483+  82  Linux swap / Solaris
/dev/sda2   *     4209030    46154744    20972857+  83  Linux
/dev/sda3        46154745   625137344   289491300   83  Linux

Jeżeli chcemy sprawdzić jakie dyski są zamontowane możemy to sprawdzić poleceniem df -l:

# df -l
System plików      bl.  1K B        użyte dostępne %uż. zamont. na
rootfs                20641788   6449036  13144112  33% /
devtmpfs               1021092       228   1020864   1% /dev
tmpfs                  1027520      4364   1023156   1% /dev/shm
/dev/sda2             20641788   6449036  13144112  33% /
/dev/sda3            284948380 141366292 129107524  53% /home

Dla przykładu sprawdzimy partycję zamontowaną w /home wykrywaną jako urządzenie /dev/sda3. Aby przystąpić do sprawdzenia dysku musimy jednak najpierw odmontować dysk:

# umount /home

A następnie wydać komendę fsck /dev/sda3 (lub fsck -p /dev/sda3) w celu szybkiego sprawdzenia dysku:

# fsck /dev/sda3
 fsck from util-linux-ng 2.16
 e2fsck 1.41.9 (22-Aug-2009)
 HITACHI: clean, 3724/122101760 files, 36039961/488378000 blocks

lub wydać komendę fsck -c /dev/sda3 w celu gruntownego sprawdzenia dysku:

# fsck -c /dev/sda3
 fsck from util-linux-ng 2.16
 e2fsck 1.41.9 (22-Aug-2009)
 Checking for bad blocks (read-only test): 100% DONE

Sprawdzony dysk możemy zamontować ponownie:

# mount /home

Pomoc dostępna jest pod komendą:

# fsck --help
 fsck from util-linux-ng 2.16
 fsck.ext4: invalid option -- 'h'
 Usage: fsck.ext4 [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
                  [-I inode_buffer_blocks] [-P process_inode_size]
                  [-l|-L bad_blocks_file] [-C fd] [-j external_journal]
                  [-E extended-options] device
 Emergency help:
 -p                   Automatic repair (no questions)
 -n                   Make no changes to the filesystem
 -y                   Assume "yes" to all questions
 -c                   Check for bad blocks and add them to the badblock list
 -f                   Force checking even if filesystem is marked clean
 -v                   Be verbose
 -b superblock        Use alternative superblock
 -B blocksize         Force blocksize when looking for superblock
 -j external_journal  Set location of the external journal
 -l bad_blocks_file   Add to badblocks list
 -L bad_blocks_file   Set badblocks list

Wymuszenie sprawdzenia partycji przy starcie systemu

Partycje, których nie można łatwo i szybko odmontować (np.: /dev/sda2 - "/"), można sprawdzić przy starcie systemu.


Aby wymusić sprawdzenie dysku przy starcie systemu należy wydać komendę w konsoli :

# tune2fs -c 1 /dev/sda2

Komenda ta ustawia sprawdzanie partycji /dev/sda2 przy każdym uruchomieniu systemu.

Po sprawdzeniu należy przywrócić rzadsze sprawdzanie partycji:

# tune2fs -C 60 -i 30 /dev/sda2

Ustawia sprawdzanie partycji co 60 montowań lub co 30 dni w zależności od tego co wystąpi pierwsze.