SMART機能でエラーが検出されました。
というメッセージが出てしまった。
毎回このメッセージが表示されるので、HDDが逝ってしまう前にデータの一部をバックアップした。1.5TBもあるドライブだし、全部のデータのバックアップは時間がかかり過ぎてする気にならない。一部のファイルのバックアップでも半日くらいは使ったと思う。
バックアップが済んだところで、CrazyDiskInfoで見てみた。
端末を開いて sudo crazy
何だかヤバそうなので、修復を試みる。
端末を開いて、smartctlでドライブをチェックする。
smartmontoolsが入っていなければ入れる。
sudo apt install smartmontools
sudo smartctl -A /dev/sdd
smartctlからチェックするとドライブの状態を確認できる。これは、先のCrazyDiskInfoと同じ内容だ。その後、修復を試みる。修復と言ってもHDDが直る訳ではなく、不具合のある不良セクタを無視するように設定するだけで、壊れかけたHDDの状況は変わらない。壊れるのも時間の問題なので、読み込み不可になる前にデータを救出バックアップするくらいしか出来ない。
fsckのオプションを入れて修復してみる。この作業も半日程度かかった。
smartの見方は、
5 Reallocated_Sector_Ct 代替処理済みセクタ数
197 Current_Pending_Sector 代替処理保留中セクタ数
198 Offline_Uncorrectable 代替不能セクタ数
見るのは生の数値。
不良セクタの検出
sudo badblocks -vs -o badblocks.txt /dev/sdd
不良セクタの修復
sudo e2fsck -y -l badblocks.txt /dev/sdd (不良セクタを使用しないようにマーキングする)
上記の2つのコマンドをまとめて実行
sudo fsck -t -y -f -c /dev/sdd
数時間かけて修復を試みたが、エラーを修復することは出来ませんでした。PCから問題のあるHDDを外して対処しました。HDD自体はまだ動く様なので、中のファイルが必要な時に一時的に繋いでファイルを吸い出すようにします。
CrazyDiskInfoのパッケージ
https://drive.google.com/open?id=1fUItFlmx4feUPwEPKZy0JLbQWKFWEhBc