web-dev-qa-db-ja.com

FSCKは、ファイルシステムにまだエラーがあることを報告します-どうすればよいですか?

合計初心者。その場でfsckについて少し学ぶことはできますが、私がこれまでに見つけたことは、それを適用してもあまり効果がないようです。起動時に発生するエラーを修復するためのこのプロンプトからの次のステップは何ですか?

fsck reports that filesystem still has errors - manual fsck required

7
Cssulliv

スマート。 HDDおよびSSDの情報

S.M.A.R.T.情報を確認してください。このリンクによれば、ディスクエイリアスgnome-disksを使用すると簡単です。

マルウェアがブートセクタを破損した後、ハードドライブを再フォーマットします-「ディスクハードウェアが破損している可能性があります」までスクロールします

(1)のボタンでS.M.A.R.T.を選択し、(2)で全体的な評価を確認します。

enter image description here

ext4ファイルシステムでfsckを実行します

ext4ファイルシステムでfsckを使用する場合、別のドライブから起動し、ファイルシステムをアンマウントします。

Sudo e2fsck -f /dev/sdxn

ここで、xはデバイス文字、nはパーティション番号です。スクリーンショットによると、/dev/sda1です。

このコマンドを2回実行すると役立つ場合があります。ファイルシステムが修復できないほど損傷している場合があります。

不良セクタがある場合があります(ドライブ上のハードウェアの欠陥)。次に、次のコマンドを使用して、不良セクタにマークを付けます(システムにそれらを回避させます)。

Sudo e2fsck -cfk /dev/sdxn

マニュアルを参照

man e2fsck

詳細、およびファイルシステムの修復に関するその他のヒントについては、次のリンクを参照してください。

ペンドライブのパーティションテーブルとファイルシステムを修復する

11
sudodus

HDDに不良ブロックがあるか、機能していないのではないかと心配しています。次のメッセージが表示されます:blk_update_request: I/O error, dev sda, sector 2048?つまり、物理デバイスからこのセクターを読み取ることは不可能です。

LiveCDから起動し、次の方法でドライブを確認する必要があります。

$ Sudo smartctl -HA /dev/sda

SMART overall-health self-assessment test result: PASSEDを確認し、行Reallocated_Sector_Ct0フィールドにRAW_VALUEを含める必要があります。

SMARTセルフテストがPASSEDの場合、badblocksツールを使用してbadblocksを「再マップ」できます。

$ Sudo badblocks -svo ~/msg.log /dev/sda

次の後にfsckを実行します。

$ Sudo fsck -a /dev/sda1

SMARTセルフテストがFAILEDの場合、HDDを交換する必要があります。

PS:これらのすべての手順は、LiveCDセッションから行う必要があります。そして、/dev/sdaをドライブに交換する必要があります。

[11.11.2017]の更新:だから私はbadblocksで古いHHDの1つをチェックし、syslogにこれらのメッセージを持っています:

Nov 10 13:46:55 router kernel: [  121.339691] ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Nov 10 13:46:55 router kernel: [  121.339702] ata2.01: BMDMA stat 0x64
Nov 10 13:46:55 router kernel: [  121.339711] ata2.01: failed command: READ DMA
Nov 10 13:46:55 router kernel: [  121.339726] ata2.01: cmd c8/00:08:58:64:00/00:00:00:00:00/f0 tag 0 dma 4096 in
Nov 10 13:46:55 router kernel: [  121.339726]          res 51/40:00:5b:64:00/00:00:00:00:00/f0 Emask 0x9 (media error)
Nov 10 13:46:55 router kernel: [  121.339733] ata2.01: status: { DRDY ERR }
Nov 10 13:46:55 router kernel: [  121.339738] ata2.01: error: { UNC }
Nov 10 13:46:55 router kernel: [  121.364282] ata2.00: configured for UDMA/100
Nov 10 13:46:55 router kernel: [  121.380287] ata2.01: configured for UDMA/100
Nov 10 13:46:55 router kernel: [  121.380327] sd 1:0:1:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Nov 10 13:46:55 router kernel: [  121.380337] sd 1:0:1:0: [sdb] tag#0 Sense Key : Medium Error [current] [descriptor] 
Nov 10 13:46:55 router kernel: [  121.380346] sd 1:0:1:0: [sdb] tag#0 Add. Sense: Unrecovered read error - auto reallocate failed
Nov 10 13:46:55 router kernel: [  121.380355] sd 1:0:1:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 64 58 00 00 08 00
Nov 10 13:46:55 router kernel: [  121.380361] blk_update_request: I/O error, dev sdb, sector 25691
Nov 10 13:46:55 router kernel: [  121.380369] Buffer I/O error on dev sdb, logical block 3211, async page read
Nov 10 13:46:55 router kernel: [  121.380410] ata2: EH complete

そのため、I/Oエラーに関するすべてのメッセージはカーネルから送信されました。私が見つけた最も興味深いことは、この行にあります:

Nov 10 13:46:55 router kernel: [  121.380346] sd 1:0:1:0: [sdb] tag#0 Add. Sense: Unrecovered read error - auto reallocate failed

私が理解しているように、それはディスクのファームウェアからのデコードされたメッセージです。ファームウェアが読み取りエラーを検出し、セクターの再割り当てを試みて失敗したようです。したがって、この場合、badblocksはすべてのセクターを読み取ること以外は何もしていなかったため、dd if=/dev/sdX of=/dev/nullに置き換えることができました。

そして今、私はsudodusに完全に怒っています。最も適切なソリューションは次のとおりです。

Sudo e2fsck -cfk /dev/sdxn
7
Evgeniy Yanuk