cygwin이 Linux(ext3) 파티션에 액세스할 수 있는 방법이 있습니까?

cygwin이 Linux(ext3) 파티션에 액세스할 수 있는 방법이 있습니까?

Windows에서 cygwin을 통해 Linux 파티션에 액세스하고 싶습니다. 내 목적은 Linux 서버에서 Windows 7을 실행하는 내 집 컴퓨터로 데이터를 백업하는 것입니다. 지금은 잘못된 문자가 있는 파일이 있거나 문자는 같지만 대소문자가 다른 파일이 여러 개 있는 경우를 제외하고는 대부분 작동합니다.

답변1

내가하는 일은 VirtualBox를 사용하는 것입니다. 이는 두 가지 방법으로 수행할 수 있습니다.

  1. VMDK 파일에 데이터 저장
    • 이것은 매우 간단하고 안전합니다. 백업을 위해 다양한 크기의 VMDK 파일을 유지할 수도 있습니다.
  2. 만들기RAW 디스크HDD의 실제 EXT3 파티션에 액세스
    • 이는 까다로운 방법이며 쉽게 ext3 파티션을 깨뜨릴 수 있다는 점에 유의하십시오
      (특히 마운트된 동안 일시 중지 또는 최대 절전 모드를 사용하는 경우).
    • 그리고 Windows 부팅 파티션을 RAW로 쓰기 모드로 마운트하려고 시도하지 마세요.

업데이트:
자동화에 관심이 있다면:VBox관리명령줄에서 VM을 제어할 수 있습니다.

답변2

내가 이해하는 바에 따르면 전체 디렉토리 트리를 파일별로 다른 컴퓨터에 복사하여 백업을 만들고 싶어합니다. 이것은 확실히 백업을 만드는 한 가지 방법이지만 특히 귀하의 경우에는 제대로 작동하지 않는 것처럼 보이기 때문에 다른 접근 방식을 제안하고 싶습니다.

내가 직접 하는 일은 (원칙적으로) Linux 서버에 로컬로 백업하려는 파일의 타르볼을 만들고 ssh를 통해 다른 곳에 저장하는 것입니다(실제로는 sshfs를 사용하지만 상관없습니다). 이는 Linux 서버의 tar 구현이 파일 이름을 처리하는 한 파일 이름 문제를 제거해야 합니다.

Linux 서버에 연결할 SSH 서버로 cygwin을 설정하거나 다음과 같은 명령을 사용하여 이를 수행할 수 있습니다.

ssh $server "tar c -C /var/important ./" > backup.tar

백업을 유지하려는 컴퓨터의 cygwin에서 실행하십시오. Linux 서버에 tarball을 저장하고 나중에 전송할 수도 있습니다.

소비되는 대역폭과 디스크 공간의 양을 줄이려면 다음을 사용하는 것이 좋습니다.gnu tar 대신 증분 모드를 사용하면 이전 백업 이후에 수정된 파일만 포함할 수 있습니다. 그래도 rsync의 델타 전송은 수행되지 않으며 여러 버전의 파일이 디스크 공간을 차지합니다. 반면에 tarball은 디렉토리 트리보다 (xz 등을 사용하여) 효율적으로 압축하는 것이 훨씬 간단합니다.

답변3

Windows 커널이 파일 이름을 대소문자를 구분하지 않는지 여부를 결정하는 레지스트리 설정이 있습니다.

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive

0대소문자만 다른 파일을 허용하려면 이를 로 설정 하고 재부팅하세요. 또한보십시오http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive.

:Cygwin 1.7은 Windows 파일 이름에 허용되지 않는 문자와 같은 문자를 "유니코드 개인 사용 영역"에 자동으로 매핑합니다 . 이에 대한 한 가지 큰 예외는 백슬래시입니다. 백슬래시는 Windows 상호 운용성을 위해 디렉터리 구분 기호로 처리되므로 이에 대해 할 수 있는 유일한 작업은 Linux 파일 이름에서 백슬래시를 피하거나 완전히 다른 접근 방식을 사용하는 것입니다.

관련 정보