どうも、どうも。久しぶりの更新です。
ゴタゴタが続いてたり、続いていなかったりでして。
更新するような感じのことができていません(勉強しろ)
まぁそんなどうでもいいことは置いておきまして、本題に入ります。
発端
最近、とある目的のためにWindowsPCを買いました。
中古で安く買ったのはいいのですが、ライセンス的なもので復旧用のディスクを頂けませんでした。
頂けない上にちょっとアレな感じなところもありまして・・・
とりあえず、以下でゴニョゴニョやってみました。
- Windows7に標準で搭載されているバックアップツール
- 出処不明のリカバリーディスク
結果として、どちらも失敗でした。
1はリカバーしたら古い情報も残ります。
残るだけならまだしも、色々ファイルも消えます。
2なんかは、インストールでドライバー用意しろと言われました。
なんか、ディスク起動もやたら遅いので怪しい感じ。。。
仕方ないので、ディスク換装した上に
元のドライブのデータを全て換装後のディスクにコピーして保存するようにしました。
バックアップ方法
ディスクのバックアップ方法ですが、「dd」コマンドを使用します。
このコマンドですが、「ハードディスク・パーティションを0/1の信号のママ丸ごとコピー」するものです。
注意点とすれば、以下のことでしょうか。
- ハードディスクの容量がコピー元以上であること
- コマンドで指定するディスクを間違えて指定した場合、データが消滅すること
バックアップ例
以下のような条件とします。
- ディスクサイズは、「コピー先HDD ≧コピー元HDD」の大きさとすること
- パーティションは、mountしないこと
- コピー元HDDのパス、「/dev/sdb」
- コピー先HDDのパス、/dev/sdc」
以下のコマンドで、上記のデータをコピーすることができます。
1
|
|
これで、コピーができます。 但し、完了までに数時間かかります。
さて、これでディスクからディスクにコピーすることができました。 それだけでなくバックアップ用のディスクイメージをつくることが出来ます
1
|
|
故障ディスクのコピー
上記のコマンドを使えば、故障している(ある程度読める必要がありますが)ものまでコピーできます。
まぁ強引に読んでる(読めないところは、スキップしています)だけです。
上記のコマンドに設定しているオプションは、以下の表の意味です。
オプション | 内容 |
---|---|
noerror | エラー読み飛ばし |
sync | エラー箇所をNUL(ゼロ)で埋める |
bs | byte size 読込書き出すバイトサイズ |
因みに、byte size値が大きいとコピー速度が速くなります。
但し、壊れている部分があると道連れになる部分が大きくなります。
なので、byte size値を小さくするとエラー範囲は最小になります(コピー速度が遅くなります)
転送状況の表示
ddコマンドには、転送状況を表示してくれるようなオプションはありません。
以下のように、killallコマンドのUSRオプションで途中経過を表示できます。
1
|
|
これで、どれくらいかかるか時間計算ができますね。
ディスクイメージからの復元方法
ディスクイメージのバックアップは取れましたが、ディスクイメージからの復元が必要ですね。
といっても、ここまでで大まかに理解できそうな感じがしますが・・・
1
|
|
コピー元とコピー先を入れ替えるだけですね。
ディスクの消去
復元と同じ要領で、zero埋めすれば完全フォーマットができます。
1
|
|
このコマンド本当に便利。
LinuxとかMacのディスクだけでなくって、Windowsなディスクまで丸ごとコピーできるところが素敵。
ファイル指定はできないけどw