~에서이 FAQ:
Clonezilla가 작동하는 이유아니요대용량 드라이브에 저장된 이미지를 작은 드라이브에 복구하시겠습니까? 해결책이 있나요?
Clonezilla는 이제 파티션 "미러" 도구이기 때문에 이러한 기능을 구현하는 것은 쉽지 않습니다.clonezilla는 실제로 파일 자체를 알지 못하며, clonezilla는 사용된 블록이 어디에 있는지만 알고 있습니다.. 따라서 Clonezilla가 파티션에서 사용된 블록을 복구할 수 있도록 대상 파티션 크기는 원래 파티션 크기보다 크거나 같아야 합니다. 대상 파티션 크기가 더 작으면 오류가 발생합니다. Clonezilla가 향후에 파일 기반 기능을 갖지 않는 한. 아마도...
내가 아는 한, 파일은 하나 이상의 인접한 블록(또는 클러스터)에 대한 포인터 목록입니다. 파일 시스템에 대해 아무것도 모르는 상태에서 소프트웨어는 어떤 블록이 사용 중인지 어떻게 알 수 있습니까?
답변1
간단한 대답: 아니요.
이는 모든 데이터 구조에 해당됩니다. 데이터 구조를 이해하지 못하면 그 안에서 아무것도 찾을 수 없습니다.
데이터 복구를 위해 데이터(드라이브)를 스캔하고 데이터가 이해하는 서명(예: jpeg 파일의 시작 부분)을 검색하는 도구가 있습니다. 예시 도구는 다음과 같습니다.사진술
이 기술을 사용하면 소프트웨어는 파일 시스템에 대해 아무것도 모르더라도 일부 파일을 찾을 수 있습니다. 그러나 그것은 혼란스럽고 신뢰할 수 없습니다. 이 기술은 조각화를 제대로 처리하지 못하며 특정 파일 형식에서만 작동합니다. 일반적으로 파일이 손상됩니다.
파일 시스템별 복제 도구가 있습니다. 예를 들어 파티션 유형이 ext2/3/4인 경우 다음과 같은 도구를 사용할 수 있습니다.e2이미지커널 파일 시스템 드라이버를 사용하지 않고 파일을 복사합니다.
clonezilla를 사용하여 복제하기 전에 파일 시스템 크기를 조정할 수도 있습니다. 예: 사용2fs 크기 조정파일 시스템을 축소하여 시작하십시오.
그 외에도 유일한 실제 옵션은 파일 시스템을 마운트하고 파일을 사용하거나 복사하는 것 cp
입니다 .tar
rsync
크기 조정을 구현하지 않기로 한 CloneZilla의 결정에 대해: 파일 시스템은 종종 매우 복잡합니다. 더 간단한 것들도 있지만 ext2/3/4, reiserfs 등은 간단하지 않습니다.
파일 시스템에서 충분한 정보를 구문 분석하여 사용 중인 블록을 확인하는 것은 간단할 수 있습니다. 일부 파일 시스템에는 사용된 블록과 사용되지 않은 블록을 표시하는 깔끔하고 멋진 테이블도 있습니다. 구문 분석에는 파일 지식이 전혀 필요하지 않습니다.
예를 들어 ext3은 기본적으로 4096바이트 블록과 32,768블록 블록 그룹을 사용합니다. 각 128MiB 블록 그룹에는 그룹에서 사용 중인 블록을 보여주는 "블록 비트맵"이 포함되어 있습니다(참조:인용하다). 따라서 파일 자체에 대해 아무것도 모르더라도 프로그램은 구문 분석을 수행할 수 있습니다.오직어떤 블록이 사용 중인지.
그러나 파일 시스템 크기를 조정하려면 더 많은 지식이 필요합니다. ext2와 같은 세부 사항을 알지 못하면 가능한 장애물은 다음과 같습니다.
- 상호 참조 포인터 또는 메타데이터에 대한 포인터를 업데이트할 수 없습니다.
- 체크섬을 업데이트할 수 없습니다.
- 비트맵을 사용하여 블록을 올바르게 업데이트할 수 없습니다.
순진한 개발자가 파일 시스템이나 메타데이터를 손상시키는 방식으로 크기 조정을 구현하는 것은 매우 쉽습니다.