Nó phụ thuộc vào việc hình ảnh đĩa là hình ảnh đĩa đầy đủ, hay chỉ là một phân vùng.
Rửa (các) phân vùng
Nếu đĩa trong tình trạng hoạt động tốt, bạn sẽ nén tốt hơn nếu bạn rửa không gian trống trên đĩa bằng số không. Nếu đĩa bị lỗi, bỏ qua bước này.
Nếu bạn đang chụp toàn bộ đĩa thì bạn sẽ muốn rửa từng phân vùng trên đĩa.
LƯU Ý: Hãy cẩn thận, bạn muốn thiết lập of
một tập tin trong phân vùng gắn kết, không phân vùng riêng của mình!
mkdir image_source
sudo mount /dev/sda1 image_source
dd if=/dev/zero of=image_source/wash.tmp bs=4M
rm image_source/wash.tmp
sudo umount image_source
Tạo một hình ảnh phân vùng
mkdir image
sudo dd if=/dev/sda1 of=image/sda1_backup.img bs=4M
Trong trường hợp sda
là tên của thiết bị, và 1
là số phân vùng. Điều chỉnh phù hợp cho hệ thống của bạn nếu bạn muốn hình ảnh một thiết bị hoặc phân vùng khác.
Tạo một hình ảnh toàn bộ đĩa
mkdir image
sudo dd if=/dev/sda of=image/sda_backup.img bs=4M
Trong trường hợp sda
là tên của thiết bị. Điều chỉnh phù hợp cho hệ thống của bạn nếu bạn muốn hình ảnh một thiết bị khác.
Nén
Tạo một hình ảnh "squashfs" có chứa hình ảnh không nén đầy đủ.
sudo apt-get install squashfs-tools
mksquashfs image squash.img
Truyền nén
Để tránh tạo một tệp tạm thời riêng kích thước đầy đủ của đĩa, bạn có thể truyền phát thành hình ảnh squashfs.
mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root dd if=/dev/sda bs=4M'
Gắn một hình ảnh phân vùng nén
Đầu tiên gắn hình ảnh squashfs, sau đó gắn hình ảnh phân vùng được lưu trữ trong hình ảnh squashfs được gắn kết.
mkdir squash_mount
sudo mount squash.img squash_mount
Bây giờ bạn đã gắn hình ảnh nén, gắn chính hình ảnh (đó là bên trong hình ảnh squashfs)
mkdir compressed_image
sudo mount squash_mount/sda1_backup.img compressed_image
Bây giờ hình ảnh của bạn được gắn dưới compressed_image
.
EDIT: Nếu bạn chỉ muốn khôi phục hình ảnh đĩa vào một phân vùng tại thời điểm này (thay vì gắn nó để duyệt / đọc nội dung), chỉ cần dd
hình ảnh ở squash_mount/sda1_backup.img
đích đến thay vì thực hiện mount
.
Gắn hình ảnh đĩa nén
Điều này đòi hỏi bạn phải sử dụng một gói gọi là kpartx. kpartx cho phép bạn gắn các phân vùng riêng lẻ trong một hình ảnh đĩa đầy đủ.
sudo apt-get install kpartx
Đầu tiên, gắn kết phân vùng bị nén của bạn có chứa hình ảnh đĩa đầy đủ
mkdir compressed_image
sudo mount squash.img compressed_image
Bây giờ bạn cần tạo thiết bị cho từng phân vùng trong ảnh đĩa đầy đủ:
sudo kpartx -a compressed_image/sda_backup.img
Điều này sẽ tạo ra các thiết bị cho các phân vùng trong hình ảnh đĩa đầy đủ trong /dev/mapper/loopNpP
đó N là số được gán cho thiết bị loopback và P là số phân vùng. Ví dụ : /dev/mapper/loop0p1
.
Bây giờ bạn có một cách để gắn các phân vùng riêng lẻ trong hình ảnh đĩa đầy đủ:
mkdir fulldisk_part1
sudo mount /dev/mapper/loop0p1 fulldisk_part1
SquashFS
cho những thứ này. Nó cũng khử các tập tin trùng lặp.