GNU/Linux >> Linux Esercitazione >  >> Linux

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

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


Si scopre che non esiste una tabella delle partizioni per UDF e non vi è alcun ID di partizione assegnato. Questo filesystem deve occupare l'intero disco per essere riconosciuto da Windows. La formattazione di un disco rigido come UDF non tocca la tabella delle partizioni esistente (fai attenzione:conterrà informazioni obsolete e, se monti l'unità utilizzandola, distruggerai i dati!).

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


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

Risposta lunga:

Linux non si preoccupa degli ID delle partizioni MBR e li ignora (*).

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

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

Ma ci sono alcuni raccomandazioni da Microsoft quando un particolare PartitionType dovrebbe essere usato:

  • 0x01 - Partizione primaria FAT12 o unità logica (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 BIGDOS FAT16 o unità logica (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 che utilizza estensioni BIOS INT 13h (***)
  • 0x0E - Partizione BIGDOS FAT16 o unità logica che utilizza estensioni BIOS INT 13h (***)

E anche significato 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 MS-DOS V4.
  • 0x07 - Specifica una partizione IFS.
  • 0x0B - Specifica una partizione FAT32.
  • 0x0C - Windows 95/98:specifica una partizione che utilizza i 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 utilizzare 0x06)
  • 0x04 - CHS/LBA - DOS 3.0+ - FAT16 con meno di 65536 settori (32 MB) ... (altrimenti usa 0x06)
  • 0x06 - CHS/LBA - DOS 3.31+ - FAT16B con 65536 o più settori. Deve risiedere nei primi 8 GB fisici del disco ... (altrimenti usa invece 0x0E). 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 meno recenti che non supportano la partizione del disco rigido in formato 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. Lo stesso MS-DOS può accedere solo alle partizioni con ID MBR:0x01, 0x04, 0x06. Si noti che questi sistemi utilizzano l'ID della 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 del 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. Poiché 0x0C e 0x0E vengono utilizzati per le partizioni FAT, suggerirei di scegliere 0x07 . È adatto alle partizioni IFS (Installable File System) e, secondo Wikipedia, Microsoft ha aggiunto il supporto per UDF all'API IFS di Windows 2000. L'utilizzo di 0x0C o 0x0E farebbe sì che i sistemi basati su DOS mostrino quella partizione come FAT, anche se formattata come UDF. Le partizioni con ID MBR 0x07 sono nascoste su questi sistemi. Non supportano UDF, quindi è una scelta migliore come 0x0C o 0x0E.

GPT:

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

Fonti:

  • https://technet.microsoft.com/en-us/library/cc976786.aspx
  • https://technet.microsoft.com/en-us/library/cc768180.aspx
  • https://technet.microsoft.com/en-us/sysinternals/ff563751
  • https://technet.microsoft.com/en-us/sysinternals/aa363990
  • https://www.microsoft.com/resources/documentation/windowsnt/4/server/reskit/en-us/resguide/diskover.mspx
  • https://en.wikipedia.org/wiki/Partition_type
  • https://en.wikipedia.org/wiki/Installable_file_system
  • File Ntdddisk.h (parte di WinDDK)
  • File WinIoCtl.h (parte di WinSDK)

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


Linux
  1. Qual è la migliore distribuzione Linux per principianti?

  2. La partizione /boot davvero per?

  3. Come trovare l'applicazione per un tipo Mime su Linux?

  4. Qual è il modo corretto di installare jdk su Linux

  5. Qual è lo scopo del codice di partizione home Linux 8302?

Come trovare il tipo di filesystem montato in Linux

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è il punto di montaggio più corretto per una partizione NTFS permanente?

Come trovo l'UUID di un filesystem

Qual è la dimensione consigliata per una partizione Linux /boot?

Cos'è la funzione syslog per i log di auditd?