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を選択します)。 回復モードでは、パーティションがマウントされます。
2. Init=/bin/bashカーネルパラメータ
を使用しているとき(起動中にSHIFT
を押したままGRUBに入り、e
を押してカーネルパラメータを編集します)。 これは、fsck
を実行できるbashシェルを提供しますが、ここでもパーティションがマウントされます。
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
注:上記のパーティション(2つのSsd、1つのNVMeおよび他のSATAの場合)は、システム上のパーティションとは異なる場合があります。 fdiskは、パーティションに関する詳細情報も出力します。 ただし、この資料の目的のために、パーティションの名前で十分です。
問題の原因となっているパーティションを特定し、単純に実行します:
$ fsck /dev/<partition_name>
これで問題が解決するはずです。
3. Initramfs
の使用fsckコマンドを使用する別の方法は、intramfsモードでの使用です。 に入るにはinitramfs
- GRUBメニューに入るために起動中に
SHIFT
キーを押したままにします。 e
を押してブートエントリを編集します- 以下のスクリーンショットに示すように、カーネルパラメータを’
break
‘として追加します Ctrl - X
を押して保存して終了します
initramfs
トラブルシューティングの”あまり魅力的な”方法を提供します。
パーティションはinitramfsにマウントされていないので、fsck
を実行するのは安全です。 また、パーティションの名前も必要です。 ただし、Initramfsは最低限のユーティリティを提供します。 だからfdisk
は利用できません。 以下に示すように、catコマンドを使用してパーティションを一覧表示できます:
$ cat /proc/partitions
パーティションを識別し、実行します:
$ fsck /dev/<partition_name>
注:ライブUSBを使用したfsckは、常に利用可能ではない場合があります。 このような場合はinitramfsメソッドを使用します。
fsckがスケジュールされているかどうかを確認する方法
パーティションが最後にいつチェックされたのか、またはいつ将来チェックされるのかを知りたいかもしれません。 その場合は、実行します:
$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
- 最大マウント数は、ファイルシステムがfsckによって自動的にチェックされるまでのマウント数です。
- Check intervalは、二つのファイルシステムのチェックの間の時間です。
これらの2つの値は、fsckコマンドが最後に実行された時刻を識別するのに十分です。
fsckとe2fsck
の違いe2fsckまたはfsckを実行するように求めるさまざまな回答/記事を見つけることができます。fsckではなくext4。 これらのツールのいずれかをfsck
の代わりに実行すると、どのような違いがありますか?
fsck
は、上記の2つのようなファイルシステム固有のfsckコマンドのフロントエンドにすぎません(ラッパーと言えば)。 fsck
を呼び出すと、正しいファイルシステム固有のfsck
が自動的に呼び出されます。 私たちのシステム上にあるすべてのfsck
を見てみましょう:
$ ls -l /sbin/fsck*
ext2/3/4パーティションでfsck
を実行すると、それぞれの/sbin/fsck.ext*
実行可能ファイルが実行されます。 これらの実行可能ファイルは、e2fsck
実行可能ファイルへのハードリンクです。 したがって、ext4パーティションでfsck
を実行しても、最終的にはe2fsck
が実行されます。
まとめ
このチュートリアルでは、ファイルシステムの回復に便利なツールであるfsck
について説明しました。 fsck
コマンドの詳細については、そのmanページを参照してください。
Leave a Reply