Thông thường đĩa được chia thành 3 partition: boot (label system-boot), OS (label writable) và data. Partition OS và data có thể sao chép dữ liệu dễ dàng sang các partition tương ừng ở ổ đĩa mới bằng cách dùng rsync từ đĩa Ubuntu đang chạy.
:~# lsblk
sda 8:0 0 250G 0 disk
├─sda1 8:1 0 250M 0 part /boot/firmware
├─sda2 8:2 0 40G 0 part /
└─sda3 8:3 0 210G 0 part /mnt
sdb 9:0 0 500G 0 disk
├─sdb1 9:1 0 200M 0 part
├─sdb2 9:2 0 40G 0 part
└─sdb3 9:3 0 460G 0 part
# Sao chép file
:~# mount /dev/sdb2 /media
:~# rsync -avx --delete / /media
:~# umount /media
Riêng partition boot thì không thể vì khi boot xong thì Ubuntu đã di dời các file hệ thống sang thư mục con firmware và thay bằng các symlink và các file hệ thống khác ở thư mục gốc.
Vì vậy chỉ có thể sync từ một thẻ SD card/USB mới và không tham gia khởi động, sau đó tạo boot từ USB cho ổ đĩa mới. Dung lượng tối thiểu cho partition boot là 200MB.
:~# lsblk
sda 8:0 0 250G 0 disk
├─sda1 8:1 0 250M 0 part /boot/firmware
├─sda2 8:2 0 40G 0 part /
└─sda3 8:3 0 210G 0 part /mnt
sdb 9:0 0 500G 0 disk
├─sdb1 9:1 0 200M 0 part
├─sdb2 9:2 0 40G 0 part
└─sdb3 9:3 0 460G 0 part
sdc 32:0 0 29.8G 0 disk
├─sdc1 32:1 0 250M 0 part
└─sdc2 32:2 0 29.6G 0 part
sdc là thẻ nhớ không tham gia khởi động nên sdc1 chưa bị thay đổi. Sao chép file sang sdb1:
:~# mkdir -p /media/{boot,new}
:~# mount /dev/sdc1 /media/boot
:~# mount /dev/sdb1 /media/new
:~# rsync -avx --delete /media/boot/ /media/new
:~# umount /media/boot
:~# umount /media/new
:~# rmdir /media/{boot,new}
Cuối cùng tạo khởi động từ USB cho sdb.
Update:
Một cách khác để sao chép boot từ ổ đĩa khởi động: mount partition khởi động chứ không dùng thư mục /boot, sau đó sync sang partition mới.
Chú thích
Nếu tạo bản sao cho đĩa với mục đích làm đĩa dự phòng, sync lại khi cần, tốt nhất là tạo PARTUUID cho giống với đĩa gốc. Có thể làm điều này với fdisk.
:~# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): x # nhập x để vào expert menu
Expert command (m for help): i # nhập i để thay đổi identifier của đĩa
Enter the new disk identifier: 0x13579bdf # phải có 0x dẩn đầu
Disk identifier changed from 0x02468ace to 0x13579bdf.
Expert command (m for help): r # nhập r để trở về menu chính
Command (m for help): w # nhập w để ghi vào MBR
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.