
FSCK(File System Consistency Check)は、Linuxファイルシステムエラーをチェックおよび修復するためのコマンドラインユーティリティです。これにより、ファイルシステムの整合性と一貫性が確保されます。
fsckはフロントエンドプログラムであり、特定のファイルシステムを実行するためにそれぞれのプログラムを呼び出します。 Fsckは通常、システムの起動に失敗した後、ファイルシステムが破損した後、または接続されたドライブが正しく機能しなくなった後に実行されます。
このチュートリアルでは、fsckコマンドと、Linuxディストリビューションでファイルシステムを修復する方法について学習します。
前提条件
- LinuxまたはUnixライクなシステム
- rootアクセス権を持つユーザー
fsckコマンドを使用する場合
- システムは、通常、システムクラッシュや電源喪失後、またはアンクリーンアンマウント後に、システムの不整合を自動的に検出します。
- システムの起動に失敗する
- システムにI/Oエラーがある場合
- 起動時または数か月ごとにファイルシステムの相互作用のためにfsckを実行するようにスケジュールします
Linuxのfsckコマンド
fsckコマンドは基本的な構文に従います。
$ sudo fsck [Option] [Filesystem]
構文の[Option]は、fsckユーティリティで使用できるオプションです(fsckオプションはこのチュートリアルの最後にあります)。 [ファイルシステム]には、デバイス、パーティション、マウントポイントなどがあります。 [ファイルシステム]にクレデンシャルが追加されていない場合、fsckはfstabファイルにリストされているデバイスをチェックします。
fsckは、すべてのLinuxディストリビューションにデフォルトで含まれています。適切なバックアップをとることは、fsckコマンドを実行するための安全なポイントです。 fsckはすべてのファイルをそのまま保持し、ファイルシステムの整合性のみをチェックします。このコマンドは手動または自動で実行できます。
ファイルシステムをチェックまたは修復する前に、必ずパーティションをアンマウントしてください。これを行わないと、ファイルシステムが損傷する可能性があります。
ファイルシステムエラーの確認と修復
Fsckは通常、破損したext3またはext4ファイルシステムのエラーを修復するために使用されます。 fsckユーティリティを使用するには、最初にパーティションがアンマウントされていることを確認する必要があります。パーティションをアンマウントせずにfsckコマンドを実行しようとすると、エラーが発生し、プロセスが中止されます。プロセスが完了したら、ファイルシステムを再度マウントできます。
デバイス名がわからない場合は、dfコマンド、lsblk、またはfdisk(fdisk -l)を使用してデバイス名を見つけてください。
$ sudo df -h
unmountコマンドを使用して、ファイルシステムに損傷を与えないようにします。
構文:
$ sudo umount [filesystem]
-pオプションをfsckユーティリティと一緒に使用すると、ユーザーの介入なしに安全に解決できる問題を自動的に修復できます。
構文:
$ sudo fsck -p [Filesystem]
例:
$ sudo umount /dev/sdc
$ sudo fsck -p /dev/sdc
出力:
$ sudo fsck -p /dev/sdc
fsck from util-linux 2.34
exfatfsck 1.3.0
Checking file system on /dev/sdc.
File system version 1.0
Sector size 512 bytes
Cluster size 128 KB
Volume size 55 GB
Used space 4 MB
Available space 55 GB
Totally 1 directories and 3 files.
File system checking finished. No errors found.
チェックと修復が終わったら、必ずディスクをマウントしてください。
ルートファイルシステムエラーの修復
ルートマシンをアンマウントできないため、Fsckはエラーをチェックできません。ただし、fsckはリカバリモードで実行できます。
レスキューモードでマシンを再起動すると、fsckを実行できます。次の手順を使用して、fsckを実行してルートシステムファイルのエラーを修復できます。
起動メニューに入り、再起動時に[詳細オプション]を選択します。

詳細オプションメニューから[リカバリモード]を選択し、ドロップダウンメニューから[fsck]を選択します。

/ファイルシステムを再マウントするかどうかを尋ねるメッセージウィンドウがポップアップ表示されます。 [はい]オプションを選択します。

[再開]オプションを選択すると、通常のブートに戻ることができます。


fsckオプション
特定の目的のためにfsckユーティリティで利用できるオプションのリストがあります。便利なfsckオプションのいくつかは次のとおりです。
1.fsckドライランを実行します-これはテスト実行を実行します。
fsck -N /dev/sdc
2.非対話的に実行します-すべての質問に「はい」と答えます。これにより、すべてのプロンプトが回避されます
fsck -y /dev/sdc
3.修復せずにfsckエラーをStdoutに出力するだけです
fsck -n /dev/sdc
4.すべてのファイルシステムでfsckを実行します
fsck -AR
-Rは、実行中のマシンにマウント解除できないため、ルートファイルシステムをスキップします
5.特定のファイルシステムに対してfsckを実行します
fsckコマンドはラッパーであり、それぞれのファイルシステムチェッカーコマンド(fsck.*
)を内部的に使用します。 )。 fsck.ext2、fsck.ext3、fsck.ext4などの次のさまざまなfsckチェッカーコマンドを見つけることができます。
# cd /sbin
# ls fsck*
fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.minix fsck.xfs
次の表に、fsckコマンドのすべてのオプションを示します。
オプション | 説明 |
-A | / etc/fstabに存在するすべてのファイルシステムを確認します |
-C | プログレスバーを表示する |
-f | ファイルシステムを強制的にチェックする |
-l </ td> | デバイスをロックする |
-M | マウントされたファイルシステムをチェックしないでください |
-N | アクションを実行せずに出力を印刷する |
-P | 複数のファイルシステムを並行してチェックする |
-p | ユーザーの操作を必要とせずに安全に解決できる問題を自動的に修復します |
-R | -Aとともに使用する場合はルートファイルシステムをチェックしないでください |
-r | チェックされた各デバイスの統計を印刷する |
-T | タイトルを表示しない |
-t | チェックするファイルシステムタイプを指定します(これはman を使用して実行できます コマンド) |
-v | 詳細な出力を提供する |
-y | すべての質問に「はい」と仮定します |
fstabは、パーティションをマウントする方法と場所をオペレーティングシステムに指示するファイルです。 / etc / fstabで開くと、fstabファイル内のエントリのリストを見つけることができます。
サンプルの/etc/ fstabファイル:
<filesystem> <mount point> <type> <options> <dump> <pass>
/dev/sda / ext4 errors=remount-ro 0 1
/dev/sdb none swap sw 0 0
/dev/sdc /mnt/data ext4 defaults,noatime,nofail 0 2
結論
このチュートリアルでは、fsckコマンドを使用してLinuxのファイルシステムをチェックおよび修復する方法を学習しました。より完全な説明については、fsckのマニュアルページを参照してください。