合計初心者。その場でfsckについて少し学ぶことはできますが、私がこれまでに見つけたことは、それを適用してもあまり効果がないようです。起動時に発生するエラーを修復するためのこのプロンプトからの次のステップは何ですか?
S.M.A.R.T.情報を確認してください。このリンクによれば、ディスクエイリアスgnome-disks
を使用すると簡単です。
マルウェアがブートセクタを破損した後、ハードドライブを再フォーマットします-「ディスクハードウェアが破損している可能性があります」までスクロールします
(1)のボタンでS.M.A.R.T.を選択し、(2)で全体的な評価を確認します。
ext4
ファイルシステムでfsck
を実行しますext4
ファイルシステムでfsck
を使用する場合、別のドライブから起動し、ファイルシステムをアンマウントします。
Sudo e2fsck -f /dev/sdxn
ここで、xはデバイス文字、nはパーティション番号です。スクリーンショットによると、/dev/sda1
です。
このコマンドを2回実行すると役立つ場合があります。ファイルシステムが修復できないほど損傷している場合があります。
不良セクタがある場合があります(ドライブ上のハードウェアの欠陥)。次に、次のコマンドを使用して、不良セクタにマークを付けます(システムにそれらを回避させます)。
Sudo e2fsck -cfk /dev/sdxn
マニュアルを参照
man e2fsck
詳細、およびファイルシステムの修復に関するその他のヒントについては、次のリンクを参照してください。
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_Ct
の0
フィールドに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