Setelah gagal menyalin file yang lebih besar dari 4G ke flash drive 8G USB saya, saya memformatnya sebagai ext3. Walaupun ini bekerja dengan baik untuk saya sejauh ini, itu akan menyebabkan masalah jika saya ingin menggunakannya untuk menyalin file ke seseorang yang tidak menggunakan Linux.
Saya berpikir untuk memformatnya sebagai UDF , yang saya harap akan membuatnya dapat dibaca (dan mungkin bahkan ditulis) pada tiga sistem operasi paling populer (Windows, MacOS, dan Linux), tanpa harus menginstal driver tambahan apa pun . Namun, dari apa yang saya temukan di web sudah, tampaknya ada beberapa gotcha kecil yang terkait dengan parameter yang digunakan untuk membuat sistem file, yang dapat mengurangi kompabilitas (tetapi sebagian besar halaman yang saya temukan adalah tentang media optik, bukan USB flash drive).
Saya ingin tahu:
- Utilitas mana yang harus saya gunakan untuk membuat sistem file? (Sejauh ini saya telah menemukan
mkudffs
dangenisoimage
, danmkudffs
sepertinya pilihan terbaik.) - Parameter mana yang harus saya gunakan dengan utilitas yang dipilih untuk kompatibilitas maksimum?
- Seberapa kompatibel dengan versi paling umum dari ketiga sistem operasi ini UDF sebenarnya?
- Apakah menggunakan UDF sebenarnya adalah ide terbaik? Apakah ada sistem file lain yang akan memiliki kompatibilitas yang lebih baik, tanpa batasan yang bermasalah seperti batas ukuran file FAT32 4G, dan tanpa harus menginstal driver khusus di setiap komputer yang menyentuhnya?
Jawaban:
Pertama, saya memusatkan perhatian total pada drive sebelum membuat sistem file UDF dengan:
Ini untuk menghindari superblok sisa atau metadata lain yang dapat membingungkan deteksi tipe sistem file sistem operasi (paling tidak memusatkan perhatian pada sektor pertama yang diperlukan, untuk menghapus tabel partisi; beberapa sektor pertama tidak digunakan oleh UDF, dan sisa) tabel partisi benar-benar dapat membingungkan hal). Anda juga dapat menggunakan
count=1
sakelar pada perintah dd, agar lebih cepat nol hanya 512 byte pertama dari drive (tempat MBR biasanya berada di dalam), meskipun ini tidak diuji.Untuk membuat sistem file, perintah yang saya gunakan adalah:
mkudffs
perintah akan tersedia pada distro Linux berbasis Debian (seperti Ubuntu) setelah menginstaludftools
paket:Blocksize default untuk
mkudffs
adalah 2048, yang salah untuk USB flash drive (yang menggunakan sektor 512-byte). Karena ukuran blok digunakan untuk menemukan metadata sistem file, menggunakan ukuran blok yang salah dapat membuatnya tidak dikenali sebagai sistem file UDF (karena jangkar tidak akan berada di tempat yang diharapkan oleh driver sistem file). Perhatikan bahwamkudffs
halaman manual salah; 512 adalah nilai yang valid untuk ukuran blok (dan kode menerimanya secara eksplisit).Saya juga menggunakan seluruh drive bukannya partisi; ini harus lebih kompatibel.
Hasil pengujian saya sejauh ini:
bs=512
opsi untukmount
, karena ia menggunakan 2048 dengan salah daripada ukuran sektor perangkat (tetap dalam kom 1197e4d ).Sementara saya sejauh ini belum mencoba membuat file yang lebih besar dari 4G di dalamnya, saya tidak melihat alasan mengapa itu tidak akan berhasil.
Mengingat bahwa itu bekerja dengan baik pada semua sistem operasi terbaru (hanya harus me-mount secara manual di Linux, yang tidak akan diperlukan lagi segera setelah Ubuntu 9.10 dan Fedora 12 keluar), dan bekerja hanya-baca di Windows XP (yang mengejutkan bagi saya; Saya mengharapkannya untuk tidak mengenali sistem file sama sekali), menggunakan UDF daripada FAT32 atau NTFS di USB flash drive besar sepertinya ide yang bagus.
sumber
dd if=/dev/zero of=/dev/sdb bs=1M
, yang membuatnya tanpa tabel partisi.CesarB melakukan pekerjaan dengan baik sampai ke inti masalah. Satu hal yang tidak dapat digarisbawahi adalah betapa pentingnya menggunakan ukuran blok yang tepat saat memformat UDF.
Terinspirasi oleh posting CesarB (dan penelitian / pengujian saya yang lain), saya menulis naskah untuk mengotomatiskan proses pemformatan dalam UDF - menggunakan ukuran sektor yang terdeteksi dengan benar. Lihat format-udf di GitHub . Fitur-fitur penting:
Karena poin terakhir, skrip yang saya tulis ini tidak dapat digunakan di Windows. Namun, skrip akan berjalan di OS X dan Linux. Setelah melakukannya, Windows seharusnya dapat secara ajaib mendeteksi drive UDF yang baru diformat.
Untuk langsung menjawab pertanyaan yang diposting, format-udf akan:
sumber
hdparm
disebut "Ukuran sektor logis" adalah unit pengalamatan yang digunakan oleh protokol SATA, sedangkan "Ukuran sektor fisik" adalah hal internal drive. Bagi saya lebih masuk akal bahwa "blok fisik" dalam spesifikasi UDF benar-benar berarti "blok logis" Linux.mkudffs
secara langsung; Maksud saya menambahkan beberapa--best-block-size
opsi baru kemkudffs
.Sepertinya saya ingat pernah melakukan itu, masalah yang saya temukan adalah versi linux yang saya pasang hanya baca, karena driver belum dibuat untuk r / w. Itu berhasil di windows, dan saya pikir mac.
Ya, solusi yang baik sulit ditemukan. Untuk sementara saya memiliki drive eksternal dengan partisi FAT32 yang memiliki driver untuk win dan mac, partisi mac, dan partisi ext3 besar. Itu berhasil, tetapi itu berarti menginstal driver. Trik yang rapi adalah ternyata itu juga dapat di-boot pada mac (fw & usb), Anda harus meninggalkan ruang dan membuat beberapa catatan, kemudian Anda dapat menambahkan partisi melalui baris perintah dan tabel partisi mac juga.
Dunia membutuhkan sistem file yang gratis dan dapat digunakan oleh segalanya. ZFS akan menjadi pilihan yang bagus. :-)
sumber
Pieter Wuille menulis alat untuk mempartisi dan memformat disk untuk membuat tata letak UDF yang akan kompatibel dengan Windows (> = Vista, hanya baca untuk XP), MacOS X 10.5, Linux 2.6.30+:
Kalau tidak:
sumber
Untuk mencapai kompatibilitas maksimal, Anda harus menggunakan mkudffs dari proyek udftools setidaknya di versi 2.0. Tidak diperlukan parameter khusus, semuanya terdeteksi secara otomatis.
Ada 3 batasan besar:
Sistem Microsoft Windows tidak mengenali hard disk yang tidak dapat dilepas jika tidak memiliki tabel partisi MBR atau GPT.
Sistem Apple Mac OS X tidak mengenali sistem file UDF pada disk yang dipartisi.
Mungkin semua sistem (kecuali kernel Linux terbaru) tidak mengenali sistem file UDF jika ukuran blok UDF tidak cocok dengan ukuran sektor logis dari disk.
Alat mkudff sejak versi 2.0 menangani semua 3 pembatasan. Saat memformat hard disk yang tidak dapat dilepas, itu menciptakan tabel MBR "palsu" yang dimulai pada sektor 0 dan mencakup seluruh disk. Jadi sistem file UDF dapat dibaca dari partisi pertama (diperlukan untuk Microsoft Windows) atau dari seluruh disk (diperlukan untuk Apple Mac OS X). Lihat halaman manual mkudffs 2.0 untuk lebih jelasnya.
sumber
NTFS, dengan NTFS-3G Anda dapat menulis menggunakan Linux dan lihat di http://macntfs-3g.blogspot.com/ untuk Mac Anda.
sumber
Ada driver untuk Windows (dan Mac) yang dapat mengakses partisi EXT3, sehingga Anda dapat memformatnya ke EXT3 dan menggunakannya (dengan driver) di mana-mana. Cara lain adalah dengan menggunakan archiever untuk menyimpan file besar dalam dua atau lebih file hingga masing-masing 4GB. Dengan cara ini Anda dapat menggunakan sistem file FAT32 yang bersifat universal. Di komputer induk Anda harus mengekstrak arsip untuk menggunakannya, tetapi ini adalah cara untuk melakukannya tanpa driver. Gunakan pengarsipan format RAR karena berfungsi pada Windows, Linux, Mac, meskipun saya pikir format ZIP juga bisa digunakan. Tapi saya akan pergi dengan pengemudi. Setelah diinstal Anda dapat melakukan apa saja tanpa batasan. Di PC saya telah menggunakan Ext2Fsd untuk EXT2 penuh, EXT3 dan EXT4 akses dan Macdrive untuk akses format MacOS penuh. Tentunya ada alat serupa untuk Linux dan MacOS juga untuk sepenuhnya mengakses partisi NTFS dll. Jika Anda hanya perlu akses baca, Anda tidak memerlukan driver apa pun, Linux dan MacOS mendukung membaca partisi NTFS, jadi format USB sebagai NTFS! Jika semua komputer ini berada di jaringan yang sama, semuanya lebih mudah! Buat USB baik format dan bagikan di jaringan. Komputer lain seharusnya tidak memiliki masalah mengaksesnya!
sumber