การแบ่งพาร์ติชันและการคัดลอกไฟล์ - ขณะกำลังทำงาน
ฉันทำสิ่งนี้โดยเริ่มจากระบบที่ทำงานอยู่ ฉันเสียบ SSD ใหม่เข้ากับอะแดปเตอร์ USB SATA แล้วแบ่งพาร์ติชันตั้งค่า LVM และคัดลอกไฟล์ข้าม
# 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
ตอนนี้ดิสก์ของคุณควรมีลักษณะดังนี้:
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
ขั้นตอนต่อไปคือการเข้ารหัสลับบนพาร์ติชันและ LVM ที่ด้านบนของการเข้ารหัส
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
ตอนนี้ทำระบบไฟล์และติดตั้งและคัดลอกระบบของคุณ
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/
จนถึงจุดนี้คุณสามารถให้ระบบทำงานและใช้งานได้ ตอนนี้คุณต้องปิดเครื่องและบู๊ตเป็น CD / USB สดเพื่อที่คุณจะได้ระบบอยู่ในสถานะปิดระบบ
การแบ่งพาร์ติชั่นและการคัดลอกไฟล์ - CD / USB สด
เมื่อคุณบู๊ตแล้วให้เปิดเทอร์มินัลและ:
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/
การเปลี่ยน UUID
ตอนนี้เราเป็นรูทภายใน chroot และรันคำสั่งต่อไปนี้:
# inside chroot, as root
mount -t ext2 /dev/sdc1 /boot
blkid
ตอนนี้คุณจะเห็นUUIDทั้งหมดสำหรับดิสก์ต่างๆในระบบ คุณจะต้องแก้ไข UUID ใน/etc/fstab
และ/etc/crypttab
เพื่อให้ตรงกับค่าสำหรับ/dev/sdc?
ใน /etc/fstab
คุณจำเป็นต้องใช้ UUID สำหรับดิสก์ - /dev/sdc1
ถ้าดิสก์ของคุณมีตัวอักษรเดียวกับผม
ใน /etc/crypttab
คุณต้องใช้ UUID สำหรับพาร์ติชันอื่น (ใหญ่) - /dev/sdc5
ถ้าดิสก์ของคุณมีตัวอักษรเดียวกับฉัน
initramfs และด้วง
# 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
ตอนนี้ปิดเครื่องใส่ SSD ในแล็ปท็อปของคุณข้ามนิ้วของคุณและบูตขึ้น
ลิงค์ที่มีประโยชน์
คำแนะนำที่ดีสำหรับสิ่ง cryptsetup ที่http://www.debian-administr.org/articles/577
สำหรับการติดตั้งด้วงบนพาร์ติชันภายนอก: /programming/247030/how-to-set-up-gr-grub-in-a-cloned-hard-disk
https://help.ubuntu.com/community/UsingUUID