web-dev-qa-db-ja.com

ブート前またはリブート時にルートファイルシステムをfsckする方法

本日、Linux Mint 17.3 Cinnamonを実行しているデスクトップステーションを調べ、Ext4ファイルシステムでルートパーティションのファイルシステムチェックを次のように実行しました。

# fsck.ext4 -fn /dev/sdb2

問題は、すべてのコンピューターで次のようなものが表示されることです。

e2fsck 1.42.9 (4-Feb-2014)
Warning!  /dev/sdb2 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
Pass 1: Checking inodes, blocks, and sizes
Deleted inode 524292 has zero dtime.  Fix? no

Inodes that were part of a corrupted Orphan linked list found.  Fix? no

Inode 524293 was part of the orphaned inode list.  IGNORED.
Inode 524294 was part of the orphaned inode list.  IGNORED.
Inode 524299 was part of the orphaned inode list.  IGNORED.
Inode 524300 was part of the orphaned inode list.  IGNORED.
Inode 524301 was part of the orphaned inode list.  IGNORED.
Inode 524302 was part of the orphaned inode list.  IGNORED.
Inode 524310 was part of the orphaned inode list.  IGNORED.
Inode 524321 was part of the orphaned inode list.  IGNORED.
Inode 524322 was part of the orphaned inode list.  IGNORED.
Inode 524325 was part of the orphaned inode list.  IGNORED.
Inode 2492565 was part of the orphaned inode list.  IGNORED.
Inode 2622677 was part of the orphaned inode list.  IGNORED.
Inode 2622678 was part of the orphaned inode list.  IGNORED.
Inode 2883748 was part of the orphaned inode list.  IGNORED.
Inode 2884069 was part of the orphaned inode list.  IGNORED.
Inode 2885175 was part of the orphaned inode list.  IGNORED.
Pass 2: Checking directory structure
Entry 'Default_keyring.keyring' in /home/vlastimil/.local/share/keyrings (2495478) has deleted/unused inode 2498649.  Clear? no

Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Unattached inode 2491790
Connect to /lost+found? no

Pass 5: Checking group summary information
Block bitmap differences:  -(34281--34303) -11650577 -(11650579--11650580) -11650591 -(11650594--11650595) -(13270059--13270073) -(13272582--13272583) -(20542474--20542475) +(26022912--26023347) -(26029568--26030003)
Fix? no

Free blocks count wrong (14476802, counted=14476694).
Fix? no

Inode bitmap differences:  -(524292--524294) -(524299--524302) -524310 -(524321--524322) -524325 +2491790 -2492565 -2498649 -(2622677--2622678) -2883748 -2884069 -2885175
Fix? no

Free inodes count wrong (7371936, counted=7371916).
Fix? no


/dev/sdb2: ********** WARNING: Filesystem still has errors **********

/dev/sdb2: 443232/7815168 files (0.1% non-contiguous), 16757502/31234304 blocks

私が試したこと:

# touch /forcefsck

これにより、起動時に2〜3秒続くチェックが行われます。明らかに何も修理していません。

それはおそらく、私のルートファイルシステムが何とかクリーンなためです。

# fsck.ext4 -n /dev/sdb2

e2fsck 1.42.9 (4-Feb-2014)
Warning!  /dev/sdb2 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sdb2: clean, 443232/7815168 files, 16757502/31234304 blocks

ブート時のファイルシステムチェックでSudo touch /forcefsck以外のものがほとんど見つからないため、次の手順を試しました。

  1. echo u > /proc/sysrq-trigger
  2. umount /dev/sdb2
  3. fsck -fy /dev/sdb2

これは、エラーなしでfsckを再度実行したことを確認するために、修復されたことを示していました。しかし、再起動すると元に戻ります。私は今混乱しています。 「フラッシュドライブを作成して、そこから起動する」などの指示はしないでください。一部のフラッシュドライブから起動せずに、再起動時または再起動前に解決策が必要です。ありがとうございました。

4

まず、マウントされたファイルシステムをfsckするのはexpectedでエラーが発生します。ジャーナルが再生されていないため(または完全にアンマウントされていないため)、ファイルシステムに一貫性がなく、他の変更と同様にファイルシステムが破損するため、ジャーナルを再生できません。 LVMを使用している場合は、スナップショットを取り、そのスナップショットをfsckできます。

SSDを使用している場合、fsckはかなり高速になります。また、tune2fs -Cを使用して、マウントカウントを最大値(dumpe2fs -hから取得できる)よりも高く設定することもできます。

touch /forcefsck動作するはずです

編集者のメモ:

  1. touch /forcefsckは機能しません。

  2. 非常に明確な証拠と解決策については この答えを参照してください。

3
derobert

Linux Mint 17.3はUbuntu 14.04に基づいています。

fsckドライブを使用できる標準のリカバリメニューを試すことをお勧めします。

Ubuntu recovery menu

Mint 18.3からのステップバイステップガイド。このバージョンはUbuntu 16.04に基づいているため、少し異なる場合があります。

  1. GRUBメニューでLinux Mintの詳細オプションを選択...

  2. あなたは3つのオプションで迎えられ、そのうちの1つは最後に(回復モード)を持っています、これを選択してください。

  3. これで、fsckというタイトルのオプションと説明が表示されます。

    すべてのファイルシステムをチェックする

0
Hai Luong Dong