
저는 Mint Linux가 설치된 노트북을 사용하고 있으며, 며칠 동안은 Windows를 사용할 예정입니다. 그래서 내 OS를 "저장"하고 나중에 동일한 드라이브에 다시 넣고 싶습니다.
전체 디스크 암호화(Mint 설치 시 기본적으로 제공되는 암호화)를 사용합니다.
Linux로 라이브 CD를 부팅한 후 다음과 같은 복사본을 만듭니다.
dd if=/dev/sda of=/media/externalhd/mint.img
[여기서 창을 포맷하고 추가합니다.] 완료한 후 라이브 CD로 다시 부팅하고 다음을 수행합니다.
dd if=/media/externalhd/mint.img of=/dev/sda
작동해야 겠죠?
답변1
귀하의 명령은 괜찮으며 지적한 대로 드라이브의 모든 빈 공간도 절약됩니다. 그러나 시스템을 설치할 때 보안 지우기 옵션을 선택하면 드라이브의 빈 공간이 임의의 소음으로 가득 차게 되므로 출력을 압축해도 비용이 거의 들지 않습니다.
복사에 더 큰 블록 크기를 사용하고 시스템 버퍼 캐시를 오염시켜 원시 읽기를 더 빠르게 만들어야 합니다.
- dd 옵션 iflag=direct 또는 oflag=direct 읽기 또는 Linux의 캐싱 계층을 우회하는 장치에서 직접 읽기.
- dd 옵션 bs(블록 크기)는 dd에 한 번에 읽거나 쓸 데이터 양을 알려주며, 최신 디스크 드라이브는 더 큰 데이터 청크에서 훨씬 빠르게 작동합니다.
압축은 CPU를 많이 사용하며 gzip은 단일 코어만 사용하므로 이는 복사 속도 측면에서 제한 요소가 될 가능성이 높습니다. 모든 CPU 코어를 사용하는 pigz를 사용하면 속도가 빨라지지만 여전히 CPU에 묶여 있을 가능성이 높습니다.
최신 CPU를 사용하는 거친 야구장으로서 저장 공간이 문제이거나 USB2보다 느린 장치로 연결된 경우 압축을 사용합니다. USB3, SATA 또는 100Mbit+ 네트워킹은 거의 확실하게 gzip보다 빠르므로 속도는 향상되지 않지만 공간을 절약할 수 있습니다.
저장소 연결이 느리거나(예: 10Mbit 이더넷 또는 USB1/2) 공간이 부족한 경우 사용하는 명령은 다음과 같습니다.
dd if=/dev/sda bs=1M iflag=direct | pigz -c > /media/external/image.sda.gz
스토리지에 대한 연결 속도가 빠르고 사용된 공간이 문제가 되지 않는 경우 다음 명령을 사용합니다.
dd if=/dev/sda of=/media/external/image.sda.raw oflag=direct iflag=direct bs=1M
답변2
작동하지만 최선의 방법은 아닙니다. 원시 데이터의 0으로 인해 이미지가 매우 커집니다. 이 동작을 피하려면 다음과 같이 할 수 있습니다.
dd if=/dev/sda | gzip > /media/externalhd/backup.img.gz
Gzip은 이미지에서 0을 고려할 필요가 없고 단지 계산되기만 하면 된다는 것을 알고 있습니다. 특히 디스크에 여유 공간이 있고 gzip 압축을 사용하는 경우 이미지가 더 작아지므로 훨씬 더 좋습니다.