私は Debian (squeeze) を使用しており、ユーザーのホームディレクトリ (/home/storm、20 GB) を cryptsetup で暗号化しています。私の目標は、80 GB HDD から新しい 60 GB SSD に安全に移行することです。ご覧のとおり、ターゲット ディスクのサイズは小さいため、単純に dd を実行するだけでは不十分です。
システム全体を移動する最善の方法についてアドバイスはありますか? ありがとうございます!
状況は次のようになります:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 9,2G 2,1G 6,7G 24% /
tmpfs 1,6G 0 1,6G 0% /lib/init/rw
udev 1,6G 180K 1,6G 1% /dev
tmpfs 1,6G 1,5M 1,6G 1% /dev/shm
/dev/sda1 61G 22G 36G 38% /home
/dev/mapper/home 19G 1,3G 17G 8% /home/storm
# fdisk -l /dev/sda
Disk /dev/sda: 80.0 GB, 80025280000 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1704 9730 64467968 83 Linux
/dev/sda2 2 488 3905536 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 * 488 1704 9765888 83 Linux
適切なアプローチは、新しいディスクを古いディスクとほぼ同じようにパーティション分割し、/home (/dev/sda1) を 20G 少なくして 41G にし、データを対応するフォルダーに rsync し、最後に新しくコピーしたフォルダーに chroot して、新しいディスクに grub をインストールすることだと思いますが、正しいでしょうか? そうであれば、/ ファイルシステムをコピーするときに rsync にどのキーを使用すればよいですか? (/dev をスキップする必要があると思いますが、/proc などが必要になるかもしれません。よくわかりません)
答え1
見てみましょうここLUKS パーティションを縮小する方法についての交換。重要なのは、ファイルシステムを縮小してから、cryptsetup resize を実行して縮小することです。
あるいは、新しいドライブに新しい LUKS パーティションを作成し、両方をマウントして、ドライブ間でデータ (暗号化されていない) をコピーし、ブート プロセスを操作して新しいドライブを復号化してみてはいかがでしょうか。