디스크 이미지가 전체 디스크 이미지인지 아니면 파티션인지에 따라 다릅니다.
파티션 세척
디스크의 상태가 양호하면 디스크의 빈 공간을 0으로 씻으면 더 나은 압축을 얻을 수 있습니다. 디스크에 문제가 있으면이 단계를 건너 뛰십시오.
전체 디스크를 이미징하는 경우 디스크의 각 파티션을 씻어야합니다.
주의 : 파티션 항목이 아니라 마운트 된 파티션 of
의 파일로 파일 을 설정하려고합니다 .
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
파티션 이미지 만들기
mkdir image
sudo dd if=/dev/sda1 of=image/sda1_backup.img bs=4M
여기서 sda
장치 이름은 1
파티션 번호입니다. 다른 장치 나 파티션을 이미지로 만들려면 시스템에 맞게 조정하십시오.
전체 디스크 이미지 만들기
mkdir image
sudo dd if=/dev/sda of=image/sda_backup.img bs=4M
sda
장치 이름은 어디에 있습니까 ? 다른 장치를 이미징하려면 시스템에 맞게 조정하십시오.
압축
압축되지 않은 전체 이미지가 포함 된 "squashfs"이미지를 만드십시오.
sudo apt-get install squashfs-tools
mksquashfs image squash.img
스트리밍 압축
별도의 임시 파일을 디스크의 전체 크기로 만들지 않으려면 squashfs 이미지로 스트리밍 할 수 있습니다.
mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root dd if=/dev/sda bs=4M'
압축 파티션 이미지 마운트
먼저 squashfs 이미지를 마운트 한 다음 마운트 된 squashfs 이미지에 저장된 파티션 이미지를 마운트하십시오.
mkdir squash_mount
sudo mount squash.img squash_mount
이제 압축 된 이미지를 마운트했습니다. 이미지 자체를 마운트하십시오 (즉, squashfs 이미지 안에 있음).
mkdir compressed_image
sudo mount squash_mount/sda1_backup.img compressed_image
이제 이미지가 아래에 마운트되었습니다 compressed_image
.
편집 :이 시점에서 디스크 이미지를 파티션에 복원하여 내용을 찾아보고 읽지 않고 단순히 이미지를 복원 하려면 대상 대신 dd
이미지를 squash_mount/sda1_backup.img
수행하십시오 mount
.
압축 된 전체 디스크 이미지 마운트
kpartx라는 패키지를 사용해야합니다. kpartx를 사용하면 개별 파티션을 전체 디스크 이미지로 마운트 할 수 있습니다.
sudo apt-get install kpartx
먼저 전체 디스크 이미지가 포함 된 스쿼시 파티션을 마운트하십시오.
mkdir compressed_image
sudo mount squash.img compressed_image
이제 전체 디스크 이미지에서 각 파티션에 대한 장치를 작성해야합니다.
sudo kpartx -a compressed_image/sda_backup.img
그러면 전체 디스크 이미지에서 파티션에 대한 장치가 생성됩니다. /dev/mapper/loopNpP
여기서 N 은 루프백 장치에 할당 된 번호이고 P 는 파티션 번호입니다. 예를 들면 다음과 같습니다 /dev/mapper/loop0p1
..
이제 전체 파티션 이미지에 개별 파티션을 마운트 할 수 있습니다.
mkdir fulldisk_part1
sudo mount /dev/mapper/loop0p1 fulldisk_part1
SquashFS
이런 종류의 것들에 사용해야 합니다. 또한 중복 된 파일의 중복을 제거합니다.