Linux를 사용하여 NTFS에서 다른 NTFS로 파일의 정확한 사본


14

NTFS에서 외장 드라이브로 모든 파일을 복사하려고 시도하고 모든 권한과 속성을 유지하려고합니다. 외장 드라이브에는 이미 NTFS가 있으며 다른 파일이 포함되어 있습니다.

다음 도구를 사용하는 것을 고려했습니다.

  • ntfsclone섹터 레벨에서 작동하고 전체 FS를 복제하여 이전 데이터를 파괴하므로 작동하지 않습니다. 이미지 파일을 만드는 데 사용 된 경우 Windows 컴퓨터에서 콘텐츠에 액세스 할 수 없습니다.
  • rsync 모든 메타 데이터를 보존하지는 않습니다.

대안은 robocopy실행중인 Windows 내 에서 사용 하는 것이지만 파일없이 복사하는 것을 선호합니다. (소스 파티션은 시스템의C:\ .

파일을 어떻게 복사 할 수 있습니까?


5
RSYNC가 적절한 매개 변수로 보유하지 않을 정확한 메타 데이터를 여기서 유지하려고합니까? 음악 파일 소프트웨어 유형 메타 데이터 또는 실제 FS 권한, 구조, 시간, 소유자 등을 언급하고 있습니까? RSYNC로 이미 시도한 것이 확실하지 않지만 -AXogt예를 들어 올바른 매개 변수를 사용 하면 FS 메타 데이터가 대부분 유지되는 것처럼 보입니다 . NTFS 파티션간에 유지되지 않는 "메타 데이터"와 작동하지 않는 것을 설명하십시오.
Pimp Juice IT

파일 자체는 리눅스에서 바이트 단위로 정확하게 복사 할 수 있지만 생성, 수정, 액세스와 같은 모든 날짜가 누락 되었습니까? 아니면 NTFS 사용자 / 소유자 및 권한? 파일을 Windows NTFS로 다시 복사 한 후 파일의 날짜 및 권한을 변경할 수있는 방법이 없습니까?
Xen2050

답변:


8

Linux를 통해 NTFS 파일을 정확하게 복사하는 방법은 없습니다. Linux의 Windows 호환성 계층 인 Wine 도 Linux와 Windows간에 권한을 앞뒤로 변환하여 작동하므로 가장 작은 최소 분모로 제한됩니다.

내가 볼 수있는 유일한 해결책은 가상 머신 (또는 물리적) 내부의 Linux에서 Windows를 실행하는 것입니다.

나는 당신이 당신의 게시물 에서이 가능성을 언급했다고 생각하고 그것을 피하기를 원하지만 다른 가능성은 보지 못합니다. Windows 만 NTFS 파일을 정확하게 복사 할 수 있습니다. Linux는 NTFS 파티션 만 복사 할 수 있습니다.

이 기사는 다음과 같은 도움이 될 수 있습니다 . Microsoft 에서 다운로드 할 수있는 무료 가상 머신을 사용하여 Linux 에서 Microsoft Windows를 무료로 설치하고 실행하는 방법


확실하지 않지만 ntfs-3g 맨 페이지 에 따르면 옵션 streams_interface=xattr이 기본적으로 설정되어 있습니다. 올바르게 이해하면 NTFS 파일 속성 (Windows 권한 포함)이 xattrLinux의 속성에 매핑됩니다 . 이후 cp -arsync -X이 속성을 복사 않습니다, 그것은 정확한 사본 안된다?
JojOatXGME

@JojOatXGME : Windows와 Linux의 권한 모델이 완전히 다릅니다. 가장 기본적인 속성 만 정확한 대응을 갖습니다.
harrymc

알아. Linux가이 속성을 이해한다고 주장하지는 않지만 xattr 속성은 운영 체제에서 이해할 필요가없는 키-값-파리입니다. ntfs-3g 는 Windows 권한을 xattr 속성으로 사용할 수있게 만드는 것 같습니다 system.ntfs_acl. NTFS의 다른 matadata도 마찬가지입니다. 사용하는 경우에서 xattr 속성이 복사되기 때문에 rsync -X또는 cp -a, 그것은뿐만 아니라 메타 데이터를 복사 할 수 있습니다. 의 구체적인 한계 xattr와 구현에 달려 ntfs-3g있지만 가능합니다.
JojOatXGME

어떻게 이것을 제대로 테스트 할 수 있습니까? 이것이 우리가 이와 같은 진술로 필요한 것입니다. 테스트 할 수있는 경우에만 유용 할 수 있습니다 ....
UV

1

우선, 파일을 복사하려면 마음을 정해야합니다 ...

또는 "이전 데이터", "기타 파일", 위에서 언급 한 "모든 메타 데이터"를 포함하여 NTFS 파티션의 전체 섹터 별 복사본을 만들려고합니다.

후자의 경우 dd를 사용하십시오.

dd if=/dev/sda2 of=/mnt/usbdisk/my-ntfs-partition-D.img bs=1M

즐기세요


2
글쎄, 나는 내 마음을 만들었고, 그것은 이미 문제에 있습니다. 모든 관련 메타 데이터와 함께 파일 을 복사 하고 싶습니다 . 대상 FS뿐만 아니라 소스 FS도 NTFS이므로 동일한 기능을 갖기 때문에 가능해야합니다. ddFS 정보를 고려하지 않기 때문에 사용하는 것이 좋지 않습니다. NTFS가있는 경우 항상 ntfsclone이미지 작성에 사용해야 합니다.
Scolytus

이 경우 robocopyor ntfscopy ( tzworks.net/prototype_page.php?proto_id=9 )를 사용하지만 Linux에서는 사용할 수 없습니다.
Paxsali

글쎄, 나는 또한 robocopy내 질문에 언급 했다. 그래서 나는 당신의 여유에 감사하지만 그것은 실제로 내 질문에 대한 답변이 아닙니다.
Scolytus

1

리눅스는 NTFS 파일 내용을 잘 복사 할 수 있습니다. 모든 수정 / 생성 / 액세스 날짜 및 속성은 아닙니다 (보존하려는 것으로 가정합니다).

따라서 현재 날짜 및 속성을 기록하고 ( dir표시 할 수 있어야 함) Linux에서 파일을 복사 한 다음 Windows를 다시 실행하면 날짜 및 속성을 원래대로 다시 변경하십시오.

Windows에서 다음 중 하나와 같이 파일을 변경할 수있는 도구를 사용하십시오 .

분명히 Windows 자체의 파일 탐색기는 모든 파일 날짜를 올바르게 보존하지도 않습니다 . 그러나 zip & cygwin의 tar 명령 은 파일 날짜를 저장해야하므로 Windows의 명령 중 하나를 사용하여 아카이브를 먼저 작성해야 작동하지만 이전 방식으로 아카이브를 복사하십시오.


속성이 매우 중요하고 Windows에서도 복사하기 어려운 경우 텍스트 파일이나 데이터베이스에 백업하거나 파일 이름의 일부로 만들어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.