Tôi khuyên bạn nên sử dụng dd trên cả hai máy tính, như thế này:
Đầu tiên, loại bỏ dữ liệu cũ và xóa các tệp bằng cách viết các số không trên toàn bộ không gian trống trong phân vùng đó:
dd if=/dev/zero of=/mnt/original_partition/zerofile bs=16M conv=fdatasync
Lệnh này sẽ dừng lại, khi không còn chỗ trống trên phân vùng. Sau đó, loại bỏ zerofile:
rm /mnt/original_partition/zerofile
Bây giờ bạn chỉ có dữ liệu mong muốn của mình trên phân vùng ở cấp nhị phân, do đó việc nén sẽ dễ dàng hơn. Bây giờ, tạo một hình ảnh nhị phân của phân vùng của bạn. Sử dụng fdisk -l để xem định danh phân vùng là gì (hãy tạo nó / dev / sdb5 trong ví dụ này) và sử dụng mã định danh đó trong lệnh tiếp theo. Lưu ý rằng trong ví dụ này tôi đang sử dụng pigz thay vì gzip. Pigz đang triển khai song song gzip và giúp thao tác nhanh hơn bằng cách sử dụng tất cả các lõi của hệ thống:
dd if=/dev/sdb5 bs=16M | pigz | dd of=/path/to/backup/storage/sdb5.img.gz bs=16M conv=fdatasync
Bây giờ bạn có một hình ảnh nhị phân nén của phân vùng. Chuyển nó sang máy khác. Bây giờ bạn phải chuẩn bị phân vùng của mình bằng cách sử dụng fdisk (fdisk rất đơn giản để sử dụng). Làm cho phân vùng lớn như cần thiết và ghi các thay đổi vào đĩa. Hãy nói rằng, bạn vừa tạo phân vùng / dev / sdb3.
Bây giờ, sử dụng lệnh sau để giải nén hình ảnh nhị phân của bạn và ghi nó vào phân vùng mới:
dd if=/path/to/backup/storage/sdb5.img.gz bs=16M | pigz -d | dd of=/dev/sdb3 bs=16M conv=fdatasync
Sau khi hoàn thành lệnh này, bạn sẽ có thể gắn kết phân vùng đã sao chép bằng lệnh mount:
mount /dev/sdb3 /mnt/copied-partition/
Xin lưu ý kích thước phân vùng - nó phải lớn nhất bằng kích thước ban đầu.