UDF può e deve essere utilizzato come formato del disco rigido?


32

Più volte di recente ho visto UDF suggerito come la soluzione per un formato multipiattaforma per un'unità utilizzata su Linux, Mac OS X e Windows XP e versioni successive.

Ho cercato qui e non ho trovato lo stesso suggerimento (molti suggeriscono ntfs-3g che sembra costare denaro e non è preinstallato su un Mac).

Quindi la mia domanda è: come va fatto bene e qualcuno l'ha fatto? Hai quindi riempito l'unità e cancellato alcuni file per fare spazio scoprendo che tutto funziona come un vero formato r / w anche se sembra essere stato principalmente un formato di scrittura una volta?

Chiamami pazzo, ma mi piacerebbe davvero che anche il sistema UDF si monta automaticamente e fosse scrivibile dall'utente che ha effettuato l'accesso. Ciò che ho provato finora (formattazione di udftools come menzionato da kicsyromy) non risponde a questo desiderio.


1
Un chiarimento: ntfs-3gè gratuito. Il suo codice sorgente è gratuito (cioè disponibile gratuitamente). È anche gratuito come in libertà . ntfs-3gè il driver NTFS in Ubuntu! È leggermente tecnico costruirlo / installarlo manualmente su OS X, e Tuxera (il suo sviluppatore) offre una versione proprietaria del payware che è essenzialmente il ntfs-3gdriver gratuito creato e impacchettato per una facile installazione e utilizzo su OS X. Senza un driver aggiuntivo, OS X leggerà solo (non scriverà) volumi NTFS, quindi hai ragione a considerare un altro filesystem.
Eliah Kagan,

@EliahKagan Quindi se ntfs-3g è "gratuito", allora perché Apple non l'ha incluso per consentire il supporto r / w per NTFS?
user29020,

@ user29020 Non so mentre Apple sceglie di non includerlo, ma puoi verificarlo gratuitamente scaricando il codice sorgente (attualmente questo file ), estraendolo e vedendo che il COPYINGfile è GNU GPL . Forse Apple non ha voluto fare il lavoro integrarlo in modo che possa essere utilizzato senza problemi dal Finder. Vedi anche tuxera.com/products/tuxera-ntfs-for-mac e sourceforge.net/projects/catacombae .
Eliah Kagan,

1
@ user29020 Costi di supporto (e se fosse un po 'difettoso)? Restrizioni legali? Gratuito con licenza GNU GPL significa che può essere aggiunto solo a sorgenti / binari esistenti che sono a loro volta disponibili anche sotto licenza GPL. (LGPL consentirebbe che venga utilizzato come libreria da un altro codice non GPL). Dato che il codice di Apple è in gran parte proprietario e comunque ai sensi della APSL che non è una licenza compatibile GPL, questa è una restrizione a cui devono attenersi. gnu.org/philosophy/apsl.html
dlamblin

Risposte:


14

No.

Siamo nel 2015 al momento di questa risposta. Sto usando OSX Yosemite, Ubuntu 14.10 e l'anteprima tecnica di Windows 10 per le aziende su una macchina Mactel (Macmini 7,1).

Ho provato sia UDF che exFat. Uso Ubuntu per lo sviluppo e ho bisogno di autorizzazioni in stile Unix.

Tutte le guide precedenti non si applicano più: i driver UDF si sono evoluti e tutti i sistemi operativi accetteranno una partizione UDF, con più problemi e instabilità di quanti io possa nominare.

  • Unità UDF formattata su Mac OS: non può essere montata su Windows 10.
  • Unità UDF formattata su Linux: non può essere montata su Windows 10.
  • Unità UDF formattata su Windows 10: monta lettura / scrittura su Linux, sola lettura su OSX.

Tuttavia, Windows non consente di specificare una dimensione del blocco durante la formattazione di un volume UDF e, di conseguenza, la dimensione del blocco logico potrebbe differire dalla dimensione del blocco fisico per la partizione.

Non sono chiaro se ciò abbia a che fare con le difficoltà che ho avuto nel montarlo in lettura / scrittura su OSX, ma dopo aver eliminato un certo numero di file usando Linux, non sono mai stato in grado di montare nuovamente l'unità su OSX.

Il sistema entra nel panico del kernel e si blocca in modo vergognoso.

Questo, e una varietà di risposte sull'argomento, indicano un supporto incoerente per questo formato a questo punto.

Sembrerebbe che ci siano modi in cui posso usare un volume NTFS per raggiungere un equilibrio tra le funzionalità di un moderno file system, permessi in stile Unix - potrei essere in grado di impostarli - e leggere / scrivere su tutti i sistemi operativi.


1
OSX è basato su BSD. Quindi sì, è OSX Yosemite (10.10.2) a provare il panico del kernel. Ho finito con NTFS e NTFS 3d per OSX.
Mauro Colella,


1
@Argo afferma il secondo riferimento, "-b 512 serve a forzare una dimensione del blocco del file system uguale alla dimensione del blocco fisico della chiavetta USB, come richiesto dalle specifiche UDF. Adattalo se hai la fortuna di avere una chiavetta USB con un dimensione del blocco più appropriata ". Quindi ti consente di specificare la dimensione del blocco ma deve essere specificato come valore richiesto.
JDługosz,

1
Windows 10 non montato da OS X / OS X non montato è dovuto alla differenza nel modo in cui ciascun sistema operativo gestisce le tabelle delle partizioni. Windows 10: ne ha bisogno. Mac OS X: è necessario che UDF sia sull'unità nuda, come intera partizione dell'unità.
DrYak,

2
Esiste uno strumento di formattazione che si occupa delle incosistenze: github.com/JElchison/format-udf
velop

15

Qualcuno ha fatto delle ricerche su come formattare un'unità flash con udf in modo che possa essere utilizzata sul maggior numero possibile di sistemi operativi. Ecco i suoi risultati (prima c'era , ora offline):

  • Windows 7 ha il pieno supporto fino a UDF v2.6, ma la dimensione del blocco UDF deve corrispondere alla dimensione del blocco del dispositivo sottostante (che per le chiavette USB e la maggior parte dei dischi è di 512 byte; i dischi di "formato avanzato" sono 4096 byte). Apparentemente il disco deve essere partizionato.

  • Linux 2.6.30 e versioni successive supportano UDF fino alla versione 2.5.

  • Mac OS X 10.5 supporta UDF fino a UDF 2.01, ma solo se utilizzato su un disco intero, quindi non partizionato.

Come spiegato sopra, per i dischi rigidi USB, Windows richiede il partizionamento del disco. Dall'altro lato, UDF funziona solo su OS X quando viene utilizzato su un disco intero (non partizionato). Piuttosto sorprendentemente, esiste una soluzione che funziona per entrambi: avere il disco partizionato e non partizionato allo stesso tempo.

Le tabelle delle partizioni DOS sono memorizzate nei byte 446-510 del record di avvio principale. Questo record di avvio principale è memorizzato nel primo settore su disco, settore 0. In genere, la prima partizione specificata avvierà ulteriormente alcuni kilobyte. Tuttavia, sembra possibile costruire una tabella delle partizioni la cui prima partizione inizia nel settore 0, quindi il risultato è una partizione che contiene la tabella delle partizioni stessa. I programmi di editor di partizioni sembrano rifiutare di creare una tabella di questo tipo, ma almeno i kernel Linux e Windows recenti non sembrano disturbare.

La cosa bella è che UDF non (suppongo deliberatamente) usa i primi pochi kilobyte della partizione o del disco su cui è posizionato, quindi questo posto può davvero essere usato per archiviare una tabella delle partizioni legacy, facendo riferimento a una partizione che copre l'intero disco. Alcuni test dimostrano che funziona davvero su Linux, Windows e Mac OS X:

  • Si monta automaticamente in lettura / scrittura su Linux 2.6.30+, Mac OS X 10.5+, Windows Vista +
  • Può essere utilizzato in sola lettura in Windows XP ed essere utilizzato dopo un montaggio da riga di comando in Linux 2.6.0+
  • Supporta file di grandi dimensioni, autorizzazioni UNIX, nomi di file Unicode, collegamenti simbolici, collegamenti fissi, ecc.

Script per formattare correttamente il disco: script Perl o script Bash


12

Ho appena provato questo in una macchina virtuale. Sembra che tu debba (ri) creare la tua partizione in Windows assegnandole una lettera di unità ma non formattarla su nessun filesystem. Dopo questo avvio in Ubuntu e basta seguire le istruzioni e dovrebbe funzionare per leggere / scrivere.

Ricorda di eseguire il backup di tutti i tuoi dati!

Prima di tutto installa gli strumenti UDF:

sudo apt-get install udftools

Sostituisci il primo blocco con nulla sulla partizione che desideri formattare in UDF ^:

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

E infine formatta in UDF ^:

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

^ dove di:

  • x è un segnaposto per la lettera attualmente assegnata al tuo hardisk

  • N è un segnaposto per il numero di partizione

Buona fortuna e fammi sapere se ha funzionato per te.


Grazie questo risponde al come; Sarei comunque interessato a scoprire se funziona abbastanza bene con lo scenario sopra.
dlamblin,

Ha funzionato perfettamente per me. L'unico problema è che devo montare manualmente la partizione in Windows usando Disk Manager. Oltre a ciò, posso confermare che funziona anche con più partizioni sul disco rigido (sto usando 1udf + 2ext4)
Nemo

La chiave qui sembra essere quella di creare effettivamente una partizione e quindi creare un file system UDF lì dentro. Se non crei alcuna partizione, funzionerà in Linux, ma non in Windows (7). Questa è la mia esperienza.
DanMan,

@ Dan Dan sembra aver trovato qualcuno che ha risolto il problema e fornisce uno script per la formattazione di un intero disco con UDF per Linux, Mac e Windows 7, nonché di sola lettura in Win XP.
dlamblin,

@kicsyromy: la formattazione di una partizione (sdxN) su UDF non ha funzionato, l'esecuzione sudo mkudffs --media-type=hd --blocksize=512 /dev/sdd1dà il seguente messaggio di errore: trying to change type of multiple extents Sono riuscito comunque a formattare UDF usando l'intero disco (sdd) come descritto qui: superuser.com/questions/39942/using- udf-on-a-usb-flash-drive
Tim Banchi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.