我使用的是 debian (squeeze),而我的用戶 homedir (/home/storm, 20GB) 使用 cryptsetup 進行了加密。我的目標是安全地從 80GB HDD 遷移到新的 60GB SSD。正如您所看到的,目標磁碟較小,因此簡單的 dd'ing 是不行的。
關於移動整個系統的最佳方法有什麼建議嗎?謝謝!
事情是這樣的:
# 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) 少 20Gs = 41G,然後將資料 rsync 到對應的資料夾,最後 chroot 到新磁碟複製資料夾並將grub 安裝到新磁碟,對嗎?如果是,那麼在複製/檔案系統時我應該使用 rsync 的哪些鍵? (我相信我需要跳過 /dev,也許 /proc 等等,不太確定)
答案1
看一看這裡關於縮小 LUKS 分區的交流。關鍵是縮小檔案系統,然後運行 cryptsetup resize 來縮小它。
或者,為什麼不簡單地在新磁碟機上建立一個新的 LUKS 分割區,安裝這兩個分割區,然後在磁碟機之間複製資料(未加密),然後擺弄引導過程以使其解密新磁碟機?