はじめに

ここでは、HDDの内容を同一容量のHDDに丸ごとコピーする方法、およびHDDの内容をファイルとして保存する方法を説明します。

なお、HDDの内容を実際に他のHDDに丸ごとコピーする際には、コピーするHDDからOSを立ち上げるより、FreeSBIEKNOPPIX(FreeBSDじゃないけど…)などの、CD-ROMから起動できてHDDを必要としないOSを利用することをお勧めします。

いずれもISOイメージをダウンロードしてきてCD-Rに焼いてやれば、ブート可能なCD-Rを作成可能です。

HDDからHDDへ丸ごとコピー

この処理を行うにはroot権限が必要です、予め「su」等でユーザをrootに変更してください。
rootになった後、「dd」を利用し、HDD上のデータを同一容量のHDDに丸ごとコピーします。

同一容量のHDDへのコピー
$ dd if=/dev/ad2 of=/dev/ad3 bs=16M

はじめの「if=/dev/ad2」の部分には、入力元(コピー元)のデバイスを、「of=/dev/ad3」には、出力先(コピー先)のデバイスを指定してください。
「bs=16M」の部分はデータの転送単位であるブロックサイズを指定します、読み込みおよび書き込みに掛かる時間を削減するため、利用可能なメモリ量に合わせ、多めに取るようにしてください。

上記の例では、Secondary-Masterに接続されたHDDの内容をSecondary-Slaveに接続されたHDDにブロックサイズ16MBでコピーします。

HDDの内容をファイルへコピー

やり方は「HDDからHDDへ丸ごとコピー」とほぼ同じです。
「dd」を利用し、出力先をファイルに指定します。

別HDDのファイルシステム上へのHDDのイメージファイルの作成
$ dd if=/dev/ad2 of=./image.dat bs=16M

言うまでもないことですが、出力先に入力元のHDD容量以上の十分な空きが必要です。

上記の例では、Secondary-Masterに接続されたHDDの内容をカレントのimage.datファイルにブロックサイズ16MBでコピーします。

HDDイメージファイルの内容をHDDに書き戻す

今度は「HDDの内容をファイルへコピー」の逆をやるだけです。
「dd」を利用し、入力元をイメージファイルに、出力先をHDDに指定します。

HDDイメージファイルのHDDへの書き戻し
$ dd if=./image.dat of=/dev/ad2 bs=16M

上記の例では、カレントのimage.datファイルの内容をSecondary-Masterに接続されたHDDにブロックサイズ16MBでコピーします。

注意事項

「dd」はデータ転送中に何の表示も行いませんが心配しなくて大丈夫、ちゃんと動いています。
大容量HDDの転送には非常に時間がかかりますので、気長に待って下さい。
HDDや利用するIDEインターフェースの性能にも依りますが、40GBクラスのHDDでは全コピーに大体30分〜60分程度の時間が掛かります。

いずれの場合も「dd」の入力元と出力先を間違えないように気をつけてください。
入力元と出力先を間違えて逆さまにしてしまうと…データは永遠に失われてしまいます。

HDDの内容を同容量のHDDに完全にコピーした場合でも、HDD内部のOSシステムが必ずしも正常に起動するとは限りません。
WindowsXP等のOSでは、HDDの管理領域に書き込まれたシリアルナンバー等を見てOS自体のアクティベーションを行うものがあります。
こういったケースでは、コピーしたHDDからシステムを起動させたりしない方が安全です。

ここで紹介した方法は、入力元の出力先のサイズが厳密に一致している場合のみ有効です。
HDDからHDDへのコピーの場合、出力先(コピー先)の容量が入力元(コピー元)の容量より大きい場合でも、HDD内部に記録されたシステムを利用可能な場合もありますが、あまりお勧めできません。

各種スクリプト

このページで紹介した方法をすぐに利用可能なシェルスクリプトにまとめてみました。
コピー/リストア時に必要な一連の処理が追加されていますので、ご利用ください。
尚、コピー/リストア完了時にシステムをシャットダウンするようになっていますので、システムのシャットダウンが不要な場合にはシェルスクリプトを適宜修正してください。

「HDDからHDDへ丸ごとコピー」するシェルスクリプト
「HDDの内容をファイルへコピー」するシェルスクリプト
「HDDイメージファイルの内容をHDDに書き戻す」シェルスクリプト


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。