DD を使用して古いドライブから新しいドライブにデータを移行するにはどうすればよいですか?

DD を使用して古いドライブから新しいドライブにデータを移行するにはどうすればよいですか?

ノートパソコンの内蔵 SATA ハード ドライブを 40G ドライブから 160G ドライブにアップグレードしています。SATA カードを搭載した Linux/Ubuntu デスクトップを持っています。実際に職場の CentOS と FreeBSD ボックスでも同じことをしたいのですが、同じ解決策があるようです。

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

誰かこれをどうやってやるのか説明してもらえますか?他のユーティリティなどが必要ですか?gparted

答え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

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

あなたはとても空のディスクを正常なディスクの上にコピーするのは非常に簡単なので注意してください。

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

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

hdx40G ディスクはどこにあり、hdyは 160G ディスクです。 のようなパーティション番号がないことに気付くでしょう/dev/hdx1。 これにより、ディスク全体、パーティション情報などすべてがコピーされます。

新しいディスクは古いディスクと同じように 40G 割り当てられます。ラップトップに戻すとすぐに起動するはずです。LVM を使用したでしょうか? そうでなければ、すべてのパーティションを使用していないでしょうか? このポイントを通過するには、さらに多くの情報が必要です。

もう 1 つの解決策は、個々のパーティションをダンプすることです。この場合、ブート情報を再作成する必要があるため、より多くの状況認識が必要になります。

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

答え3

あなたができるdd を使用してこのようにディスクをコピーすると、いくつかの欠点が生じます。

  1. 宛先はソースとまったく同じサイズかそれより大きくなければなりません
  2. コピー後、追加のスペースを使用するためにパーティションのサイズを変更する必要があります。
  3. 空き領域をコピーするのに時間を無駄にする
  4. 古いディスクに存在する断片化は保存されます

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

答え4

ddでどうやってやるかと聞かれましたが、私は出力をパイプする方がうまくいきました。ごみの中へ復元する情報源によると広告そしてターゲット広告:

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

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

関連情報