GNU/Linux >> Linux の 問題 >  >> Linux

再起動中に fsck を使用してルートファイルシステムを強制的にチェックする方法

ルート以外のファイルシステムで fsck を実行するのはかなり簡単です。ただし、ルート ファイルシステムの場合、マウント時に fsck を実行することはできません。

このクイック チュートリアルでは、ルート ファイルシステムのファイルシステム チェックを強制する方法について説明します。

ルート ファイル システム

この例では、/dev/sda1 パーティションは /

としてマウントされるルート ファイルシステムです。
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              63G   41G   19G  69% /

ルート ファイルシステムをチェックするために fsck を実行すると、次のエラー メッセージが表示されます。/dev/sda1 がマウントされており、マウントされたファイル システムで fsck を実行できないためです。

# fsck /dev/sda1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/sda1 is mounted.
e2fsck: Cannot continue, aborting.

ルート以外のファイル システムで fsck を実行している場合は、そのパーティションをアンマウントして fsck を実行できます。

ただし、この場合は、ルート ファイルシステムで fsck を実行したいと考えています。では、解決策は何ですか?

また、fsck を初めて使用する場合は、これを参照してください:ファイルシステムをチェックして修復するための 10 の Linux Fsck コマンドの例

再起動前の Tune2fs 出力

システムを再起動する前に、最後に fsck がルート ファイルシステムのチェックを実行したのはいつかを確認しましょう。

これには、tune2fs コマンドを使用し、以下に示すように「チェック」を grep します。

# tune2fs -l /dev/sda1 | grep -i check
Last checked:             Mon Nov 24 12:39:44 2015
Check interval:           15552000 (6 months)
Next check after:         Sun May 22 13:39:44 2016

上記の出力からわかるように:

  • 前回のチェック:ルート ファイルシステムのチェックが最後に行われた時刻を示します。これは 11 月に起こりました。
  • Check internal:ルート ファイルシステムがチェックされる頻度を示します。この例では、再起動時にこのファイルシステムで fsck が実行されるまで、さらに 6 か月待機します。
  • 次のチェック後:再起動を実行したときにファイルシステムがチェックされるまでの日付と時刻を示します。これは 5 月以降にのみ発生します。

しかし、私たちの場合、5 月まで待ちたくありません。今すぐルート ファイルシステムの fsck チェックを実行します。

/forcefsck ファイルを作成して、ルート ファイル システムを強制的にチェックする

そのため、ルート ファイルシステムのチェックを強制する簡単な方法の 1 つは、システムを再起動し、カーネルによってルート ファイルシステムがマウントされる前に、システムの起動時に fsck がファイル システムを実行するように強制することです。

再起動中に fsck を強制するには、以下に示すように、最初に / の下に forcefsck という空のファイルを作成します。

# cd /

# touch forcefsck


# ls -l /forcefsck 
-rw-r--r--. 1 root root 0 Mar  9 20:15 /forcefsck

システムを再起動します:

# reboot

再起動後の Tune2fs 出力

コンソール アクセス権がある場合、再起動中に fsck が / ファイルシステムのチェックを実行することがわかります。

チェック後、fsck は以前に作成した /forcefsck ファイルを自動的に削除します。再起動後、このファイルは表示されなくなります。

#  ls -l /forcefsck 
ls: cannot access /forcefsck: No such file or directory

ここで tune2fs を実行すると、「最終チェック」フィールドが現在のタイムスタンプで更新されていることがわかります。これにより、再起動中に fsck がルート ファイルシステム チェックを実行したことが確認されます。

# tune2fs -l /dev/sda1 | grep -i check
Last checked:             Wed Mar 09 20:30:04 2016
Check interval:           15552000 (6 months)
Next check after:         Mon Sep 05 21:30:04 2016

それに応じて「次のチェック後」の値も変更されます。つまり、システムを再起動してから 6 か月後です。


Linux
  1. 「nc」コマンドを使用してリモートポートに到達できることを確認する方法

  2. Linux –起動時にルートファイルシステムのチェック(およびオプションで修正)を強制するにはどうすればよいですか?

  3. コマンドラインを使用してLinuxを再起動する方法

  1. dfおよびduコマンドを使用してLinuxのディスク容量を確認する

  2. 起動時にルートファイルシステムのチェック (およびオプションで修正) を強制するにはどうすればよいですか?

  3. 自分のマシンに cgroup v2 がインストールされていることを確認するにはどうすればよいですか?

  1. コマンドラインを使用してLinuxをシャットダウンまたは再起動する方法

  2. Linuxでシステムの稼働時間を確認する方法

  3. ターミナルで使用しているシェルをテストする方法は?