
私はLinux(Ubuntu)を使用しており、以下に説明する方法を使用してシステムのハードドライブを別のハードドライブに複製できることを聞きました。これを新しいシステムに接続します。 (Live CDから起動する必要はありません)
システムのディスクは/dev/sda
、ルートでマウントされたパーティションは/dev/sda1
、複製された空のディスクはと仮定します/dev/sdb
。
echo u > /proc/sysrq-trigger
読み取り専用でマウントされたファイルシステムを含む、すべてのファイルシステムをルートとして再マウントします。
e2fsck -fy /dev/sda1
R / O再マウントの強制によって発生したファイルシステムエラーを修正しました。
dd if=/dev/sda of=/dev/sdb
ディスクを空のディスクに複製します。
e2fsck -fy /dev/sdb1
新しく複製されたファイルシステムを回復します。この段階では、通常、固定ブロックチェックサムを通知します。
reboot -f
システムを再起動します。この手順では、新しく複製されたディスクを切断し、新しいコンピュータに接続します。
この方法を2回試してみましたが、すべてのコンピュータでうまく動作します。しかし、それを行うと、危険なファイルシステムの問題が発生する可能性があるのではないかと心配しますか?では、なぜそうなのでしょうか?将来、ハードドライブを複製するときにこの方法を使用しないでください。
答え1
これを行う最善の方法は、ファイルシステムのLVMスナップショットを作成してから、そのスナップショットをコピーを作成するためのソースとして使用することです。これには2つの利点があります。
- 完了後にシステムを再起動する必要はありません。
- 矛盾または破損したメタデータが発生しないように、ファイルシステムを更新して同期します。
失敗した場合は、システムを再起動してコピーを作成したい場合は、完全にシャットダウンしてシングルユーザーモードで起動できます(single
grubのカーネルコマンドラインに追加した場合はro
すでに存在する必要があります)dd
。ソースディスクを対象としています。シングルユーザーモードでは、ルートパーティションはすでに読み取り専用でマウントされているため、ディスク(メタ)データの不一致はありません。
答え2
ファイルシステムの問題はよくわかりませんが、通常はrsyncを使用してハードドライブを「複製」します。これは空のファイルシステム(サイズや種類が異なる場合があります)で始まる利点があるため、コピープロセス中にすべてのファイルを最適化します。すべてを新しいディスクにコピーする前に、fetchmail / samba /私が興味のあるデータを書き込むすべてのような重要なサービスを終了して、データが失われないようにします。特定のコマンド:
rsync -axAX / /mnt/newDisk/
.これはハードリンクを維持しません。これが重要な場合は、-Hを追加する必要があります。