Linuxでfsckコマンドを使用するには?

fsckコマンド(ファイルシステムの整合性チェック)は、Linuxファイルシステムをチェックして修復するユーティリテ ジャーナリングを備えた最新のファイルシステムは、fsckのようなツールが容易に必要とされないように設計されています。 しかし、いくつかのケースでは、fsckが’悪い’ファイルシステムを修復する唯一のオプションかもしれません。

fsckは、破損しているか、残りのfilesytemと矛盾しているパーティションで実行できます。

fsckが必要になる理由

  • 不浄なシャットダウン-これは腐敗の主な原因です。
  • ドライブの障害または破損が正常に起動されない場合があります

目次

fsck

を使用しない環境このコマンドはファイルシステムのセクターと直接動作するため、ここで必要な予防措置を講じることが重要です。

e2fsckのmanページは言う:

マウントされたファイルシステム上でe2fsckを実行するのは一般的に安全ではないことに注意してください。 唯一の例外は、-nオプションが指定されていて、-c、-l、または-Lオプションが指定されていない場合です。 ただし、安全であっても、ファイルシステムがマウントされている場合、e2fsckによって出力される結果は有効ではありません。 E2fsckがマウントされているファイルシステムをチェックすべきかどうかを尋ねた場合、唯一の正解は”いいえ”です。

https://www.man7.org/linux/man-pages/man8/e2fsck.8.html

そのため、マウントされていないパーティションでfsckを実行する必要があります。 9725>を使用してパーティションをアンマウントできる場合は、まあ良いです。 それ以外の場合は、環境を変更する必要があります:

1. リカバリモード

(UBUNTU–HoldSHIFT起動中にGRUBに入るために、’Ubuntuの詳細オプション’を選択し、’リカバリモード’というラベルのオプションを選択し、fsckを選択します)。 回復モードでは、パーティションがマウントされます。

リカバリモードFsck
リカバリモードfsck
リカバリモードfsck

2. Init=/bin/bashカーネルパラメータ

を使用しているとき(起動中にSHIFTを押したままGRUBに入り、eを押してカーネルパラメータを編集します)。 これは、fsckを実行できるbashシェルを提供しますが、ここでもパーティションがマウントされます。

Initカーネルパラメータ
Initカーネルパラメータ

fsckコマンドの使用方法は?

基本を明確にした上で、Linuxでfsckコマンドを使用する方法の手順に移りましょう。

1.

の基本的な使い方コマンドの使用を開始する前に、マウントされていないパーティションで作業していることを確認してください。 パーティションをアンマウントしてからfsckを実行するには、次のように入力します :

$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>

パーティションをアンマウントできない可能性があります。 その場合は、次のいずれかの方法を選択できます。

2. ライブUSB

を使用してfsckを実行するこれはおそらくfsckを実行する最良の方法です。 それはfdiskのような使い慣れたツールの豊富なセットを提供します。 ライブUbuntu USBを作成するには、このチュートリアルを使用します。 この部分では、ライブUSBからLinuxを実行していることを前提としています。

システム上のすべてのパーティションを一覧表示するには、fdiskコマンドを使用できます。

$ sudo fdisk -l
Nvmeパーティション
NVMe SSDパーティション
Sata Ssdパーティション
SATA SSDパーティション

注:上記のパーティション(2つのSsd、1つのNVMeおよび他のSATAの場合)は、システム上のパーティションとは異なる場合があります。 fdiskは、パーティションに関する詳細情報も出力します。 ただし、この資料の目的のために、パーティションの名前で十分です。

問題の原因となっているパーティションを特定し、単純に実行します:

$ fsck /dev/<partition_name>

これで問題が解決するはずです。

3. Initramfs

の使用fsckコマンドを使用する別の方法は、intramfsモードでの使用です。 に入るにはinitramfs

  1. GRUBメニューに入るために起動中にSHIFTキーを押したままにします。
  2. eを押してブートエントリを編集します
  3. 以下のスクリーンショットに示すように、カーネルパラメータを’break‘として追加します
  4. Ctrl - Xを押して保存して終了します
Initramfsに入る
Initramfsに入る

initramfs トラブルシューティングの”あまり魅力的な”方法を提供します。

パーティションはinitramfsにマウントされていないので、fsckを実行するのは安全です。 また、パーティションの名前も必要です。 ただし、Initramfsは最低限のユーティリティを提供します。 だからfdiskは利用できません。 以下に示すように、catコマンドを使用してパーティションを一覧表示できます:

$ cat /proc/partitions

パーティションを識別し、実行します:

$ fsck /dev/<partition_name>
Initramfs Fschk
Initramfs Fsck

注:ライブUSBを使用したfsckは、常に利用可能ではない場合があります。 このような場合はinitramfsメソッドを使用します。

fsckがスケジュールされているかどうかを確認する方法

パーティションが最後にいつチェックされたのか、またはいつ将来チェックされるのかを知りたいかもしれません。 その場合は、実行します:

$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
Fsckのチェック1
Fsckのチェック
  • 最大マウント数は、ファイルシステムがfsckによって自動的にチェックされるまでのマウント数です。
  • Check intervalは、二つのファイルシステムのチェックの間の時間です。

これらの2つの値は、fsckコマンドが最後に実行された時刻を識別するのに十分です。

fsckとe2fsck

の違いe2fsckまたはfsckを実行するように求めるさまざまな回答/記事を見つけることができます。fsckではなくext4。 これらのツールのいずれかをfsckの代わりに実行すると、どのような違いがありますか?

fsckは、上記の2つのようなファイルシステム固有のfsckコマンドのフロントエンドにすぎません(ラッパーと言えば)。 fsckを呼び出すと、正しいファイルシステム固有のfsckが自動的に呼び出されます。 私たちのシステム上にあるすべてのfsckを見てみましょう:

$ ls -l /sbin/fsck*
異なるFsck
すべてのfsckを一覧表示します

ext2/3/4パーティションでfsckを実行すると、それぞれの/sbin/fsck.ext* 実行可能ファイルが実行されます。 これらの実行可能ファイルは、e2fsck実行可能ファイルへのハードリンクです。 したがって、ext4パーティションでfsckを実行しても、最終的にはe2fsckが実行されます。

まとめ

このチュートリアルでは、ファイルシステムの回復に便利なツールであるfsckについて説明しました。 fsckコマンドの詳細については、そのmanページを参照してください。

Leave a Reply