HDDが冗長性(CRC)エラーで読めない!Windowsで認識されなくなった!そんな時の復旧方法。
2019年に試した方法ですので現在はもっと良い方法があるかもしれません。
具体的な方法だけ手っ取り早く知りたい方はこちら。
破損してからでは遅いケースが多いので、日頃からのバックアップをおすすめします。
事前に準備しておくもの
事前準備をする場合は別のPCで行うか、問題があるHDDを外してから行います。
- Ultimate Boot CD
- Download UBCDよりISOイメージをダウンロード
- 光学メディアに書き込み(約700MBなのでCD-Rで可能です)
- BIOSやUEFIにてCDドライブから起動するよう設定
- 電源OFF
機器の接続
ここからは問題のあるHDDと救助したいデータを移す新しいHDDを接続して行います。
破損のある可能性があるHDD(A)…バックアップ元
(A)よりも大容量の新しいHDD(B)…バックアップ先
- (A)(B)それぞれをSATA接続(転送速度の関係上USB接続などはしない方が無難)
- 誤指定防止のために極力関係のないHDDは接続しない
データ復旧
1.CDドライブから起動
2.「Parted Magic」を選択
3.「Default setting」を選択
4.左上「File Manager」からディスクの番号を確認
例)/dev/sda、/dev/adb など
5.タスクバー左下ターミナル(黒いディスプレイに$_と書いてあるアイコン)をクリック
6. 4で確認したドライブ名、ログファイル作成先と共にコマンド入力後Enter
・初回
$sudo ddrescue -f -n -v /dev/(A:元) /dev/(B:先) (logfile.log)
・2回目
$sudo ddrescue -f -d -r1 -v /dev/(A) /dev/(B) (logfile.log)
(例)
・初回
$sudo ddrescue -f -n -v /dev/sda /dev/adb /media/System/ddrescue/rescue.log
・2回目
$sudo ddrescue -f -d -r1 -v /dev/sda /dev/adb /media/System/ddrescue/rescue2.log
【コマンドラインの意味】
-d ダイレクトアクセス(キャッシュを介さずにアクセス)
-f 出力先に対して強制的に上書き(必須)
-n リードエラーを無視
-r$ 不良セクタの読み込み試行回数
(-r1なら一回、r2なら2回。-r-1指定は読み出せるまで無限回試行)
-v 詳細表示
【ログファイル】
ログを残しておくと中断や再試行の際にリジューム可能。指定しておくべき。
例)/media/System/ddrescue/rescue.log など。Windowsでも読める場所が便利。
【中断】
コピーを中断したい場合は、「Ctrl」キー+「C」キー
日頃からのバックアップ大事(2回言った)。
参考にさせていただいたサイト
「ddrescue」の使い方 – PCと解
故障してそうなディスクからデータを取り出す方法(ddrescue) – Qiita