GNU/Linux >> Znalost Linux >  >> Linux

Jaké je ID oddílu / typ souborového systému pro UDF?

Odpověď je typ oddílu 06 (FAT16). Neptejte se mě proč, ptejte se Microsoftu.


Ukázalo se, že neexistuje žádná tabulka oddílů pro UDF a není k němu přiřazeno žádné ID oddílu. Tento souborový systém musí zabírat celý disk, aby byl rozpoznán systémem Windows. Formátování pevného disku jako UDF se nedotýká stávající tabulky oddílů (pozor – bude obsahovat zastaralé informace, a pokud disk připojíte pomocí něj, zničíte data!).

Pro zajímavost - UDF 2.5 a novější vytváří samostatné oddíly (jeden nebo dva na disk) pro metadata. Tyto oddíly však také nejsou viditelné ve standardní tabulce oddílů DOS.


Krátká odpověď:Navrhoval bych použít MBR id 0x07 pro oddíly UDF.

Dlouhá odpověď:

Linux se nestará o ID oddílů MBR a ignoruje je (*).

Windows 2000 a novější mohou přiřadit písmeno jednotky nějakému oddílu s id PartitionType pouze tehdy, když IsRecognizedPartition(PartitionType) je pravda. Navíc pro oddíly jiné než FT musí platit, že IsFTPartition(PartitionType) je false (jinak je tento oddíl detekován jako FT a ne jako běžný FAT/NTFS/UDF/...).

Podmínka IsRecognizedPartition(PartitionType) &&!IsFTPartition(PartitionType) požádat o tato ID oddílu MBR:0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Což znamená, že Windows 2000 (a nový) dokáže rozpoznat a použít oddíl UDF, pokud je ID oddílu MBR jedním z nich. Pravděpodobně neexistují žádná další omezení a jakýkoli podporovaný souborový systém přijímá oddíl s jakýmkoli z těchto ID MBR. Což znamená, že tato ID MBR se nepoužívají k detekci systému souborů.

Existují však určitá doporučení od společnosti Microsoft při konkrétním PartitionType by měl být použit:

  • 0x01 – primární oddíl nebo logický disk FAT12 (méně než 32 680 sektorů ve svazku)
  • 0x04 – oddíl nebo logická jednotka FAT16 (32 680–65 535 sektorů nebo 16 MB–33 MB)
  • 0x06 – BIGDOS FAT16 oddíl nebo logická jednotka (33 MB–4 GB)
  • 0x07 – Instalovatelný systém souborů (oddíl NTFS nebo logická jednotka)
  • 0x0B – oddíl FAT32 nebo logická jednotka
  • 0x0C – oddíl FAT32 nebo logická jednotka využívající rozšíření BIOS INT 13h (***)
  • 0x0E – BIGDOS FAT16 oddíl nebo logická jednotka využívající rozšíření BIOS INT 13h (***)

A také význam od společnosti Microsoft:

  • 0x01 – Určuje oddíl s 12bitovými položkami FAT.
  • 0x04 – Určuje oddíl s 16bitovými položkami FAT.
  • 0x06 – Určuje velký oddíl systému MS-DOS V4.
  • 0x07 – Určuje oddíl IFS.
  • 0x0B – Určuje oddíl FAT32.
  • 0x0C – Windows 95/98:Určuje oddíl, který používá rozšířené služby INT 13.

Na Wikipedii lze také nalézt několik doporučení:

  • 0x01 – CHS/LBA – DOS 2.0+ – FAT12 jako primární oddíl na prvních fyzických 32 MB disku... (jinak místo toho použijte 0x06)
  • 0x04 – CHS/LBA – DOS 3.0+ – FAT16 s méně než 65536 sektory (32 MB) ... (jinak místo toho použijte 0x06)
  • 0x06 – CHS/LBA – DOS 3.31+ – FAT16B s 65536 nebo více sektory. Musí být umístěn na prvních fyzických 8 GB disku... (jinak místo toho použijte 0x0E). Používá se také pro svazky FAT12 a FAT16 v primárních oddílech, pokud nejsou umístěny na prvních fyzických 32 MB disku.
  • 0x07 – CHS/LBA – OS/2 1.2+, Windows NT/CE – IFS/HPFS/NTFS/exFAT/QNX
  • 0x0B – CHS/LBA – DOS 7.1+ – FAT32 s adresováním CHS
  • 0x0C – LBA – DOS 7.1+ – FAT32 s LBA
  • 0x0E – LBA – DOS 7.0+ – FAT16B s LBA

Pro úplný seznam ID uvádíme několik informací o starších systémech, které nepodporují oddíl pevného disku ve formátu UDF.

Windows NT 4.0 a starší mohou přiřadit písmeno jednotky pouze oddílům s ID MBR:0x01, 0x04, 0x06, 0x07.

Windows se systémem DOS (95, 98 a ME) mohou přiřadit písmeno jednotky pouze oddílům s ID MBR:0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. Samotný MS-DOS má přístup pouze k oddílům s ID MBR:0x01, 0x04, 0x06. Všimněte si, že tyto systémy používají ID oddílu MBR pro detekci systému souborů. ID oddílu MBR se musí shodovat se systémem souborů na oddílu.

Závěr:

Podívejte se na velikost oddílu:0x01 a 0x04 by měly být použity pouze pro oddíly v prvních 32 MB disku. 0x06 pouze na prvních 8GB disku. 0x0B je pro CHS adresování, které má limit pro 8GB disky. Takže bez takových limitů jsou pouze id:0x07, 0x0C a 0x0E. Protože se pro oddíly FAT používají 0x0C a 0x0E, doporučil bych zvolit 0x07 . Je určen pro oddíly IFS (Installable File System) a podle Wikipedie Microsoft přidal podporu pro UDF do Windows 2000 IFS API. Použití 0x0C nebo 0x0E by způsobilo, že systémy založené na DOSu zobrazí tento oddíl jako FAT, i když by byl naformátován jako UDF. Oddíly s MBR id 0x07 jsou na těchto systémech skryté. Nepodporují UDF, proto je lepší volba jako 0x0C nebo 0x0E.

GPT:

Rozvržení oddílu GPT nepřichází v úvahu, ale má podobný problém jako MBR. Pro UDF není přiřazen žádný GUID oddílu (ekvivalent GPT pro MBR id). Protože Windows XP x64 podporuje UDF a dokáže rozpoznat datový oddíl GPT pouze s GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft Basic Data Partition), je to jediná možná volba pro GPT.

Zdroje:

  • 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
  • Soubor Ntdddisk.h (součást WinDDK)
  • Soubor WinIoCtl.h (součást WinSDK)

(*) Existuje jedna výjimka:ID MBR 0x05, 0x0F a 0x85 se používají pro detekci rozšířených oddílů MBR.
(**) Definice těchto dvou volání lze nalézt v souboru WinIoCtl.h, protože jsou deklarovány jako C makra.
(***) Rozšíření BIOS INT 13h znamená použití LBA místo CHS.


Linux
  1. Jak najít offset souborového systému Ext4?

  2. Oddíl /boot opravdu pro?

  3. Jak najít aplikaci pro typ mime v systému Linux?

  1. K čemu slouží možnost „soname“ pro vytváření sdílených knihoven?

  2. Jaký je správný způsob instalace jdk na linux

  3. Jaké je výchozí kořenové heslo pro MySQL 5.7

  1. Jaký je důvod, proč rmdir(1) a rm(1) koexistují?

  2. Jaký je rozdíl mezi ls a l?

  3. Jaký je nejsprávnější bod připojení pro trvalý oddíl NTFS?