dd를 사용하여 SD 카드의 이미지 콘텐츠만 백업하세요.

dd를 사용하여 SD 카드의 이미지 콘텐츠만 백업하세요.

128GB SD 카드가 있는 Raspberry Pi(RPi)가 있습니다. SD 카드에는 백업하고 싶은 RPi의 전체 운영 체제와 설정이 포함되어 있습니다. SD 카드에 있는 모든 파일의 총 크기는 약 350MB입니다.

Linux 배포판을 실행하는 노트북에 SD 카드를 넣고 dd를 사용하여 파일을 복사했습니다.콘텐츠SD 카드:

sudo dd if=/dev/sdb of=RPi4Image.img

명령어가 오래 걸려서 제 노트북에서 생성된 파일 크기를 확인해 보니 44GB 크기인데 아직 생성이 끝나지 않은 상태였습니다. 나는 파일 크기가 128GB로 끝나고 350MB의 콘텐츠만 백업할 것이라고 가정했는데, 이는 나에게 적합하지 않습니다.

나는 그 과정을 중단했다.

위의 350MB 콘텐츠/파일만 백업하면 되지만 이 dd 명령은 전체 SD 카드(모두 128GB)의 이미지를 생성하는 것 같습니다.

  • dd 명령이 전체 장치를 백업하여 파일 크기가 전체 SD 카드 크기와 동일하다고 가정하는 것이 맞습니까?
  • 그렇다면 SD 카드의 350MB 콘텐츠만 복원하기 위해 SD 카드를 백업하고 복원할 수 있는 방법이 있습니까(필요한 경우)?

답변1

dd 명령이 전체 장치를 백업하여 파일 크기가 전체 SD 카드 크기와 동일하다고 가정하는 것이 맞습니까?

예, dd블록 단위로 복사할지 여부

그렇다면 SD 카드의 350MB 콘텐츠만 복원하기 위해 SD 카드를 백업하고 복원할 수 있는 방법이 있습니까(필요한 경우)?

당신은 그것을 사용할 수 있습니다부분 클론이것을 달성하기 위해

답변2

dd그 중 하나의 끝에 도달할 때까지 인수 없이 소스에서 대상으로 복사합니다. 그러나 이것이 도구를 사용하는 유일한 방법이나 심지어 일반적인 방법도 아닙니다. 예를 들어, 카드의 파일 시스템이 처음 2GB의 공간으로 제한되어 있다는 것을 알고 있는 경우 해당 공간만 덤프하도록 지정할 수 있습니다. bsblocksize 옵션과 옵션을 사용하여 count이 작업을 수행 할 수 있습니다 .

dd if=/dev/sdb1 of=new.img bs=1M count=2048

필요한 경우 resize2fsLinux 파일 시스템의 크기를 조정하여 드라이브의 시작 부분만 차지하도록 할 수 있습니다.

그러나 파일 시스템이 디스크의 일부로 제한되지 않고 Linux에서 크기를 조정할 수 없는 경우(예: ext2/3/4) 유일한 옵션은 전체 디스크/파티션의 이미지를 만드는 것입니다.

다행히 시스템을 새 카드에 설치하고 오랫동안 읽기/쓰기 모드로 사용하지 않은 경우 일반적으로 시스템에 오류가 발생합니다.많은또는 0이며 거의 완전히 사용된 공간으로 압축됩니다. 따라서 이미지 파일을 받자마자 gzip이나 zip으로 압축하세요.

디스크에 전체 파일이 필요하지 않도록 즉시 이 작업을 수행할 수도 있습니다.

dd if=/dev/sdb1 | gzip | dd of=new.img.gz

if이는 or가 지정되지 않은 경우 기본적으로 OR로 설정되기 때문입니다 . 복사 시간은 절약되지 않지만 이미지를 저장하는 데 필요한 디스크 공간은 절약됩니다.ofstdinstdout

관련 정보