DDを使用して既存のドライブから新しいドライブにデータを移行する方法は?

DDを使用して既存のドライブから新しいドライブにデータを移行する方法は?

私のラップトップの内部SATAハードドライブを40Gドライブから160Gドライブにアップグレードしています。 SATAカードを搭載したLinux / Ubuntuデスクトップがあります。私は実際に仕事でいくつかのCentOSとFreeBSDシステムで同じことをしたいと思います。このシステムにも同じ解決策があるようです。

使えると聞いたけどDD40Gパーティションを160Gドライブにミラーリングするか、40Gパーティションをローカルシステムにイメージとして保存してから、その40Gイメージを160Gドライブにコピーできます。

誰でも私がどのようにできるかを説明できますか?他のユーティリティが必要ですか?割れた

答え1

一般的に、私は「外部シェルを使用して2番目のハードドライブを接続し、Linux CDから起動し、次のコマンドを使用するのと同じ解決策を提案しますが、dd if=/dev/sda of=/dev/sdb bs=1G同じ技術を使用したいので、おそらくより良い解決策があります。 。

私のサーバーとラップトップの両方が職場で使用されています。クローン属。これを使用する方法は2つあります。 1つは少し過剰な専用サーバーを使用し、もう1つは起動可能なCDと外付けハードドライブを使用します。

Clonezilla CDから起動し、より大きな(ソースドライブよりも大きい)外部USBドライブを持つのがアイデアです。 Clonezillaは既存のドライブのイメージを作成するプロセスを案内し、システムの電源を切り、ドライブを交換してからClonezillaで再起動してデータを回復するプロセスを案内します。

これにより、A) イメージを大きなドライブに保存し、B) データのバックアップを維持できます。

答え2

最初の作業は、2つのディスクを既存のLinuxシステムに接続するか、新しいディスクを元のシステムに接続することです。

あなたはする必要があります非常に空のディスクを良いディスクにコピーするのはとても簡単ですので注意してください!

最後に、ブートセクタとすべてを取得するには、次のようにします。

dd if=/dev/hdx of=/dev/hdy

hdx40Gディスクはどこにあり、hdy160Gディスクはどこにありますか?のようなパーティション番号がないことがわかります/dev/hdx1。ディスク全体、パーティション情報などがコピーされます。

新しいディスクには、既存のディスクと同じ40Gが割り当てられます。ラップトップに戻すとすぐに起動します。 LVMを使ってみましたか?それ以外の場合は、すべてのパーティションを使用していないと思いますか?このポイントを渡るには、より多くの情報が必要です。

別の解決策は、個々のパーティションをダンプすることです。開始情報を再生成する必要があるため、状況認識がさらに必要です。

これらはすべてハードドライブをアップグレードするのではなく、コンピュータを複製するのに最適です。バックアップを使用して新しいインストールに復元する方がはるかに優れています。

答え3

できるddを使用してディスクをコピーすると、次のような多くの欠点があります。

  1. ターゲットは、ソースと正確に同じサイズまたは大きい必要があります。
  2. コピー後に追加のスペースを使用するには、パーティションのサイズを変更する必要があります。
  3. 空き領域をコピーするのに時間を無駄にします。
  4. 古いディスクに存在するすべての断片化は維持されます。

数字2と3は、少なくともGhost4Linux、partclone、またはClonezillaなどのイメージングプログラムを使用して処理できます。また、単に新しいディスクをフォーマットしてマウントし、ルート権限ですべてのcp -axファイルをコピーしてから、新しいドライブにブートローダを再インストールすることもできます。この方法には上記の欠点はありません。

答え4

ddでこれを行う方法を尋ねた場合は、出力をパイピングする方が成功しました。ダンプ入力するまた覆う。ソースを見ると広告1s1aそして目標広告2s1a:

$ mount /dev/ad2s1a /target
$ cd /target
$ dump -0Lauf - /dev/ad1s1a  | restore -rf -

私はこれをFreeBSDで試して実際に実行しました。FreeBSDフォーラム

関連情報