Bisakah dan haruskah UDF digunakan sebagai format hard drive?

32

Beberapa waktu baru-baru ini saya melihat UDF disarankan sebagai solusi untuk format lintas platform untuk drive yang digunakan di Linux, Mac OS X dan Windows XP dan di atasnya.

Saya telah mencari di sini dan tidak menemukan saran yang sama (kebanyakan menyarankan ntfs-3g yang tampaknya membutuhkan biaya dan tidak diinstal pada Mac).

Jadi pertanyaan saya adalah: bagaimana ini dilakukan dengan benar, dan adakah yang melakukan ini? Apakah Anda kemudian mengisi drive dan menghapus beberapa file untuk membuat ruang menemukan bahwa semuanya berfungsi seperti format r / w nyata meskipun tampaknya terutama sekali format tulis?

Sebut saya gila, tetapi saya benar-benar suka jika sistem UDF juga akan diautount dan dapat ditulis oleh pengguna yang masuk. Apa yang saya coba sejauh ini (format udftools seperti yang disebutkan oleh kicsyromy) tidak menjawab keinginan ini.

dlamblin
sumber
1
Satu klarifikasi: ntfs-3ggratis. Kode sumbernya gratis (yaitu, tersedia tanpa biaya). Ini juga gratis seperti dalam kebebasan . ntfs-3gadalah driver NTFS di Ubuntu! Agak teknis untuk secara manual membangun / menginstalnya di OS X, dan Tuxera (pengembangnya) menawarkan versi payware berpemilik yang pada dasarnya adalah ntfs-3gdriver gratis yang dibuat dan dikemas untuk instalasi dan penggunaan yang mudah di OS X. Tanpa driver tambahan, OS X hanya akan membaca (tidak menulis) volume NTFS, jadi Anda benar untuk mempertimbangkan sistem file lain.
Eliah Kagan
@ EliahKagan Jadi jika ntfs-3g adalah "gratis", lalu mengapa Apple tidak memasukkannya untuk memungkinkan dukungan r / w untuk NTFS?
user29020
@ user29020 Saya tidak tahu sementara Apple memilih untuk tidak memasukkannya, tetapi Anda dapat memverifikasi itu gratis dengan mengunduh kode sumber (saat ini file ini ), mengekstraknya, dan melihat bahwa COPYINGfile tersebut adalah GNU GPL . Mungkin Apple tidak ingin melakukan pekerjaan mengintegrasikannya sehingga dapat digunakan secara mulus dari Finder. Lihat juga tuxera.com/products/tuxera-ntfs-for-mac dan sourceforge.net/projects/catacombae .
Eliah Kagan
1
@ user29020 Biaya dukungan (bagaimana jika agak buggy)? Batasan hukum? Gratis di bawah Lisensi GNU GPL berarti hanya dapat ditambahkan ke sumber / binari yang ada yang pada gilirannya juga tersedia di bawah GPL. (LGPL akan mengizinkannya digunakan sebagai perpustakaan oleh kode non-GPL lainnya). Mengingat bahwa kode apel sebagian besar milik dan sebaliknya di bawah APSL yang bukan lisensi yang kompatibel dengan GPL, itu adalah batasan yang harus mereka patuhi. gnu.org/philosophy/apsl.html
dlamblin

Jawaban:

14

Tidak.

Kami berada di 2015 pada saat balasan ini. Saya menggunakan OSX Yosemite, Ubuntu 14.10, dan pratinjau teknis Windows 10 untuk perusahaan pada mesin Mactel (Macmini 7,1).

Saya mencoba UDF dan exFat. Saya menggunakan Ubuntu untuk pengembangan dan perlu izin gaya Unix.

Semua panduan sebelumnya tidak berlaku lagi: driver UDF telah berevolusi dan semua sistem operasi akan menerima partisi UDF, dengan lebih banyak masalah dan ketidakstabilan daripada yang bisa saya sebutkan.

  • Drive UDF diformat pada Mac OS: tidak dapat dipasang di Windows 10.
  • Drive UDF diformat di Linux: tidak dapat dipasang di Windows 10.
  • Drive UDF diformat pada Windows 10: mount baca / tulis di Linux, baca-saja di OSX.

Namun, Windows tidak memungkinkan Anda untuk menentukan ukuran blok ketika memformat volume UDF, dan sebagai hasilnya, ukuran blok logis Anda mungkin berbeda dari ukuran blok fisik untuk partisi.

Saya tidak yakin apakah ini ada kaitannya dengan kesulitan yang saya miliki saat memasang / membaca di OSX, tetapi setelah menghapus sejumlah file menggunakan Linux, saya tidak pernah dapat memasang drive lagi di OSX.

Sistem menjadi panik kernel dan crash secara memalukan.

Ini, dan berbagai jawaban pada subjek, menunjukkan dukungan yang tidak konsisten untuk format ini pada saat ini.

Tampaknya ada beberapa cara saya dapat menggunakan volume NTFS untuk mencapai keseimbangan antara fitur sistem file modern, izin gaya Unix - saya mungkin dapat mengaturnya - dan membaca / menulis mount pada semua sistem operasi.

Mauro Colella
sumber
1
OSX didasarkan pada BSD. Jadi ya, OSX Yosemite (10.10.2) yang mengalami kepanikan kernel. Saya akhirnya menggunakan NTFS, dan NTFS 3d untuk OSX.
Mauro Colella
1
@Argo referensi kedua menyatakan, "-b 512 adalah untuk memaksa ukuran blok sistem file sama dengan ukuran blok fisik stik USB, seperti yang dipersyaratkan oleh spesifikasi UDF. Adaptasikan itu jika Anda beruntung memiliki stik USB dengan ukuran blok yang lebih tepat. " Jadi itu memungkinkan Anda menentukan ukuran blok tetapi harus ditentukan sebagai nilai yang diperlukan.
JDługosz
1
Windows 10 yang tidak dipasang oleh OS X / OS X tidak dipasang adalah karena perbedaan dalam bagaimana setiap OS menangani tabel partisi. Windows 10: Membutuhkan satu. Mac OS X: Membutuhkan UDF untuk berada di drive kosong, sebagai partisi keseluruhan drive.
DrYak
2
Ada alat pemformatan yang menangani masalah ketidakstabilan: github.com/JElchison/format-udf
velop
15

Seseorang melakukan riset tentang cara memformat flash drive dengan udf sehingga dapat digunakan pada sistem operasi sebanyak mungkin. Berikut ini adalah temuannya (dulu ada di sana , sekarang offline):

  • Windows 7 memiliki dukungan penuh hingga UDF v2.6, tetapi ukuran blok UDF harus cocok dengan ukuran blok perangkat yang mendasarinya (yang untuk USB-stick dan kebanyakan disk adalah 512 byte; disk "format lanjutan" adalah 4.096 byte). Rupanya disk harus dipartisi.

  • Linux 2.6.30 dan lebih tinggi mendukung UDF sepenuhnya setidaknya hingga versi 2.5.

  • Mac OS X 10.5 mendukung UDF sepenuhnya hingga UDF 2.01, tetapi hanya bila digunakan pada disk penuh, jadi tidak dipartisi.

Seperti yang dijelaskan di atas, untuk harddisk USB, Windows mengharuskan disk untuk dipartisi. Di sisi lain, UDF hanya berfungsi di OS X saat digunakan pada disk penuh (tidak dipartisi). Agak mengherankan, ada solusi yang berfungsi untuk keduanya: memiliki disk dipartisi dan tidak dipartisi pada saat yang sama.

Tabel partisi DOS disimpan dalam byte 446-510 dari catatan boot master. Master boot record ini disimpan di sektor pertama pada disk, sektor 0. Biasanya, partisi pertama yang ditentukan akan memulai beberapa kilobyte lebih lanjut. Namun, tampaknya mungkin untuk membangun tabel partisi yang partisi pertamanya dimulai pada sektor 0, sehingga hasilnya adalah partisi yang berisi tabel partisi itu sendiri. Program editor partisi tampaknya menolak untuk membuat tabel seperti itu, tetapi setidaknya kernel Linux dan Windows baru-baru ini tampaknya tidak mengganggu.

Yang menyenangkan adalah bahwa UDF tidak (saya kira sengaja) menggunakan beberapa kilobyte pertama dari partisi atau disk yang diletakkan di atasnya, sehingga tempat ini benar-benar dapat digunakan untuk menyimpan tabel partisi lawas, merujuk pada partisi yang membentang keseluruhan disk. Beberapa pengujian menunjukkan bahwa ini benar-benar berfungsi di Linux, Windows dan Mac OS X:

  • Mounts secara otomatis baca-tulis di Linux 2.6.30+, Mac OS X 10.5+, Windows Vista +
  • Dapat digunakan read-only di Windows XP, dan digunakan setelah command line mount di Linux 2.6.0+
  • Mendukung file besar, izin UNIX, nama file Unicode, symlink, hardlink, dll.

Script untuk memformat disk dengan benar: skrip Perl atau skrip Bash

Dan Benamy
sumber
12

Saya baru saja menguji ini di VM. Tampaknya Anda perlu (kembali) membuat partisi di Windows, berikan huruf drive tetapi jangan memformatnya ke sistem file apa pun. Setelah itu boot ke Ubuntu dan ikuti saja petunjuknya dan itu akan bekerja untuk baca / tulis.

Ingatlah untuk membuat cadangan semua data Anda!

Pertama-tama instal alat UDF:

sudo apt-get install udftools

Ganti blok pertama tanpa apa-apa di partisi yang ingin Anda format menjadi UDF ^:

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

Dan akhirnya format ke UDF ^:

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

^ dimana oleh:

  • x adalah pengganti untuk surat yang saat ini ditugaskan untuk hardisk Anda

  • N adalah pengganti untuk nomor partisi

Semoga beruntung dan beri tahu saya jika itu berhasil untuk Anda.

kicsyromy
sumber
Terima kasih, ini menjawab caranya; Saya masih tertarik untuk mencari tahu apakah itu bekerja dengan cukup baik dengan skenario di atas.
dlamblin
Ini bekerja dengan baik untuk saya. Satu-satunya masalah adalah bahwa saya harus secara manual me-mount partisi di Windows menggunakan Disk Manager. Selain itu, saya dapat mengkonfirmasi bahwa ia bekerja dengan banyak partisi pada hard-disk juga (Saya menggunakan 1udf + 2ext4)
Nemo
Kuncinya di sini adalah untuk benar-benar membuat partisi dan kemudian membuat sistem file UDF di sana. Jika Anda tidak membuat partisi apa pun, itu akan bekerja di Linux, tetapi tidak di Windows (7). Itu pengalaman saya.
DanMan
@DanMan Dan tampaknya telah menemukan seseorang yang memecahkan masalah itu dan menyediakan skrip untuk memformat seluruh disk dengan UDF untuk Linux, Mac dan Windows 7, serta hanya-baca di Win XP.
dlamblin
@kicsyromy: memformat partisi (sdxN) ke UDF tidak berfungsi, mengeksekusi sudo mkudffs --media-type=hd --blocksize=512 /dev/sdd1memberikan pesan kesalahan berikut: trying to change type of multiple extents Namun saya berhasil memformat UDF menggunakan seluruh disk (sdd) seperti dijelaskan di sini: superuser.com/questions/39942/using- udf-on-a-usb-flash-drive
Tim Banchi