LinuxのFsckコマンド

FSCK(File System Consistency Check)は、Linuxファイルシステムエラーをチェックおよび修復するためのコマンドラインユーティリティです。 これにより、ファイルシステムの整合性と一貫性が確保されます。

fsckはフロントエンドプログラムであり、特定のファイルシステムを実行するためにそれぞれのプログラムを呼び出します。 Fsckは通常、システムの起動に失敗した後、ファイルシステムが破損した後、または接続されたドライブが正しく機能しなくなった後に実行されます。

このチュートリアルでは、fsckコマンドと、Linuxディストリビューションでファイルシステムを修復する方法について学習します。

前提条件

  • LinuxまたはUnixライクなシステム
  • rootアクセス権を持つユーザー

fsckコマンドを使用する場合

  • システムは、通常、システムクラッシュまたは電源喪失後、またはアンクリーンアンマウント後に、システムの不整合を自動的に検出します。
  • システムの起動に失敗する
  • システムにI / Oエラーがある場合
  • 起動時または数か月ごとにファイルシステムの相互作用のためにfsckを実行するようにスケジュールします

Linuxのfsckコマンド

fsckコマンドは基本的な構文に従います。

$ sudo fsck [Option] [Filesystem]

The [Option] 構文には、fsckユーティリティで使用できるオプションがあります(fsckオプションはこのチュートリアルの最後にあります)。 The [Filesystem] デバイス、パーティション、マウントポイントなどになります。 クレデンシャルが追加されていない場合 [Filesystem]、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を実行してルートシステムファイルのエラーを修復できます。

Enter 起動メニューを表示し、再起動時に[詳細オプション]を選択します。

詳細オプションメニューから「リカバリモード」を選択し、ドロップダウンメニューから「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チェッカーコマンド(fsck.ext2、fsck.ext3、fsck.ext4など)があります。

# cd /sbin
# ls fsck*
fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.minix fsck.xfs

次の表に、fsckコマンドのすべてのオプションを示します。

オプション説明
-A/ etc / fstabにあるすべてのファイルシステムを確認してください
-Cプログレスバーを表示する
-fファイルシステムを強制的にチェックする
-lデバイスをロックする
-Mマウントされたファイルシステムをチェックしないでください
-Nアクションを実行せずに出力を印刷する
-P複数のファイルシステムを並行してチェックする
-pユーザーの操作を必要とせずに安全に解決できる問題を自動的に修復します
-R-Aとともに使用する場合は、ルートファイルシステムをチェックしないでください
-rチェックされた各デバイスの統計を出力します
-Tタイトルを表示しない
-tチェックするファイルシステムの種類を指定します(これは、 man 指図)
-v詳細な出力を提供する
-Yすべての質問に「はい」と仮定します

fsckオプション

fstabは、パーティションをマウントする方法と場所をオペレーティングシステムに指示するファイルです。 / etc / fstabで開くと、fstabファイル内のエントリのリストを見つけることができます。

オプションは、再起動中にファイルシステムチェックが実行される順序を指定します。 値が0の場合、チェックされません。 値が1の場合、ファイルシステムは一度に1つずつチェックされますが、値が2の場合、すべてのファイルシステムが同時に検索されます。 ルートファイルシステムの値は1であり、チェックする他のすべてのファイルシステムの値は2である必要があります。

サンプル/ 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のマニュアルページ より完全な説明については。