我使用的是 debian (squeeze),我的用户主目录 (/home/storm,20GB) 已使用 cryptsetup 加密。我的目标是安全地从 80gb 硬盘迁移到新的 60gb 固态硬盘。如您所见,目标磁盘较小,因此简单的 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 分区,安装两者,然后在驱动器之间复制数据(未加密) - 然后摆弄启动过程以使其解密新驱动器?