すべての設定/インストールされたソフトウェアを保存するために、障害が発生したシステム ディスクをクローンするにはどうすればよいですか?

すべての設定/インストールされたソフトウェアを保存するために、障害が発生したシステム ディスクをクローンするにはどうすればよいですか?

内部に 320GB SATA HDD がありますが、故障の兆候 (コピー中のエラー、SMART ステータスなど) が見られます。別の内部 HDD があるので、そこにデータを移行したいと考えています。現在の設定は次のとおりです。

OS: Ubuntu 14.04
/dev/sda --> 故障したドライブ
/dev/sda1 --> マウント済み / ~20GB 50% 空き
/dev/sda2 --> マウント済み swap ~5GB
/dev/sda3 --> マウント済み /home/user ~250GB 80% 空き

すべてのデータを新しいドライブにコピーするにはどのような手順に従うべきか説明してもらえますかLinuxを再インストールしてすべてを再構成する必要がないようにゼロから?

ティア

答え1

ddを使うことができます

# dd if=/dev/sda of=/path/to/dump.bin bs=8M

これは /dev/sda のイメージを dump.bin として作成します。"bs" はブロック サイズを指し、基本的には dd が一度に読み書きする量を意味します。処理速度を上げるには、ある程度大きなブロック サイズが必要になります。

新しいハードドライブを入手したら、次のコマンドを使用してイメージをダンプすることができます(新しいドライブが /dev/sdb であると仮定)

# dd if=/path/to/dump.bin of=/dev/sdb bs=8M

これにより、基本的に新しいドライブは古いドライブのバイト単位のクローンになります。また、新しいドライブのデータはすべて永久に消去されることに注意してください。

ただし、新しいドライブは少なくともイメージと同じサイズである必要があります。

このコマンドをgzipやbzip2などの圧縮ツールと組み合わせて圧縮することもできます。これにより、大幅に圧縮されます。

ハードドライブが故障している場合、読み取り(または書き込み)中にエラーが発生した場合、この方法は機能しない可能性があります。

また、ディスク全体をコピーするのが難しい場合は、代わりに /dev/sda1 (システム ファイルを含む) のみのダンプを作成し、/home ファイルをファイルごとにコピーしてみることもできます。その後、新しいドライブでパーティション レイアウトを手動で再作成し、ファイルを適切なパーティションにダンプすることができます。

関連情報