데이터를 파티션의 시작 부분으로 이동

데이터를 파티션의 시작 부분으로 이동

2Tio 드라이브에서 SSD로 데이터를 이동하고 싶습니다(120Gio만). 드라이브에는 약 16Gio만 포함하는 파티션이 하나만 있습니다. ddrescue를 사용하여 전송할 때 모든 데이터를 얻으려면 모든 데이터가 파티션의 시작 부분에 있는지 확인하고 싶습니다. 이를 수행하는 도구가 있습니까? ;)

답변1

관련된 경우 ddrescue원본 드라이브가 정상이 아닙니다. 이 경우 복사하기 전에 어떤 방식으로든 원본 드라이브를 수정하면 문제가 더 악화될 수 있으므로 하지 마십시오.

~하지 않는 한원본 디스크가 정상이고 원본 디스크의 파일 시스템 유형이 파일 시스템 축소를 지원합니다. 먼저 이 작업을 수행할 수 있습니다.

여기서는 파일 시스템 유형이 중요합니다. ext2/ext3/ext4 파일 시스템의 경우 축소하려는 파일 시스템을 마운트 해제한 다음 resize2fs <partition device containing the filesystem> 20G파일 시스템 크기를 20GiB로 축소를 실행할 수 있습니다. 작업이 불가능할 경우 명령은 변경 사항 없이 오류를 반환합니다. 작업이 성공적으로 완료되면 모든 데이터는 해당 파티션 시작부터 20GiB 이내가 보장됩니다. 그런 다음 반올림 오류로 인해 파일 시스템의 끝이 잘리는 것을 방지하기 위해 파티션 크기를 21GiB 이상으로 조정할 수 있습니다. 파일 시스템을 성공적으로 복사한 후 resize2fs크기 매개변수를 사용하지 않고도 파티션의 현재 크기와 정확히 일치하도록 파일 시스템의 크기를 자동으로 조정할 수 있습니다.

다른 파일 시스템 유형에는 고유한 특정 크기 조정 도구가 있습니다. 즉, resize2fsext2/ext3/ext4 파일 시스템 제품군에만 해당됩니다.

내가 아는 한, 현재 온라인이든 오프라인이든 XFS 파일 시스템을 축소할 수 있는 프로덕션급 도구는 없습니다.

ddrescue소스에서 대상으로 정확한 일대일 복사본을 만들려고 시도합니다. 이것이 바로 수행되는 작업입니다. 이를 실행하여 2TiB 드라이브에서 120GiB 드라이브로 모든 항목을 복사하면 원본 디스크의 처음 120GiB 정도의 정확한 복사본을 얻게 됩니다.

파일 시스템을 생성한 후 소스 디스크에 수행된 유일한 작업이 16GiB의 데이터를 소스 디스크로 전송하는 것이라면 일반적으로 모든 데이터가 처음 120GiB 내에 완전히 포함되는 것이 가능하다고 말하고 싶습니다. 파일 시스템 유형과 사용하는 블록 할당 방법에 따라 다릅니다.

그러나 16GiB 데이터가 파일 시스템에 복사되기 전에 파일 시스템에 120GiB 이상의 다른 콘텐츠가 포함되어 있었다면 현재 16GiB 데이터는 다른 데이터가 나중에 복사되었더라도 시작된 위치에서 120GiB보다 훨씬 더 멀리 떨어져 있을 수 있습니다. 삭제되었습니다. 디스크.

관련 정보