UDF를 하드 드라이브 형식으로 사용할 수 있습니까?


32

최근에 UDF가 Linux, Mac OS X 및 Windows XP 이상에서 사용되는 드라이브의 크로스 플랫폼 형식에 대한 솔루션으로 제안 된 것을 보았습니다.

나는 여기에서 검색했지만 동일한 제안을 찾지 못했습니다 (대부분 돈이 드는 것처럼 보이고 Mac에 사전 설치되어 있지 않은 ntfs-3g를 제안합니다).

그래서 내 질문은 : 어떻게 이것이 올바르게 이루어졌으며, 누구든지 이것을 했습니까? 그런 다음 드라이브를 채우고 일부 파일을 삭제하여 기본적으로 한 번 쓰기 형식 인 것처럼 보이지만 모든 것이 실제 r / w 형식처럼 작동하는 공간을 찾을 수 있습니까?

UDF 시스템이 자동 마운트되어 로그인 한 사용자가 쓸 수있는 경우에는 전화하십시오. 지금까지 시도한 것은 (kicsyromy가 언급 한 udftools 형식) 이이 희망을 해결하지 못합니다.


1
한 가지 설명 : ntfs-3g무료입니다. 소스 코드는 무료입니다 (즉, 무료로 제공). 또한 자유와 마찬가지로 자유 롭다 . ntfs-3gUbuntu의 NTFS 드라이버입니다! 그건 약간 기술적 인 OS X, 그리고 턱 세라 (개발자에) 기본적으로 무료입니다 독점 payware 버전 제공에 설치 / 수동으로 빌드 ntfs-3g애드온 드라이버, OS가 없으면 내장 OS X에서 쉬운 설치와 사용을 위해 포장 된 드라이버를 X는 NTFS 볼륨 만 읽거나 쓰지 않으므로 다른 파일 시스템을 고려해야합니다.
Eliah Kagan

@EliahKagan 만약 ntfs-3g가 "무료"라면, 애플은 왜 NTFS를 지원할 수 있도록 포함시키지 않았을까요?
user29020

@ user29020 Apple이 포함시키지 않기로 선택한 동안은 모르지만 소스 코드 (현재이 파일 ) 를 다운로드하고 압축을 풀고 COPYING파일이 GNU GPL 인지 확인하여 무료인지 확인할 수 있습니다 . Apple은 통합 작업을 원하지 않았기 때문에 Finder에서 원활하게 사용할 수 있습니다. tuxera.com/products/tuxera-ntfs-for-macsourceforge.net/projects/catacombae 도 참조하십시오 .
Eliah Kagan

1
@ user29020 지원 비용 (약간의 버그 인 경우 어떻게됩니까)? 법적 제한? GNU GPL 라이센스 하에서 무료라는 것은 기존 소스 / 바이너리에만 추가 될 수 있고 GPL 하에서도 사용 가능하다는 것을 의미합니다. (LGPL을 사용하면 다른 비 GPL 코드에서 라이브러리로 사용할 수 있습니다). 애플의 코드가 대부분 독점적이며 GPL 호환 라이센스가 아닌 APSL에 따라 적용되는 것은 제한 사항입니다. gnu.org/philosophy/apsl.html
dlamblin

답변:


14

아니.

우리는이 답장 당시 2015 년에 있습니다. Mactel 컴퓨터 (Macmini 7,1)에서 기업용 OSX Yosemite, Ubuntu 14.10 및 Windows 10 기술 미리보기를 사용하고 있습니다.

UDF와 exFat을 모두 시도했습니다. 개발에 Ubuntu를 사용하고 Unix 스타일 권한이 필요합니다.

이전의 모든 안내서는 더 이상 적용되지 않습니다. UDF 드라이버가 발전했으며 모든 운영 체제는 UDF 파티션을 사용할 수 있으며 이름보다 더 많은 문제와 불안정성이 있습니다.

  • Mac OS에서 포맷 된 UDF 드라이브 : Windows 10에서 마운트 할 수 없습니다.
  • Linux에서 포맷 된 UDF 드라이브 : Windows 10에는 마운트 할 수 없습니다.
  • Windows 10에서 포맷 된 UDF 드라이브 : Linux에서 읽기 / 쓰기를 마운트하고 OSX에서 읽기 전용을 마운트합니다.

그러나 Windows에서는 UDF 볼륨을 포맷 할 때 블록 크기를 지정할 수 없으므로 논리적 블록 크기가 파티션의 물리적 블록 크기와 다를 수 있습니다.

이것이 OSX에서 읽기 / 쓰기로 마운트하는 어려움과 관련이 있는지 확실하지 않지만 Linux를 사용하여 특정 수의 파일을 삭제 한 후에는 OSX에서 드라이브를 다시 마운트 할 수 없었습니다.

시스템이 커널 패닉 상태가되어 수치스럽게 충돌합니다.

이것과 주제에 대한 다양한 답변은 현재이 형식에 대한 일관성없는 지원을 나타냅니다.

그것은 내가 사용할 수있는 방법이있다 보일 것 NTFS의 현대적인 파일 시스템의 기능 사이의 균형을 달성하기 위해 볼륨, 유닉스 스타일의 권한 - 쓰기는 모든 운영 체제에서 마운트 / 읽기 - 내가 그들을 설정할 수 있습니다.


1
OSX는 BSD를 기반으로합니다. 그렇습니다. 커널 패닉을 경험하는 것은 OSX Yosemite (10.10.2)입니다. NTFS와 OSX 용 NTFS 3d를 사용했습니다.
Mauro Colella


1
@Argo의 두 번째 참조 상태는 "-b 512는 파일 시스템 블록 크기를 UDF 사양에 따라 USB 스틱의 물리적 블록 크기와 동일하게 만드는 것입니다. USB 스틱이있는 경우 더 적절한 블록 크기. " 따라서 블록 크기 를 지정할 수 있지만 필요한 값으로 지정해야합니다.
JDługosz

1
OS X / OS X에 의해 마운트되지 않은 Windows 10은 마운트되지 않은 각 OS가 파티션 테이블을 처리하는 방식으로 인해 발생합니다. Windows 10 : 필요합니다. Mac OS X : UDF가 전체 드라이브 파티션으로 베어 드라이브에 있어야합니다.
DrYak

2
다음 incosistencies 돌봐 형식화하는 도구가 github.com/JElchison/format-udf
velop

15

누군가가 가능한 많은 운영 체제에서 사용할 수 있도록 udf로 플래시 드라이브를 포맷하는 방법에 대한 연구를 수행했습니다. 여기에 자신의 연구 결과 (로 사용되어 있다가 , 현재 오프라인) :

  • Windows 7 은 UDF v2.6까지 완벽하게 지원하지만 UDF 블록 크기는 기본 장치의 블록 크기와 일치해야합니다 (USB 스틱 및 대부분의 디스크는 512 바이트, "고급 형식"디스크는 4096 바이트). 분명히 디스크가 분할되어 있어야합니다.

  • Linux 2.6.30 이상은 UDF를 최소한 2.5 버전까지 완전히 지원합니다.

  • Mac OS X 10.5 는 UDF 2.01까지 UDF를 완전히 지원하지만, 전체 디스크에서 사용될 때만 분할되므로 분할되지 않습니다.

위에서 설명한 것처럼 USB 하드 디스크의 경우 Windows에서 디스크를 분할해야합니다. 다른 한편으로 UDF는 전체 디스크 (분할되지 않은)에서 사용될 때 OS X에서만 작동합니다. 오히려 놀랍게도 디스크 파티션과 파티션 해제를 동시에 수행하는 솔루션이 있습니다.

DOS 파티션 테이블은 마스터 부트 레코드의 바이트 446-510에 저장됩니다. 이 마스터 부트 레코드는 디스크의 첫 번째 섹터 인 섹터 0에 저장됩니다. 일반적으로 지정된 첫 번째 파티션은 몇 킬로바이트 더 시작됩니다. 그러나 첫 번째 파티션이 섹터 0에서 시작하는 파티션 테이블을 구성하는 것이 가능하므로 결과는 파티션 테이블 자체를 포함하는 파티션입니다. 파티션 편집기 프로그램은 그러한 테이블을 만드는 것을 거부하는 것처럼 보이지만 적어도 최근의 Linux 및 Windows 커널은 귀찮게하지 않습니다.

좋은 점은 UDF가 파티션 또는 파티션의 처음 몇 킬로바이트를 사용하지 않는다는 것입니다. 따라서이 곳은 레거시 파티션 테이블을 저장하는 데 실제로 사용될 수 있습니다. 디스크. 일부 테스트에 따르면 Linux, Windows 및 Mac OS X에서 실제로 작동합니다.

  • Linux 2.6.30+, Mac OS X 10.5+, Windows Vista +에서 자동 읽기 / 쓰기 마운트
  • Windows XP에서 읽기 전용으로 사용 가능하며 Linux 2.6.0 이상에서 명령 행 마운트 후에 사용 가능
  • 큰 파일, UNIX 권한, 유니 코드 파일 이름, 심볼릭 링크, 하드 링크 등을 지원합니다.

디스크를 올바르게 포맷하기위한 스크립트 : Perl 스크립트 또는 Bash 스크립트


12

방금 VM에서 이것을 테스트했습니다. Windows에서 파티션을 (다시) 만들어야 드라이브 문자를 할당하지만 파일 시스템으로 포맷하지 마십시오. 그 후에 우분투로 부팅하고 지시를 따르십시오. 읽기 / 쓰기가 가능합니다.

모든 데이터를 백업해야합니다!

먼저 UDF 도구를 설치하십시오.

sudo apt-get install udftools

UDF ^로 포맷하려는 파티션에서 첫 번째 블록을 아무것도없는 것으로 바꾸십시오 :

sudo dd if=/dev/zero of=/dev/sdxN bs=512 count=1

그리고 마지막으로 UDF로 포맷하십시오 :

sudo mkudffs --media-type=hd --blocksize=512 /dev/sdxN

^ 어디 :

  • x는 귀하의 hardisk에 현재 할당 된 문자의 자리 표시 자입니다

  • N은 파티션 번호의 자리 표시 자입니다

행운을 빕니다.


이 방법에 대한 답변 감사합니다; 위의 시나리오에서 제대로 작동하는지 확인하는 데 여전히 관심이 있습니다.
dlamblin

이것은 나를 위해 완벽하게 작동했습니다. 유일한 문제는 디스크 관리자를 사용하여 Windows에서 파티션을 수동으로 마운트해야한다는 것입니다. 그 외에는 하드 디스크의 여러 파티션에서도 작동 함을 확인할 수 있습니다 (1udf + 2ext4를 사용하고 있습니다)
Nemo

여기서 핵심은 실제로 파티션을 만든 다음 거기에 UDF 파일 시스템을 만드는 것 같습니다. 파티션을 만들지 않으면 Linux에서는 작동하지만 Windows (7)에서는 작동하지 않습니다. 그게 내 경험이야
DanMan

@ DanMan Dan 은이 문제를 해결 한 사람을 발견하고 Linux, Mac 및 Windows 7 용 UDF로 전체 디스크를 포맷하고 Win XP에서 읽기 전용 스크립트를 제공합니다.
dlamblin

@kicsyromy : UDF에 파티션 (sdxN)를 포맷은 작동하지 않았다 실행 sudo mkudffs --media-type=hd --blocksize=512 /dev/sdd1다음과 같은 오류 메시지를 제공합니다 : trying to change type of multiple extents I 그러나 전체 디스크 (SDD)를 사용하여 UDF 포맷에 성공 않았다 여기에 설명 : superuser.com/questions/39942/using- udf-on-a-usb-flash-drive
Tim Banchi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.