it-swarm.asia

USB flash sürücüde UDF kullanma

4G'den büyük bir dosyayı 8G'ime kopyalayamadığımda SB flash drive , ext3 olarak biçimlendirdim. Bu benim için şu ana kadar iyi çalışıyor olsa da, dosyaları Linux kullanamayan birisine kopyalamak için kullanmak istersem sorunlara neden olacak.

Bunun yerine UDF olarak biçimlendirmeyi düşünüyorum, bunun yerine en popüler üç işletim sisteminde (Windows, MacOS ve Linux) okunmasını (ve muhtemelen yazılmasını) umarım. herhangi bir ilave sürücü yüklemek zorunda kalmadan . Bununla birlikte, web’de zaten bulduklarımdan, dosya sisteminin oluşturulmasında hangi parametrelerin kullanıldığına ilişkin bazı küçük kazanımlar var gibi görünüyor, bu da uyumluluğu azaltabilir (ancak bulduğum sayfaların çoğu USB flaş ile değil optik medya ile ilgili. sürücüler).

Bilmek isterim:

  • Dosya sistemini oluşturmak için hangi yardımcı programı kullanmalıyım? (Şimdiye kadar mkudffs ve genisoimage öğelerini buldum ve mkudffs en iyi seçenek gibi görünüyor.)
  • Maksimum uyumluluk için seçilen yardımcı program ile hangi parametreleri kullanmalıyım?
  • Bu üç işletim sisteminin en yaygın sürümleriyle ne kadar uyumlu UDF aslında?
  • UDF kullanmak aslında en iyi fikir midir? FAT32 4G dosya boyutu sınırı gibi herhangi bir problemli kısıtlama olmadan ve ona dokunan her bilgisayara özel sürücüler kurmak zorunda kalmadan daha iyi bir uyumluluğa sahip olacak başka bir dosya sistemi var mı?
74
CesarB

İlk olarak, UDF dosya sistemini oluşturmadan önce sürücüyü tamamen sıfırladım:

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

Bu, işletim sistemlerinin dosya sistemi tipini saptamaya yol açabilecek artık süper bloklardan veya diğer meta verilerini önlemek içindir (en azından ilk sektörü sıfırlamak, bölüm tablosunu yok etmek için gerekli olmalıdır; ilk birkaç sektör UDF tarafından kullanılmaz ve kalanlar) bölümleme tablosu gerçekten işleri karıştırabilirdi). Ayrıca, test edilmemiş olsa da, sürücünün yalnızca ilk 512 baytını (MBR genellikle içinde bulunur) sıfır hızla sıfırlamak için dd komutundaki count=1 anahtarını kullanabilirsiniz.

Dosya sistemini oluşturmak için kullandığım komut şuydu:

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

mkudffs komutu, bir udftools paketi yükledikten sonra Debian tabanlı Linux dağıtımlarında (Ubuntu gibi) kullanılabilir olacak:

Sudo apt-get install udftools

mkudffs için varsayılan blok boyutu, bir USB flash sürücü için yanlış olan 2048'dir (512 bayt sektörler kullanır). Blok boyutu dosya sistemi meta verilerini bulmak için kullanıldığından, yanlış bir blok boyutu kullanmak UDF dosya sistemi olarak tanınmamasını sağlayabilir (çapa dosya sistemi sürücüsünün beklediği yerde olmayacaktır). mkudffs man sayfasının yanlış olduğuna dikkat edin; 512, blok büyüklüğü için geçerli bir değerdir (ve kod açıkça kabul eder).

Ayrıca bölüm yerine tüm sürücüyü kullandım; bu daha uyumlu olmalı.

Şimdiye kadar yaptığım testlerin sonucu:

  • En son çekirdeğe sahip Linux (2.6.31, Ubuntu 9.10'dan): çalışır.
  • Eski bir çekirdeğe sahip Linux: bs=512 seçeneğinin mount işlevine ihtiyacı vardır, çünkü aygıt sektörü boyutu yerine 2048 yanlış kullanılır ( sabit 1197e4d ).
  • Windows Vista: çalışır.
  • Yepyeni bir Mac: çalışır.
  • Windows XP: para cezası okuyabilir, ancak yazmaya çalışırken "reddedildi" ifadesini verir; Ayrıca diskin dolu olduğunu düşünüyor gibi görünüyor.

Şimdiye kadar 4G'den büyük bir dosya oluşturmayı denememiş olmama rağmen, çalışmamasının nedenini göremiyorum.

Son işletim sistemlerinde mükemmel çalıştığı göz önüne alındığında (yalnızca Linux üzerinde elle monte etmek zorunda kaldıklarını, ancak Ubuntu 9.10 ve Fedora 12 çıktığı andan itibaren gerekmeyecek) ve Windows'da salt okunur çalıştığını belirtti.XP (ki bu benim için bir sürprizdi; dosya sistemini hiç tanımamasını bekliyordum), büyük USB flash sürücülerinde FAT32 veya NTFS yerine UDF kullanmak iyi bir fikir gibi görünüyor.

55
CesarB

CesarB, sorunun yoğunluğuna ulaşmak için iyi bir iş yaptı. Yeterince vurgulanamayan bir şey UDF'yi biçimlendirirken uygun blok boyutunu kullanmanın ne kadar önemli olduğudur.

CesarB'nin görevinden (ve diğer araştırma/testlerimden) esinlenerek, doğru şekilde algılanan sektör boyutunu kullanarak UDF'de biçimlendirme işlemini otomatikleştirmek için bir senaryo yazdım. Bakınız GitHub'da format-udf . Önemli özellikleri:

  • Bir blok sürücüyü (sabit sürücü veya Flash sürücü) Evrensel Disk Formatında (UDF) formatlar
    • UDF revizyonu 2.01 maksimum uyumluluk için kullanılır
    • Mevcut 40 MBR'yi silmek için ilk 4096 sektör sıfırlandı (uygun UDF algılama için gerekli)
  • Sonuçta ortaya çıkan dosya sistemi birden fazla işletim sistemi ailesi (Windows, OS X ve Linux) üzerinden okunabilir/yazılabilir
  • Bash ortamına sahip tüm işletim sistemlerinde çalışır

Son noktadan dolayı, yazdığım bu script Windows'da kullanılamıyor. Ancak, komut dosyası OS X ve Linux üzerinde çalışacak. Bunu yaptıktan sonra, Windows yeni biçimlendirilmiş UDF sürücüsünü sihirli bir şekilde tespit edebilmelidir.

Yayınlanan soruları doğrudan cevaplamak için, format-udf:

  • işletim sistemi ve çevreye göre biçimlendirme için uygun aracı seçin
  • biçimlendirme için gerekli tüm parametreleri otomatik olarak algıla ve doldur
  • i̇şletim Sistemi uyumluluğunu en üst düzeye çıkarın (uyumluluk tablosu için GitHub sayfasına bakın)
  • askerin aradığı maksimum özellik setini (ve asgari kısıtlamaları) vermek
7
j0nam1el

Bunu yaptığımı hatırlıyor gibiyim, bulduğum sorun şuydu ki linux versiyonunun sadece okuma için okudum, çünkü sürücü r/w için yapılmamıştı. Pencerelerde işe yaradı ve sanırım mac.

Evet, iyi bir çözüm bulmak zor. Bir süredir win32 ve mac sürücüleri, mac bölümü ve büyük ext3 bölümü içeren fat32 bölümünden oluşan harici bir sürücü kullandım. İşe yaradı, ancak sürücü yüklemek anlamına geliyordu. Düzgün bir numara, aynı zamanda bir mac (fw & usb) üzerine önyüklenebilir olmasıydı, boşluk bırakmak ve bazı notlar almak zorundasınız, daha sonra komut satırı ve mac bölümleme tablosu yoluyla bölümler ekleyebilirsiniz.

Dünyanın özgür, her şeyde kullanılabilir bir dosya sistemine ihtiyacı var. ZFS, Güzel bir seçim olacaktır. :-)

3
Ronald Pottol

Pieter Wuille, bir diski bölümlemek ve biçimlendirmek için bir araç yazdı, hem UDF hem Windows ile uyumlu bir düzen oluşturmak için (> = Vista, salt okunur) XP için), MacOS X 10.5, Linux 2.6.30+:

Alternatif:

2
dolmen

Maksimum uyumluluk elde etmek için, dftools projesinden en az 2.0 sürümünde mkudffs kullanmalısınız. Özel bir parametre gerekmez, her şey otomatik olarak belirlenir.

3 büyük kısıtlama var:

  1. Microsoft Windows sistemleri, MBR veya GPT bölüm tablosu yoksa, çıkarılabilir olmayan sabit diski tanımıyor.

  2. Apple Mac OS X sistemleri, bölümlenmiş diskteki UDF dosya sistemini tanımıyor.

  3. Muhtemelen tüm sistemler (son Linux çekirdeği hariç), UDF blok boyutu diskin mantıksal kesim boyutuyla eşleşmiyorsa UDF dosya sistemini tanımıyor.

2.0 sürümünden bu yana aracı mkudffs, tüm 3 kısıtlamaları uygular. Çıkarılabilir olmayan sabit diskleri biçimlendirirken, sektör 0'dan başlayan ve tüm diski kapsayan "sahte" MBR tablosu oluşturur. Böylece UDF dosya sistemi ya ilk bölümden (Microsoft Windows için gerekli) ya da tüm diskten (Apple Mac OS X için gerekli) okunabilir. Daha fazla bilgi için mkudffs 2.0 man sayfasına bakın.

1
Pali

NTFS, NTFS-3G ile Linux kullanarak yazabilir ve Mac'iniz için http://macntfs-3g.blogspot.com/ 'a bakabilirsiniz.

0
user10547