SD 카드 파일 시스템만 이미지 파일로 백업

SD 카드 파일 시스템만 이미지 파일로 백업

편집: 어떤 이유로 내 게시물의 일부만 저장되었습니다. 이제 전체 내용으로 업데이트했습니다.


이 항목은 Raspberry Pi를 중심으로 다루지만 기본적으로 다음 설정을 사용하는 모든 SD 카드에 적용됩니다. 파일 시스템은 전체 카드 크기의 작은 부분만 차지합니다. 요컨대, 이 질문의 요점은 글쓰기 방법을 익히는 것입니다.오직FS(또는 여러 파티션이 있는 경우 그 이상)를 백업 이미지에 추가합니다. 자세한 내용은 아래를 참조하세요.

지난 12월 Pi를 구입한 후 사용하기 시작했을 때 SD 카드가 몇 번 손상되어 내용이 손실되었습니다. 이는 전원을 제대로 종료하지 않고 잘못 꺼서 발생하므로 여기서는 큰 문제가 되지 않습니다. 카드를 포맷하고, Raspbian 이미지를 작성하고, Pi에 넣고, 보드를 부팅하고, 파일 시스템을 확장하고, 모든 것을 다시 설치하고 재구성해야 할 때마다 저는 더 나은 솔루션을 찾기 시작했습니다.

  • 이미지와 FS의 크기를 조정하세요.앞으로SD 카드에 쓰기 -이것이 링크는 이미지를 추가하는 방법( 입력 소스로 사용)과 조정 방법 dd( Raspbian용 EXT4인 것 같습니다(부팅 구성 요소의 작은 FAT32 파티션 제외))을 완벽하게 설명합니다. 이렇게 하면 사용해야 하는 문제가 해결됩니다./dev/zeroext4확장 파일 시스템Raspberry 구성 도구의 기능은 기본적으로 2GB, 4GB, 16GB, 32GB 등 포맷되지 않은 나머지 공간을 차지합니다. 물론 이미지를 늘리면 ddSD 카드에 쓰는 데 걸리는 시간도 늘어나지만 다음 단계의 사용자 정의도 가능합니다.
  • 설치된 소프트웨어 사용자 정의 - chroot또는 proot(+ qemu)를 사용하는 것이 가능합니다(참조:여기그리고여기) Raspbian의 FS를 올바르게 설치하고 chroot원하는 것을 설치/빌드하는 경우. 이는 크로스 컴파일이 필요한 많은 빌드(예: Pi의 Qt)에서도 중요한 단계입니다. Pi에서 기본적으로 컴파일할 수 있지만 많은 공간과 시간이 필요합니다.

이것이 기본적으로 이미지를 사용자 정의하는 방법입니다. 여기서 문제는 작업을 되돌리는 것과 관련된 일련의 절차, 즉 SD 카드의 콘텐츠를 가져와 가능한 최선의 방법으로 PC에 저장하는 것입니다. 압축은 확실히 여러분이 할 수 있는 중요한 일 중 하나이지만 그것만으로는 충분하지 않습니다. 사용하면 dd전체 SD 카드(빈 블록 포함)를 컴퓨터에 쓰거나 원하는 섹터 크기와 번호를 선택할 수 있습니다. 두 번째 접근 방식은 스토리지를 더 잘 활용하지만 내용을 신중하게 계산해야 합니다. 내용을 단축하면 FS가 손상될 수 있습니다(아, 그런 걸 여러 번 본 적이 없나요...).

다음과 매우 유사한 솔루션을 찾고 있습니다.클론속제안 - 복제 가능실제로 콘텐츠가 있는 블록만그래서 나머지는 버려라FS 축소더 작은 공간에 완전한 기능을 갖춘 파일 시스템을 저장할 수 있는 능력이 있습니다. 나는 작년에 이웃이 MacBook의 손상된 하드 드라이브에 데이터를 저장하도록 도왔을 때 바로 그렇게 했습니다.

예: Raspbian Jessie Lite가 설치되어 있는 경우 약 1시간 정도 소요됩니다. SD 카드는 1.3GB를 사용합니다. 이제 카드가 32GB라고 상상해 보세요. 물론 때로는 남은 공간을 포맷하여 사용하고 싶을 수도 있지만 일반적으로 (적어도 나에게는) 그렇지 않습니다. 따라서 dd맹목적으로 사용하면 기본적으로 32GB 이미지 파일이 생성됩니다. 압축은 이러한 기가바이트의 대부분을 처리하지만 나중에 Raspbian의 이전 상태 중 일부를 복원하기 위해 이를 SD 카드에 다시 쓰는 것은 매우 긴 프로세스가 됩니다. FS를 복사할 수도 있습니다(다시 사용 dd). 하지만 실제 설치(모든 파일)가 해당 파티션에서 약 600MB만 차지한다면 어떻게 될까요? 600MB만 필요한데 왜 1.3GB를 복사해야 합니까? 구성 도구의 "확장 파일 시스템" 기능을 사용하는 Raspbian이 포함된 SD 카드가 있고 n실제로 % ​​사용 중임에도 불구하고 전체 SD 카드가 포맷되면 어떻게 되나요?

가능한 한 적은 노력과 노력으로 이것을 달성하는 방법에 대한 아이디어가 있습니까?

답변1

작은 FAT 파티션 dd(완전히 필요함)을 덤프/복원하지만 e2image -a(에서 사용)e2fsprogs패키지)를 기본 파티션으로 사용합니다. 이 옵션은 플래시로 복원하는 데 -c유용해 보입니다 (대상에서 실제로 다른 부분만 덮어씁니다).

답변2

글쎄, 귀하의 질문에 직접적으로 대답하지 않고, 쉽게 복구할 수 있도록 제가 한 작업은 다음과 같습니다.

  • 필요한 모든 패키지를 설치한 후 SD 카드 내용을 파일에 추가하세요.
  • 파일을 최대 압축으로 bzip하고 gzip으로 압축된 데이터 파일을 백업으로 유지합니다.
  • 손상된 경우 dd를 사용하여 Bunzip 이후 백업 파일을 복원하세요.

관련 정보