Partitionnement et copie de fichiers - pendant l'exécution
Je l'ai fait en commençant par le système en cours d'exécution. J'ai branché le nouveau SSD dans un adaptateur USB SATA et l'ai partitionné, configuré LVM et copié les fichiers.
# confirm disk size is as expected for sdc
sudo fdisk -l /dev/sdc
# now partition - 500 MB partition as boot, the rest as a single (logical) partition
sudo cfdisk /dev/sdc
Votre disque devrait maintenant ressembler à:
sudo fdisk -l /dev/sdc
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sda1 * 63 979964 489951 83 Linux
/dev/sda2 979965 234441647 116730841+ 5 Extended
/dev/sda5 980028 234441647 116730810 82 Linux swap / Solaris
L'étape suivante consiste à mettre le chiffrement sur la partition et LVM au-dessus du chiffrement.
sudo cryptsetup -y luksFormat /dev/sdc5
sudo cryptsetup luksOpen /dev/sdc5 crypt
sudo vgcreate crypt-lvm /dev/mapper/crypt
sudo lvcreate -L4G -nswap crypt-lvm
sudo lvcreate -l100%FREE -nroot crypt-lvm
Maintenant, créez les systèmes de fichiers, montez-les et copiez votre système.
sudo mkfs.ext2 /dev/sdc1
# you do ls /dev/mapper to check the name if different
sudo mkfs.ext4 /dev/mapper/crypt-root
sudo mkdir /mnt/boot
sudo mkdir /mnt/root
sudo mount -t ext2 /dev/sdc1 /mnt/boot
sudo mount -t ext4 /dev/mapper/crypt-root /mnt/root
# rsync files
sudo rsync -a /boot/* /mnt/boot/
sudo rsync -aHAX --devices --specials --delete --one-file-system --exclude proc --exclude run --exclude boot --exclude sys --exclude tmp /* /mnt/root/
Jusqu'à ce point, vous pouvez maintenir le système en marche et l'utiliser. Vous devez maintenant arrêter et démarrer sur un CD / USB en direct afin que vous puissiez mettre le système dans un état d'arrêt.
Partitionnement et copie de fichiers - Live CD / USB
Une fois que vous avez démarré, ouvrez un terminal et:
sudo apt-get install lvm2
# mount old hard drive
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo mkdir /mnt/sdaroot
# you can do ls /dev/mapper to check the name if it is different
sudo mount -t ext4 /dev/mapper/sda5_crypt--root /mnt/sdaroot
# mount new hard drive (over USB)
sudo cryptsetup luksOpen /dev/sdc5 sdc5_crypt
sudo mkdir /mnt/sdcroot
sudo mount -t ext4 /dev/mapper/sdc5_crypt--root /mnt/sdcroot
# final rsync
sudo rsync -aHAX --devices --specials --delete --one-file-system --exclude proc --exclude run --exclude boot --exclude sys --exclude tmp /mnt/sdaroot/* /mnt/sdcroot/
chroot
# prepare chroot
cd /mnt/sdcroot
sudo mkdir boot
# these directories are set up by the system and we need them inside the chroot
sudo mount -t proc proc /mnt/sdcroot/proc
sudo mount -t sysfs sys /mnt/sdcroot/sys
sudo mount -o bind /dev /mnt/sdcroot/dev
# now enter the chroot
sudo chroot /mnt/root/
Modification des UUID
Maintenant, nous sommes root dans le chroot et exécutons les commandes suivantes:
# inside chroot, as root
mount -t ext2 /dev/sdc1 /boot
blkid
Vous verrez maintenant tous les UUID des différents disques du système. Vous devrez modifier les UUID dans /etc/fstab
et /etc/crypttab
faire correspondre les valeurs de/dev/sdc?
En /etc/fstab
vous devez utiliser l'UUID pour le disque de démarrage - /dev/sdc1
si vos disques ont la même lettre que moi.
Dans, /etc/crypttab
vous devez utiliser l'UUID pour l'autre (grande) partition - /dev/sdc5
si vos disques ont la même lettre que moi.
initramfs et grub
# now update initramfs for all installed kernels
update-initramfs -u -k all
# install grub and ensure it is up to date
grub-install /dev/sdc # NOTE sdc NOT sdc1
update-grub
# hit Ctrl-D to exit chroot
sudo umount /mnt/root
Maintenant, arrêtez, placez le SSD dans votre ordinateur portable, croisez les doigts et démarrez.
Liens utiles
Bon guide pour les trucs cryptsetup sur http://www.debian-administration.org/articles/577
Pour installer grub sur une partition externe: /programming/247030/how-to-set-up-grub-in-a-cloned-hard-disk
https://help.ubuntu.com/community/UsingUUID