web-dev-qa-db-ja.com

ネットワーク経由でディスクをクローン

ラップトップのドライブを別のドライブにクローンする必要があります。

それらはM.2 PCIeドライブであるため、ラップトップを開こうとしても、現在それらのUSBコネクタを見つけることができません。

したがって、ソースを外部ドライブにイメージ化し、そのイメージを新しいコンピューターで再生する必要があります。

ほぼ1テラバイトのデータに対してこれを行うには、かなり時間がかかります。また、画像用の領域も見つける必要があります。

イメージの中間コピーを作成せずに、ネットワーク経由でソースラップトップをターゲットラップトップに複製するにはどうすればよいですか?両方のラップトップでUSBから起動できます。

4
Mark Canada

イメージのストレージを見つける必要はありません。LinuxLive CD(またはUSBスティック)をロードし、netcatを使用するだけです。

セットアップが完了して準備ができているコンピューターで、次のコマンドを実行します。

Sudo dd if=${SOURCE_DISK} bs=4M | gzip | nc -l 27015

次に、イメージを受け取り、クローンになるコンピューターで、次のコマンドを実行します...(私は義務に注意する必要があると思います)これによりすべてのデータが破壊されます

nc ${IP_OF_SERVER} 27015 | gzip -d | Sudo dd of=${DEST_DISK} bs=4M

ここで、${SOURCE_DISK}${DEST_DISK}は、関連するディスクと交換する必要があります(例:/dev/sdaまたは/dev/nvme0n1)。

さらに、${IP_OF_SERVER}を最初のコンピューターのIPに置き換える必要があります。

これにより、2つのM.2ドライブ間でデータが直接転送されます。


ボーナスポイントについては、ソースddpvに置き換えて、進行状況を監視できます...または、ddインスタンスにSIGUSR1を送信して、貧乏人のアップデート。


ノート:

  • これは、(指定されていない)OSに加える必要のある変更についてはカバーしていません... Windowsはアクティベーションについてうるさく、Linuxはネットワークインターフェイスなどについて懐かしいかもしれません...
  • ターゲットのSSDがソースよりも小さい場合、この基本的なアプローチは適していません。
  • 特定のパーティションのみに関心がある場合は、サイズを確認し、デバイス名にp1/p2 /などのサフィックスを使用します。
4
Attie