Dengan alat apa saya harus memformat hard drive sebagai UDF?

32

(Ini merupakan tindak lanjut untuk " Apa jenis partisi id / sistem file untuk UDF? ")

Saya tahu dua cara untuk memformat hard drive sebagai UDF:

  • Windows Vista atau yang lebih baru: " format x: /fs:UDF" (jangan gunakan /q!)
  • Linux: " mkudffs --media-type=hd --blocksize=512 /dev/sdx"

Masalahnya adalah bahwa 'yang lain' OS tidak mengenali disk sebagai diformat sama sekali: itu hanya menolak untuk me-mount, tidak peduli apa perintah yang saya coba.

Bagaimana saya bisa memformat hard drive sebagai UDF sehingga Windows dan Linux dapat menggunakannya?

EDIT: memperbarui perintah, sekarang hasilnya harus bekerja di salah satu OS.

skolima
sumber
UDF dirancang untuk media optik, mungkin itu masalahnya?
Chopper3
1
Perintah yang Anda berikan bekerja sangat baik di Linux. Saya diformat di Karmic, dan dapat membaca dan menulis di bawah Windows 7 dan Karmic.
Matt Joiner
4
Jangan lupa untuk nol MBR pertama (dd jika = / dev / nol = / dev / sdx bs = 512 count = 1), untuk menghindari kebingungan dengan tabel partisi sisa (karena UDF tidak menggunakan sektor pertama).
CesarB
1
Terima kasih Skolima, ini bagus. Sampai jumpa, FAT32. Saya hanya perlu berhati-hati untuk tetap menggunakan UDF versi 2.01 dan untuk ukuran blok 512 dan saya memiliki partisi hard disk yang sempurna yang dibagikan di Linux dan Windows.
MarcH

Jawaban:

17

Ternyata menggunakan /qsakelar pada Windows adalah penyebabnya: mengaktifkan 'format cepat', yaitu proses pemformatan berlanjut di latar belakang dengan setiap penulisan yang dilakukan ke disk. Setelah selesai, drive ditangani oleh Linux dengan baik.

skolima
sumber
Di sisi lain, memformat dengan mkudffs Linux tampaknya berhasil diselesaikan dalam hitungan detik.
MarcH
Saya sebenarnya harus melakukan format cepat di Win7 setelah membuat sistem file dengan mkudff di Linux. Tanpa itu, Windows hanya ingin memformat drive. Itu akhirnya menciptakan ruang kosong 5MB di ujung drive, untuk alasan apa pun. Tapi setidaknya itu berfungsi di kedua OS sekarang.
DanMan
Sebagai balasan kepada diri saya: 5MB itu mungkin merupakan blok data meta di versi UDF terbaru.
DanMan
1
Sangat salah! Pemformatan cepat BUKAN "melanjutkan format di latar belakang". Ini hanya inisialisasi sistem file tanpa memformat trek.
Anixx
6

Saat memformat UDF, satu hal yang tidak dapat digarisbawahi adalah betapa pentingnya menggunakan ukuran blok yang tepat saat memformat UDF. Seperti dijelaskan di sini , menggunakan ukuran blok yang dikonfigurasi yang tidak cocok dengan ukuran sektor fisik kemungkinan berarti bahwa beberapa sistem operasi tidak akan dapat mendeteksi drive sebagai UDF yang valid.

Terinspirasi oleh jawaban yang tertaut di atas (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:

  • Memformat blok drive (hard drive atau Flash drive) dalam Universal Disk Format (UDF)
    • Revisi UDF 2.01 digunakan untuk kompatibilitas maksimal
    • Sektor 4096 pertama dihilangkan untuk menghapus MBR yang ada (diperlukan untuk deteksi UDF yang tepat)
  • Sistem file yang dihasilkan dapat dibaca / ditulis di beberapa keluarga sistem operasi (Windows, OS X, dan Linux)
  • Berjalan pada OS apa pun yang memiliki lingkungan Bash

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 mendeteksi secara ajaib drive UDF yang baru diformat.

Untuk langsung menjawab pertanyaan yang diposting, format-udf akan:

  • pilih alat yang sesuai untuk memformat berdasarkan sistem operasi dan lingkungan ( mkudffsdi Linux)
  • secara otomatis mendeteksi dan mengisi semua parameter yang diperlukan untuk memformat (termasuk blocksize)
  • memaksimalkan kompatibilitas OS (lihat halaman GitHub untuk bagan kompatibilitas)
  • menghasilkan set fitur maksimum (dan batasan minimal) yang dicari oleh penanya
j0nam1el
sumber
5

Bagaimana Anda mencocokkan penemuan Anda dalam pertanyaan sebelumnya (bahwa sistem file UDF harus dibuat di seluruh disk, bukan partisi) dengan perintah Windows itu ("format x: / fs: UDF")? Dalam upaya saya, Windows hanya memberikan huruf drive ke partisi.

Sejauh memformat untuk kompatibilitas, saya pikir kuncinya adalah dalam ukuran blok. Karena sebagian besar hard drive dan stik USB memiliki ukuran blok 512 byte, saya memiliki kompatibilitas yang paling ketika saya membuat FS ukuran blok itu. Saya pikir format.com menggunakan ukuran blok itu, dan mkudffs memiliki perintah untuk mengubah ukuran blok. Saya hanya bisa mendapatkan OS X dan Windows untuk me-mount sistem file ketika saya menggunakan blok 512 byte. Versi Linux yang lebih lama mengasumsikan ukuran blok 2048, tetapi Anda selalu dapat melakukan mount dengan "-o bs = 512".

Masalah seluruh disk vs partisi masih menyebabkan masalah kompatibilitas. Windows tidak akan dipasang ketika saya memformat seluruh disk, dan OS X tidak melihat di luar nomor tipe partisi ketika menentukan sistem file, memaksa saya untuk memasangnya secara manual. Linux tidak peduli, selama saya memberikan nama perangkat yang sesuai (sda vs sda1).

Singkatnya, pengaturan paling kompatibel yang saya temukan adalah partisi tipe 06 (FAT16), yang diformat dengan UDF pada ukuran blok 512. Bekerja secara otomatis pada Windows, dan sedikit intervensi manual pada Linux dan OS X.

Simon
sumber
3
Saya sudah mencoba eksperimen lain. Kali ini saya menggunakan USB flash stick sebagai ganti hard drive. Diformat dengan "mkudffs --media-type = hd --blocksize = 512 / dev / sda", bekerja tanpa kesulitan di Linux, OS X, dan Vista. Sayang sekali Windows tampaknya memungkinkan format tanpa partisi pada stik USB tetapi tidak pada hard drive.
Simon
Anda pasti ingin menjaga ukuran blok yang sama untuk menghindari penggunaan memori flash sebelum waktunya, lihat: lwn.net/Articles/428584
MarcH