Kısa cevap: UDF bölümleri için MBR kimliği 0x07 kullanmanızı öneririm .
Uzun cevap:
Linux, MBR bölüm kimlikleriyle ilgilenmez ve yok sayar (*).
Windows 2000 ve daha yeni kimliği ile bazı bölüme bir sürücü harfi atayabilirsiniz PartitionType ve ancak eğer IsRecognizedPartition (PartitionType) doğrudur. Ayrıca FT olmayan bölümler için IsFTPartition'ın (PartitionType) yanlış (aksi halde bölüm sıradan FAT / NTFS / UDF / ... olarak değil FT olarak algılanır) olmalıdır.
Koşul Şu Tanınan Bölüm (PartitionType) &&! IsFTPartition (PartitionType) şu MBR bölüm kimlikleri için geçerlidir: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Bu, MBR bölüm kimliği bunlardan biriyse Windows 2000'in (ve yeni) UDF bölümünü tanıyabileceği ve kullanabileceği anlamına gelir. Muhtemelen başka bir kısıtlama yoktur ve desteklenen herhangi bir dosya sistemi bu MBR kimliğinden herhangi biriyle bölümü kabul eder. Bu, MBR kimliklerinin dosya sisteminin algılanmasında kullanılmadığı anlamına gelir.
Ancak , belirli PartitionType kullanıldığında Microsoft tarafından bazı öneriler vardır :
- 0x01 - FAT12 birincil bölüm veya mantıksal sürücü (birimde 32.680'den az sektör)
- 0x04 - FAT16 bölümü veya mantıksal sürücü (32.680-65.535 sektör veya 16 MB – 33 MB)
- 0x06 - BIGDOS FAT16 bölümü veya mantıksal sürücü (33 MB – 4 GB)
- 0x07 - Yüklenebilir Dosya Sistemi (NTFS bölümü veya mantıksal sürücü)
- 0x0B - FAT32 bölümü veya mantıksal sürücü
- 0x0C - BIOS INT 13 saat uzantıları kullanan FAT32 bölümü veya mantıksal sürücü (***)
- 0x0E - BIOS INT 13 saat uzantıları kullanan BIGDOS FAT16 bölümü veya mantıksal sürücü (***)
Ve ayrıca Microsoft'un anlamı :
- 0x01 - 12 bit FAT girişlerine sahip bir bölüm belirtir.
- 0x04 - 16 bit FAT girişlerine sahip bir bölüm belirtir.
- 0x06 - MS-DOS V4 büyük bölümünü belirtir.
- 0x07 - Bir IFS bölümünü belirtir.
- 0x0B - FAT32 bölümünü belirtir.
- 0x0C - Windows 95/98: Genişletilmiş INT 13 hizmetlerini kullanan bir bölümü belirtir.
Wikipedia'da bazı öneriler de bulunabilir:
- 0x01 - CHS / LBA - DOS 2.0+ - FAT12, ilk fiziksel 32 MB diskte birincil bölüm olarak ... (bunun yerine 0x06 kullanın)
- 0x04 - CHS / LBA - DOS 3.0+ - 65536 sektörden (32 MB) az FAT16 ... (bunun yerine 0x06 kullanın)
- 0x06 - CHS / LBA - DOS 3.31+ - 65536 veya daha fazla sektör içeren FAT16B. İlk fiziksel 8 GB diskte bulunmalıdır ... (bunun yerine 0x0E kullanın). Ayrıca ilk fiziksel 32 MB diskte bulunmuyorlarsa birincil bölümlerdeki FAT12 ve FAT16 birimleri için de kullanılır.
- 0x07 - CHS / LBA - OS / 2 1.2+, Windows NT / CE - IFS / HPFS / NTFS / exFAT / QNX
- 0x0B - CHS / LBA - DOS 7.1+ - CHS adreslemeli FAT32
- 0x0C - LBA - DOS 7.1+ - LBA ile FAT32
- 0x0E - LBA - DOS 7.0+ - LBA ile FAT16B
Kimliklerin listesini tamamlamak için, UDF biçimli sabit disk bölümünü desteklemeyen eski sistemler hakkında bazı bilgiler.
Windows NT 4.0 ve daha eski sürümler, yalnızca MBR kimliğine sahip bölümlere bir sürücü harfi atayabilir: 0x01, 0x04, 0x06, 0x07.
DOS tabanlı Windows (95, 98 ve ME) yalnızca MBR kimliklerine sahip bölümlere bir sürücü harfi atayabilir: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. MS-DOS yalnızca MBR kimlikleri olan bölümlere erişebilir: 0x01, 0x04, 0x06. Bu sistemlerin dosya sisteminin algılanması için MBR bölüm kimliği kullandığını unutmayın. MBR bölüm kimliği bölümdeki dosya sistemiyle eşleşmelidir.
Sonuç:
Bölüm boyutuna bakın: 0x01 ve 0x04 yalnızca ilk 32 MB diskteki bölümler için kullanılmalıdır. 0x06 sadece ilk 8 GB diskte. 0x0B, 8GB diskler için limiti olan CHS adresleme içindir. Yani bu sınırlar olmadan sadece idler: 0x07, 0x0C ve 0x0E. FAT bölümleri için 0x0C ve 0x0E kullanıldığından 0x07'yi seçmenizi öneririm . IFS (Yüklenebilir Dosya Sistemi) bölümleri içindir ve Wikipedia'ya göre Microsoft, Windows 2000 IFS API'sına UDF desteği ekledi. 0x0C veya 0x0E kullanımı DOS tabanlı sistemlerin UDF olarak biçimlendirilse bile bu bölümü FAT olarak göstermesine neden olur. MBR kimliği 0x07 olan bölümler bu sistemlerde gizlidir. UDF'yi desteklemezler, bu nedenle 0x0C veya 0x0E olarak daha iyi bir seçimdir.
GPT:
GPT bölüm düzeni bu sorunun dışında, ancak MBR ile benzer bir sorunu var. UDF için atanan bölüm GUID'si (MBR kimliği için GPT eşdeğeri) yoktur. Windows XP x64, UDF'yi desteklediğinden ve yalnızca GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft Temel Veri Bölümü) ile GPT veri bölümünü tanıyabildiğinden, GPT için tek olası seçimdir.
Kaynaklar:
(*) Bir istisna vardır: Genişletilmiş MBR bölümlerinin tespiti için MBR Kimlikleri 0x05, 0x0F ve 0x85 kullanılır.
(**) Bu iki çağrının tanımı WinIoCtl.h dosyasında C makroları olarak bildirildikleri için bulunabilir.
(***) BIOS INT 13h eklentileri CHS yerine LBA kullanımı anlamına gelir.