現在、Linuxシステムを別のノートブックにコピー/複製したいと思います。近いうちに現在のシステムがシャットダウンし、すべてのLinux設定、ツール、ファイル構造が失われるのではないかと心配されるからです。
私は聞いたことがありますが、rsync
このツールが実際に私が望むように動作するかどうかはわかりません。主な部分はインストールです。スナップ写真私の現在のLinuxを別のコンピュータに。
答え1
最も簡単な方法
最も簡単な方法は、古いディスクと新しいディスクが接続されているマシンのライブインストールから起動し、データの一括コピーを使用することですcat
。たとえば、既存のディスクは/dev/sdo
あり、新しいディスクは/dev/sdn
(デバイス名が正しいことを確認してください。古いディスクにコピーすると、データが失われます!):
cat /dev/sdo >/dev/sdn
これは、新しいディスクが少なくとも既存のディスクと同じ大きさであると仮定します。次に、新しいディスクのパーティションを拡張し、必要に応じて塗りつぶします。
より多くの制御を与えるいくつかの方法
新しいディスクが大きい場合は、まずパーティションテーブルを作成してから各パーティションをコピーすることをお勧めします(例cat /dev/sdo1 >/dev/sdn1
:)。スワップパーティションをスキップして呼び出すことができますmkswap
(例mkswap /dev/sdn1
:)。ファイルシステムのコピー後にターゲットパーティションが大きい場合は、拡張されたサイズの利点を利用するには、一致するようにファイルシステムを拡張する必要があります(ext4ファイルシステムが含まれているresize2fs /dev/sdn1
場合)。/dev/sdn1
または、すべてのファイルをコピーしてパーティションをコピーすることもできます。ターゲットパーティションにファイルシステムを作成し、ソースパーティションと新しいパーティション(たとえば、/media/old
それぞれ/media/new
)をマウントして実行する必要があります。
cp -ax /media/old /media/new
これは、含まれているファイルの数によっては、元のパーティションをコピーするよりも遅いまたは速くなる可能性があります。
ディスクを一括コピーしない場合は、新しいディスクにブートローダをインストールする必要があります。これを行う一般的な方法は、たとえば新しいインストールをインストールして/media/new
実行することです。
chroot /media/new
grub-install /dev/sdn
ただし、これはブートローダとディスク構成によって異なります。おそらく最も痛みが少ないもう1つの方法は、可能であればディストリビューションインストーラで「ブートローダの復元」オプションを使用することです。
コピーが完了した後
以下の手順に従ってください。 Linuxインストールを新しいコンピュータに移動するインストールを異なる方法で作成します。そうしないと、以前のインストールを引き続き使用する際に問題が発生する可能性があります。
答え2
rsync は scp のように動作し、ネットワーク接続を介して小さなファイルをコピーします。ハードドライブを取り出して新しいコンピュータの外部に使用し、そこから複製する方がはるかに簡単になります。つまり、この特定の目的に最適なツールはおそらくtarとsshです。なぜなら、rsyncとscpが実行する個々のファイルチェックを防ぐからです。
tar -c /path/to/dir | ssh remote_server 'tar -xvf - -C /absolute/path/to/remotedir'