將具有加密 homedir 的系統移至另一個驅動器

將具有加密 homedir 的系統移至另一個驅動器

我使用的是 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 分割區,安裝這兩個分割區,然後在磁碟機之間複製資料(未加密),然後擺弄引導過程以使其解密新磁碟機?

相關內容