USB 플래시 드라이브에서 UDF 사용 않는 사람에게 파일을 복사하는 데 사용하려는 경우

4G보다 큰 파일을 8G USB 플래시 드라이브 에 복사하지 못한 후 ext3으로 포맷했습니다. 이것이 지금까지는 잘 작동하지만 Linux를 사용하지 않는 사람에게 파일을 복사하는 데 사용하려는 경우 문제가 발생할 수 있습니다.

대신 UDF 로 형식을 지정하려고 합니다 . 추가 드라이버를 설치하지 않고도 가장 인기있는 세 가지 운영 체제 (Windows, MacOS 및 Linux)에서 읽을 수 있기를 바랍니다 . 그러나 이미 웹에서 찾은 것으로부터 파일 시스템을 만드는 데 사용되는 매개 변수와 관련된 몇 가지 작은 문제가있는 것으로 보입니다. 드라이브).

나는 알고 싶습니다:

  • 파일 시스템을 만들려면 어떤 유틸리티를 사용해야합니까? (지금까지 내가 발견 mkudffs하고 genisoimage, 그리고 mkudffs최고의 옵션을 보인다.)
  • 최고의 호환성을 위해 선택한 유틸리티와 함께 ​​어떤 매개 변수를 사용해야합니까?
  • 이 세 가지 운영 체제 UDF의 가장 일반적인 버전과 실제로 얼마나 호환됩니까?
  • 실제로 UDF를 사용하는 것이 가장 좋은 아이디어입니까? FAT32 4G 파일 크기 제한과 같은 문제없는 제한이없고 파일을 건 드리는 모든 단일 컴퓨터에 특수 드라이버를 설치할 필요없이 호환성이 더 좋은 다른 파일 시스템이 있습니까?


답변

먼저 UDF 파일 시스템을 만들기 전에 드라이브를 완전히 제로화했습니다.

dd if=/dev/zero of=/dev/sdx bs=512

이것은 운영 체제의 파일 시스템 유형 감지를 혼란스럽게 할 수있는 남은 수퍼 블록 또는 기타 메타 데이터를 피하기위한 것입니다 (파티션 테이블을 없애기 위해 첫 번째 섹터를 0으로 설정해야 함) 파티션 테이블은 실제로 혼란 스러울 수 있습니다). count=1dd 명령 에서 스위치를 사용하여 드라이브의 첫 512 바이트 (MBR이 일반적으로있는 위치) 만 더 빨리 제로화 할 수 있지만 테스트되지는 않았습니다.

파일 시스템을 만들려면 내가 사용한 명령은 다음과 같습니다.

mkudffs --media-type=hd --blocksize=512 /dev/sdx

mkudffsudftools패키지를 설치 한 후 데비안 기반 Linux 배포판 (예 : 우분투)에서 명령을 사용할 수 있습니다 .

sudo apt-get install udftools

의 기본 블록 크기 mkudffs는 2048이며, 이는 USB 플래시 드라이브 (512 바이트 섹터를 사용)에 적합하지 않습니다. 블록 크기는 파일 시스템 메타 데이터를 찾는 데 사용되므로 잘못된 블록 크기를 사용하면 UDF 파일 시스템으로 인식되지 않을 수 있습니다 (앵커가 파일 시스템 드라이버가 예상하는 위치가 아니기 때문에). 있습니다 mkudffsman 페이지가 잘못; 512는 블록 크기에 유효한 값입니다 (코드에서 명시 적으로 허용 함).

또한 파티션 대신 전체 드라이브를 사용했습니다. 이것은 더 호환성이 있어야합니다.

지금까지의 테스트 결과 :

  • 가장 최신 커널이있는 Linux (우분투 9.10의 2.6.31) : 작동합니다.
  • 이전 커널이있는 Linux : 디바이스 섹터 크기 ( 커밋 1197e4d 에서 수정 ) 대신 2048을 잘못 사용했기 때문에에 bs=512옵션이 필요합니다 .mount
  • Windows Vista : 작동합니다.
  • 새로운 Mac : 작동합니다.
  • Windows XP : 읽을 수는 있지만 쓸 때 “액세스가 거부되었습니다”. 디스크가 가득 찼다 고 생각하는 것 같습니다.

지금까지 4G보다 큰 파일을 만들려고 시도하지는 않았지만 작동하지 않는 이유는 없습니다.

모든 최신 운영 체제 (우분투 9.10 및 Fedora 12가 나오지 않는 한 더 이상 필요하지 않은 Linux에서만 수동으로 마운트해야 함)에서 완벽하게 작동했으며 Windows XP에서 읽기 전용으로 작동했습니다 (놀랐습니다) 나에게; 파일 시스템을 전혀 인식하지 못할 것으로 기대했다), 큰 USB 플래시 드라이브에서 FAT32 또는 NTFS 대신 UDF를 사용하는 것이 좋습니다.


답변

CesarB는 문제의 핵심에 도달하는 데 큰 역할을했습니다. 충분히 강조 할 수없는 한 가지는 UDF를 포맷 할 때 적절한 블록 크기를 사용하는 것이 얼마나 중요한지입니다.

CesarB의 게시물 (및 다른 연구 / 테스트)에서 영감을 받아 올바르게 감지 된 섹터 크기를 사용하여 UDF 형식화 프로세스를 자동화하는 스크립트를 작성했습니다. GitHub의 format-udf를 참조하십시오 . 주목할만한 특징 :

  • UDF (Universal Disk Format)로 블록 드라이브 (하드 드라이브 또는 플래시 드라이브)를 포맷합니다
    • 최대 호환성에 사용되는 UDF 개정 2.01
    • 기존 MBR을 삭제하기 위해 처음 4096 개의 섹터가 제로화됩니다 (적절한 UDF 감지에 필요함)
  • 여러 운영 체제 제품군 (Windows, OS X 및 Linux)에서 결과 파일 시스템을 읽고 쓸 수 있습니다.
  • Bash 환경이있는 모든 OS에서 실행

마지막으로, 내가 작성한이 스크립트는 Windows에서 사용할 수 없습니다. 그러나 스크립트는 OS X 및 Linux에서 실행됩니다. 이렇게하면 Windows가 새로 포맷 된 UDF 드라이브를 마술처럼 감지 할 수 있어야합니다.

게시 된 질문에 직접 대답하기 위해 format-udf는 다음을 수행합니다.

  • 운영 체제 및 환경에 따라 적절한 형식의 도구를 선택하십시오
  • 포맷에 필요한 모든 매개 변수를 자동으로 감지하고 채 웁니다.
  • OS 호환성 극대화 (호환성 차트는 GitHub 페이지 참조)
  • asker가 찾고있는 최대 기능 세트 (및 최소 한계)를 산출

답변

내가 찾은 문제는 드라이버가 r / w 용으로 빌드되지 않았기 때문에 내가 마운트 한 Linux 버전이 읽기 전용이라는 것입니다. 그것은 Windows에서 작동했으며 Mac이라고 생각합니다.

예, 좋은 해결책을 찾기가 어렵습니다. 잠시 동안 win 및 mac 용 드라이버가있는 fat32 파티션, mac 파티션 및 큰 ext3 파티션이있는 외장 드라이브가있었습니다. 작동했지만 드라이버 설치를 의미했습니다. 깔끔한 트릭은 Mac (fw & usb)에서도 부팅 가능했기 때문에 공간을 확보하고 메모를 한 다음 명령 줄과 mac 파티션 테이블을 통해 파티션을 추가 할 수 있습니다.

세계는 모든 파일 시스템에서 사용할 수있는 무료가 필요합니다. ZFS는 좋은 선택입니다. 🙂


답변

Pieter Wuille는 Windows (> = Vista, XP 전용 읽기), MacOS X 10.5, Linux 2.6.30+와 호환되는 UDF 레이아웃 을 만들기 위해 디스크를 분할하고 포맷하는 도구를 작성했습니다 .

또는


답변

최대 호환성을 얻으려면 최소한 버전 2.0 에서 udftools 프로젝트의 mkudff 를 사용해야합니다 . 특별한 매개 변수가 필요하지 않으며 모든 것이 자동 감지됩니다.

세 가지 큰 제한이 있습니다.

  1. Microsoft Windows 시스템은 MBR 또는 GPT 파티션 테이블이없는 경우 이동식 하드 디스크를 인식하지 못합니다.

  2. Apple Mac OS X 시스템은 파티션 된 디스크에서 UDF 파일 시스템을 인식하지 못합니다.

  3. UDF 블록 크기가 디스크의 논리 섹터 크기와 일치하지 않으면 모든 시스템 (최근 Linux 커널 제외)이 UDF 파일 시스템을 인식하지 못할 수 있습니다.

버전 2.0 이후 도구 mkudff는 세 가지 제한을 모두 처리합니다. 제거 할 수없는 하드 디스크를 포맷하면 섹터 0에서 시작하여 전체 디스크에 걸쳐있는 “가짜”MBR 테이블이 생성됩니다. 따라서 UDF 파일 시스템은 첫 번째 파티션 (Microsoft Windows에 필요) 또는 전체 디스크 (Apple Mac OS X에 필요)에서 읽을 수 있습니다. 자세한 내용은 mkudffs 2.0 매뉴얼 페이지를 참조하십시오.


답변

NTFS, NTFS-3G를 사용하면 Linux를 사용하여 쓸 수 있고 Mac 용 http://macntfs-3g.blogspot.com/ 을 볼 수 있습니다.


답변

EXT3 파티션에 액세스 할 수있는 Windows (및 Mac) 용 드라이버가 있으므로 EXT3으로 포맷하고 드라이버와 함께 어디서나 사용할 수 있습니다. 다른 방법은 보관자를 사용하여 큰 파일을 각각 최대 4GB의 두 개 이상의 파일에 저장하는 것입니다. 이 방법으로 범용 FAT32 파일 시스템을 사용할 수 있습니다. 호스트 컴퓨터에서 아카이브를 사용하려면 압축을 풀어야하지만 드라이버없이 아카이브를 수행 할 수 있습니다. ZIP 형식도 작동 할 수 있다고 생각하지만 RAR 형식 아카이버는 Windows, Linux, Mac에서 작동하므로 사용하십시오. 그러나 나는 드라이버와 함께 갈 것입니다. 일단 설치되면 제한없이 무엇이든 할 수 있습니다. PC에서는 Ext2Fsd를 전체 EXT2, EXT3 및 EXT4 액세스에 사용하고 Macdrive는 전체 MacOS 형식 액세스에 사용했습니다. NTFS 및 기타 파티션에 완전히 액세스 할 수있는 Linux 및 MacOS 용 툴도 있습니다. 읽기 액세스 만 필요한 경우 드라이버가 필요하지 않으며 Linux 및 MacOS는 NTFS 파티션 읽기를 지원하므로 USB를 NTFS로 포맷하십시오! 이러한 모든 컴퓨터가 동일한 네트워크에 있으면 작업이 더 쉬워집니다! USB를 포맷하여 네트워크에서 공유하십시오. 다른 컴퓨터에는 액세스하는 데 문제가 없어야합니다!