Qual è l'ID della partizione / il tipo di filesystem per UDF?


10

Questo è probabilmente banale da controllare usando cfdisk su un CD / DVD / Blu-Ray in formato UDF, ma non ne ho nessuno a portata di mano.

Ho creato una partizione formattata UDF su un disco rigido USB per condividere dati tra computer Linux e Windows (FAT non gestisce file da 4 GB, il supporto dei diritti di accesso NTFS non è stabile sotto Linux). Ora ho solo un problema: Windows rifiuta di montare la partizione poiché l'id del tipo di file system è impostato su '83' ('Linux'). Ho guardato abbastanza ampiamente e non riesco a trovare quale numero devo inserire lì?

(follow-up: " Con quale strumento devo formattare un disco rigido come UDF? ")


2
Non penso che otterresti risultati significativi eseguendo cfdisk su un CD, DVD o Blu-Ray. Le partizioni sono impostate da pochi byte dell'MBR, che esiste in hard disk e pen-drive, non in floppy o supporti ottici.
Juliano,

Risposte:


9

La risposta è il tipo di partizione 06 (FAT16). Non chiedermi perché, chiedi a Microsoft.


5+ anni dopo, questa semplice risposta mi ha aiutato immensamente. Grazie "user48160" chiunque e dovunque tu sia adesso!
Jake Gould

6

Si scopre che non esiste una tabella delle partizioni per UDF e non è stato assegnato alcun ID di partizione. Questo filesystem deve estendersi su tutto il disco per essere riconosciuto da Windows. La formattazione di un disco rigido in quanto UDF non tocca la tabella delle partizioni esistente (attenzione: conterrà informazioni non aggiornate e se si monta l'unità utilizzando tale unità, si distruggeranno i dati!).

Come curiosità: UDF 2.5 e versioni successive creano partizioni separate (una o due per disco) per i metadati. Tuttavia, anche quelle partizioni non sono visibili nella tabella delle partizioni DOS standard.


1
Appena formattato come UDF una delle partizioni logiche (MBR) sul mio disco rigido e Windows 7 non ha avuto problemi con esso
MarcH,

@MarcH: quindi quale ID di partizione viene segnalato da Windows o da qualche strumento? (ha avuto difficoltà a formulare la domanda, scusate se è mal formata)
ata

@Juaco scorrere verso il basso per la risposta. O dai un'occhiata a BOOTICE.
Marc

Alcuni strumenti di partizionamento consentono di creare partizioni senza file system. Esattamente quello che ti serve per assegnargli una lettera di unità in Windows e poi UDF formattarla.
DanMan,

3

Risposta breve: suggerirei di utilizzare l'ID MBR 0x07 per le partizioni UDF.


Risposta lunga:

Linux non si preoccupa degli ID di partizione MBR e lo ignora (*).

Windows 2000 e versioni successive possono assegnare una lettera di unità a una partizione con ID PartitionType se e solo se IsRecognizedPartition (PartitionType) è true. Inoltre, per le partizioni non FT deve essere considerato che IsFTPartition (PartitionType) è falso (altrimenti tale partizione viene rilevata come FT e non come normale FAT / NTFS / UDF / ...).

Condizione IsRecognizedPartition (PartitionType) &&! IsFTPartition (PartitionType) si applicano per questi ID di partizione MBR: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Ciò significa che Windows 2000 (e nuovi) possono riconoscere e utilizzare la partizione UDF se l'ID della partizione MBR è uno di questi. Probabilmente non ci sono altre restrizioni e qualsiasi file system supportato accetta la partizione con uno di questi ID MBR. Ciò significa che quegli ID MBR non vengono utilizzati per il rilevamento del file system.

Ma ci sono alcune raccomandazioni di Microsoft quando si deve utilizzare PartitionType particolare :

  • 0x01 - Partizione primaria o unità logica FAT12 (meno di 32.680 settori nel volume)
  • 0x04 - Partizione FAT16 o unità logica (32.680–65.535 settori o 16 MB – 33 MB)
  • 0x06 - Partizione o unità logica BIGDOS FAT16 (33 MB – 4 GB)
  • 0x07 - File system installabile (partizione NTFS o unità logica)
  • 0x0B - Partizione FAT32 o unità logica
  • 0x0C - Partizione FAT32 o unità logica utilizzando le estensioni BIOS INT 13h (***)
  • 0x0E - Partizione BIGDOS FAT16 o unità logica utilizzando le estensioni BIOS INT 13h (***)

E significato anche di Microsoft:

  • 0x01: specifica una partizione con voci FAT a 12 bit.
  • 0x04: specifica una partizione con voci FAT a 16 bit.
  • 0x06 - Specifica una partizione enorme V4 MS-DOS.
  • 0x07: specifica una partizione IFS.
  • 0x0B: specifica una partizione FAT32.
  • 0x0C - Windows 95/98: specifica una partizione che utilizza servizi INT 13 estesi.

Su Wikipedia si possono trovare anche alcuni consigli:

  • 0x01 - CHS / LBA - DOS 2.0+ - FAT12 come partizione primaria nei primi 32 MB fisici del disco ... (altrimenti usa 0x06 invece)
  • 0x04 - CHS / LBA - DOS 3.0+ - FAT16 con meno di 65536 settori (32 MB) ... (altrimenti usa 0x06 invece)
  • 0x06 - CHS / LBA - DOS 3.31+ - FAT16B con 65536 o più settori. Deve risiedere nei primi 8 GB fisici del disco ... (altrimenti usa 0x0E invece). Utilizzato anche per i volumi FAT12 e FAT16 nelle partizioni primarie se non risiedono nei primi 32 MB fisici del disco.
  • 0x07 - CHS / LBA - OS / 2 1.2+, Windows NT / CE - IFS / HPFS / NTFS / exFAT / QNX
  • 0x0B - CHS / LBA - DOS 7.1+ - FAT32 con indirizzamento CHS
  • 0x0C - LBA - DOS 7.1+ - FAT32 con LBA
  • 0x0E - LBA - DOS 7.0+ - FAT16B con LBA

Per completare l'elenco degli ID, ecco alcune informazioni sui sistemi più vecchi che non supportano la partizione del disco rigido formattata UDF.

Windows NT 4.0 e versioni precedenti possono assegnare una lettera di unità solo alle partizioni con ID MBR: 0x01, 0x04, 0x06, 0x07.

Windows basato su DOS (95, 98 e ME) può assegnare una lettera di unità solo alle partizioni con ID MBR: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. MS-DOS stesso può accedere solo alle partizioni con ID MBR: 0x01, 0x04, 0x06. Si noti che questi sistemi utilizzano l'ID partizione MBR per il rilevamento del file system. L'ID della partizione MBR deve corrispondere al file system sulla partizione.

Conclusione:

Guarda la dimensione della partizione: 0x01 e 0x04 dovrebbero essere usati solo per le partizioni nei primi 32 MB di disco. 0x06 solo nei primi 8 GB di disco. 0x0B è per l'indirizzamento CHS che ha un limite per i dischi da 8 GB. Quindi senza tali limiti sono solo gli id: 0x07, 0x0C e 0x0E. Dato che 0x0C e 0x0E sono usati per le partizioni FAT, suggerirei di scegliere 0x07 . È medio per le partizioni IFS (Installable File System) e secondo Wikipedia, Microsoft ha aggiunto il supporto per UDF nell'API IFS di Windows 2000. L'uso di 0x0C o 0x0E farebbe sì che i sistemi basati su DOS mostrassero quella partizione come FAT, anche se sarebbe stata formattata come UDF. Le partizioni con ID MBR 0x07 sono nascoste su tali sistemi. Non supportano UDF, quindi è una scelta migliore come 0x0C o 0x0E.

GPT:

Il layout delle partizioni GPT è fuori questione, ma presenta problemi simili a quelli di MBR. Non esiste un GUID di partizione (equivalente GPT per ID MBR) assegnato a UDF. Poiché Windows XP x64 supporta UDF e può riconoscere la partizione dati GPT solo con GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Partizione dati di base Microsoft), è l'unica scelta possibile per GPT.

fonti:

(*) C'è un'eccezione: gli ID MBR 0x05, 0x0F e 0x85 vengono utilizzati per il rilevamento di partizioni MBR estese.
(**) Le definizioni di queste due chiamate possono essere trovate nel file WinIoCtl.h in quanto dichiarate come macro C.
(***) Le estensioni BIOS INT 13h indicano l'utilizzo di LBA anziché CHS.


Questa pagina indica che le partizioni 0x0E devono essere inferiori a 2 GiB. Ciò significa che per UDF deve essere 0x07 o 0x0C. Quest'ultimo suona meglio per me, specialmente quando leggi la pagina collegata. Ricerca impressionante, cappello fuori!
Milind R

2

Sui CD e DVD di cui mi occupo, non esiste una tabella delle partizioni. Sul tuo disco rigido USB, hai scritto una tabella delle partizioni sul supporto. Ho il sospetto che se si formatta l'intero disco come disco UDF senza la tabella delle partizioni, Windows non avrà problemi a montarlo.

Non dici di che dimensione è la tua unità USB e potresti essere riluttante a dedicare l'intera unità come UDF, potresti provare a impostare il tipo di partizione con fdisk come NTFS o uno degli altri tipi "supportati" di MS.


Sto anche avviando Linux dalla stessa unità, quindi ho bisogno di una partizione per essere di un formato supportato da grub. Ho appena scoperto che grub2 (sperimentale) può avviare Linux da UDF, quindi proverò questo.
skolima,

0

Ho lo stesso problema. Il mio disco rigido USB è di 320 GB. La tabella delle partizioni è simile alla seguente:

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x44fdfe06

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       27963   224612766    c  W95 FAT32 (LBA)
/dev/sda2           27964       38913    87955875    5  Extended
/dev/sda5           27964       33366    43399566    7  HPFS/NTFS
/dev/sda6           33367       38913    44556246   83  Linux

La partizione sda5 è un rev UDF. 1.5 e shoulb sono leggibili da Windows XP e versioni successive. Linux lo legge correttamente, ovviamente. Windows tuttavia è confuso. Riconosce la partizione come NTFS e quindi presuppone che sia una partizione non elaborata.

Il mio esperimento con UDF su pendrive mi ha mostrato che i sistemi tendono a confondere UDF con FAT. Interpretano UDF come FAT. Devono essere somiglianze abbastanza grandi perché posso vedere la struttura di directory di caratteri casuali. Linux dice che il disco è danneggiato ma non si rifiuta di usarlo.

Penso che UDF (almeno rev 1.5) non sia ben supportato su unità USB.


1
Se il supporto avesse FAT, potrebbero esserci dei resti che potrebbero causare confusione tra UDF e FAT. È necessario assicurarsi che il FAT sia cancellato / azzerato prima di formattare con UDF.
Osvein,
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.