
어떤 이유로 "더 작은" 이미지 파일을 생성하기 위해 dd를 사용하는 것에 대한 질문이나 답변이 너무 많지 않은 것 같습니다.전환수=희소여기에 옵션이 있습니다.
따라서 이미지 생성에 dd를 사용할 때 예를 들어 안전하게 사용할 수 있습니까?dd if=/dev/sda of=/미디어/저장 장치/sda.img 전환=스파스대상에서 훨씬 적은 공간을 사용하는 이미지 파일을 얻으려면?
중요한지는 모르겠지만 이 경우 소스는 EXT4 파일 시스템이 있는 SSD이고 15%만 사용되며(아주 새로운 기능이므로) 대상도 EXT4 fs를 사용합니다.
아니면 이것은 다소 나쁜 생각(특정 상황에서)일 수 있으며 문제를 일으킬 수 있습니까(나중에 복원해야 할 때 등)?
또한 대상이 네트워크 마운트 또는 파일 시스템일 때 이것이 작동하는지 궁금합니다.
목표는 필요한 것보다 더 많은 공간을 차지하지 않으면서도 쉽게 마운트하고 사용할 수 있는 파티션 또는 전체 디스크의 이미지 파일을 얻는 것입니다.
추가 압축은 실제로 필요하거나 원하지 않으며 일반적으로 결과 이미지를 더 이상 마운트할 수 없게 만들어서 압축 없이도 살아갈 수 있습니다.
그리고 Clonezilla가 사용한 섹터만 저장하는 것과 같은 작업을 수행할 수 있다는 것을 알고 있지만 제한 사항이 마음에 들지 않습니다.이미지 형식 제한으로 인해 이미지를 탐색하거나 탑재할 수 없습니다.. (물론 dd는 이미 모든 시스템에서 사용 가능합니다.)
미리 감사드립니다.
답변1
이를 달성하기 위해 제가 찾은 가장 쉬운 방법은 적절한 도구(Linux의 fstrim, Windows에서 호출되는 도구에 관계없이)를 사용하여 드라이브의 모든 파티션을 정리한 다음 gpt 파티션 테이블을 다음을 통해 파일에 덤프하는 것 gdisk
입니다 dd
. 압축기(저는 일반적으로 속도를 위해 zstd를 사용합니다)를 실행하고 출력 압축 이미지를 파티션 테이블 덤프와 함께 저장합니다. 각 파티션 이미지를 사용된 공간 크기보다 약간 작게 압축하고 나중에 이미지를 빈 드라이브에 다시 넣는 것은 간단합니다. 나는 모든 새로운 노트북에 이 작업을 수행하여 드라이브를 핵폭탄화하고 Linux를 설치하기 전에 깨끗한 공장 이미지를 찍습니다. 보증 수리를 위해 기계를 보내야 하거나 판매하기로 결정한 경우 공장 상태로 복원하는 것은 간단합니다.
답변2
사용하는 것이 현명하고 안전 한지 대답할 수 없지만 압축(저는 zstd 사용)과 소스 디스크를 "준비"하면 conv=sparse
희박한 결과를 얻을 수 있습니다 .dd
Win 11이 설치된 256GB SSD의 이미지를 촬영했습니다.
Windows에서는 NTFS 파티션을 정리하고 모든 여유 공간에 0을 쓴 다음 다시 한 번 정리했습니다.
트리밍:defrag C: /L
Windows 내부의 여유 공간이 없습니다: sdelete -z C:
(sysinternals에서)
dd
나는 다음을 사용하여 Linux에서 이미지를 만들었습니다 ztd
.
dd bs=1024K if="/dev/nvme0n1" | pv --size 256060514304 | zstd --quiet --force -o "/mnt/data/image.img.zst"
이미지는 약 100%로 작성되고 압축되었습니다.150-350MB/초.
이후 원본 디스크의 빈 공간으로 실행되면 다음 위치에서 데이터가 처리됩니다.1.2GB:-) 그리고 이미지 파일은 나머지 220GB의 여유 공간에 대해 약 100KB만 증가했습니다.
나는 그것이 "진짜" 희소만큼이나 좋다고 말하고 싶습니다. 이미지 파일의 크기는 다음과 같습니다.19.3GB. W11 설치 크기는 48GB였습니다(Windows 설치에서 페이지 파일을 삭제하면 추가 MB/GB를 절약할 수 있습니다).
이미지를 복원하려면:
zstd --quiet --stdout --decompress "/mnt/disk1/image.img.zst" | pv | dd bs=1024K of="/dev/nvme0n1"
추가 정보:
Linux에서 마운트된 파티션을 0으로 만드는 방법 cat /dev/zero | pv > /mnt/dis1/zero.dat
.
또 다른 예: W10 LTSC, 설치 크기(C:) 18.2GB(페이지 파일 없음):
dd의 이미지 크기: 6.26GB
dism의 이미지 크기: 6.28GB