(Jest to kontynuacja „ Jaki jest identyfikator partycji / typ systemu plików dla UDF? ”)
Znam dwa sposoby sformatowania dysku twardego jako UDF:
- Windows Vista lub nowszy: „
format x: /fs:UDF
” (nie używaj/q
!) - Linux: „
mkudffs --media-type=hd --blocksize=512 /dev/sdx
”
Problem polega na tym, że „inny” system operacyjny w ogóle nie rozpoznaje dysku jako sformatowanego: po prostu odmawia zamontowania go, bez względu na to, jakie polecenia spróbuję.
Jak sformatować dysk twardy jako UDF, aby zarówno Windows, jak i Linux mogły go używać?
EDYCJA: zaktualizowałem polecenia, teraz wynik powinien działać w dowolnym systemie operacyjnym.
windows
formatting
skolima
źródło
źródło
Odpowiedzi:
Okazuje się, że
/q
winowajcą było użycie przełącznika w systemie Windows: umożliwia on „szybki format”, tzn. Proces formatowania trwa w tle przy każdym zapisie na dysku. Po zakończeniu dysk jest obsługiwany przez system Linux w porządku.źródło
Podczas formatowania UDF jedną rzeczą, której nie można wystarczająco podkreślić, jest to, jak ważne jest użycie odpowiedniego rozmiaru bloku podczas formatowania UDF. Jak wyjaśniono tutaj , użycie skonfigurowanego rozmiaru bloku, który nie odpowiada rozmiarowi sektora fizycznego, prawdopodobnie oznacza, że niektóre systemy operacyjne nie będą w stanie wykryć dysku jako prawidłowego UDF.
Zainspirowany powyższą odpowiedzią (i innymi moimi badaniami / testami) napisałem skrypt automatyzujący proces formatowania w UDF - z wykorzystaniem odpowiednio wykrytego rozmiaru sektora. Zobacz format-udf na GitHub . Ważne funkcje:
Z powodu ostatniego punktu tego skryptu, który napisałem, nie można używać w systemie Windows. Jednak skrypt będzie działał w systemach OS X i Linux. Po wykonaniu tej czynności system Windows powinien być w stanie magicznie wykryć nowo sformatowany dysk UDF.
Aby bezpośrednio odpowiedzieć na zadane pytania, format-udf:
mkudffs
w systemie Linux)blocksize
)źródło
Jak pogodziłeś swoje odkrycie w poprzednim pytaniu (że system plików UDF powinien zostać utworzony na całym dysku, a nie na partycji) z tym poleceniem systemu Windows („format x: / fs: UDF”)? W moich próbach system Windows podaje tylko litery dysków do partycji.
Jeśli chodzi o formatowanie dla zgodności, myślę, że klucz ma rozmiar bloku. Ponieważ większość dysków twardych i pamięci flash USB ma rozmiar 512 bajtów, miałem największą kompatybilność podczas tworzenia FS o tym rozmiarze bloku. Myślę, że format.com używa tego rozmiaru bloku, a mkudffs ma przełącznik poleceń do zmiany rozmiaru bloku. Mogłem zmusić system OS X i Windows do zamontowania systemu plików tylko wtedy, gdy korzystałem z bloków 512-bajtowych. Starsze wersje Linuksa zakładały rozmiar bloku 2048, ale zawsze można zamontować z „-o bs = 512”.
Problem dotyczący całego dysku vs. partycji nadal powoduje problemy ze zgodnością. System Windows nie podłącza się podczas formatowania całego dysku, a system OS X nie wykracza poza numer typu partycji podczas określania systemu plików, co zmusza mnie do ręcznego zamontowania. Linux nie dbał o to, o ile nadałem mu odpowiednią nazwę urządzenia (sda vs sda1).
Podsumowując, najbardziej zgodną konfiguracją, jaką znalazłem, jest pojedyncza partycja typu 06 (FAT16), sformatowana za pomocą UDF o rozmiarze bloku 512. Działa automatycznie w systemie Windows i trochę ręcznej interwencji w systemie Linux i OS X.
źródło