Universal Disk Format ( UDF ) — это открытая , независимая от поставщика файловая система для хранения компьютерных данных для широкого спектра носителей. На практике он наиболее широко использовался для DVD и новых форматов оптических дисков , вытеснив ISO 9660 . Благодаря своей конструкции он очень хорошо подходит для инкрементных обновлений как на однократных, так и на перезаписываемых оптических носителях . UDF был разработан и поддерживается Ассоциацией оптических технологий хранения данных (OSTA).
С инженерной точки зрения универсальный формат диска представляет собой профиль спецификаций, известных как ISO/IEC 13346 и ECMA-167. [4]
Обычно авторское программное обеспечение обрабатывает файловую систему UDF в пакетном режиме и записывает ее на оптический носитель за один проход. Но при записи пакетов на перезаписываемые носители, такие как CD-RW , UDF позволяет создавать, удалять и изменять файлы на диске так же, как файловая система общего назначения на съемных носителях, таких как дискеты и флэш-накопители . Это также возможно на носителях с однократной записью, таких как CD-R , но в этом случае пространство, занятое удаленными файлами, не может быть возвращено (и вместо этого становится недоступным).
В UDF также возможен многосессионный мастеринг, хотя некоторые реализации могут быть неспособны читать диски с несколькими сеансами. [с]
Ассоциация оптических технологий хранения стандартизировала файловую систему UDF, чтобы сформировать общую файловую систему для всех оптических носителей: как для носителей только для чтения , так и для перезаписываемых оптических носителей. При первой стандартизации файловая система UDF была призвана заменить ISO 9660 , обеспечивая поддержку носителей как для чтения, так и для записи. После выпуска первой версии UDF Консорциум DVD принял ее в качестве официальной файловой системы для DVD-Video и DVD-Audio . [5]
UDF разделяет базовый формат дескриптора тома с ISO 9660. Формат «UDF Bridge» определен начиная с версии 1.50, так что диск может также содержать файловую систему ISO 9660, ссылающуюся на файлы в части UDF. [6]
Было выпущено несколько версий UDF: [5] [7]
Редакции UDF внутренне кодируются как двоично-десятичные числа ; Например, версия 2.60 представлена как 0x0260 . [13] : 23 Помимо объявления собственной версии, совместимость для каждого тома определяется минимальными версиями чтения и записи, каждая из которых сигнализирует о том, что эти операции должны быть возможны для каждой структуры в этом образе. Версия «Максимальная запись» дополнительно записывает самый высокий уровень поддержки UDF из всех реализаций, записывавших этот образ. [13] : 34 Например, том UDF 2.01, который не использует Stream Files (введенный в UDF 2.00), но использует НДС (UDF 1.50), созданный реализацией с поддержкой UDF 2.60, может иметь редакцию, объявленную как 0x0201 , минимальное чтение. ревизия установлена в 0x0150 , минимальная запись — 0x0150 , максимальная запись — 0x0260 .
Стандарт UDF определяет три варианта файловой системы , называемые «сборками». Это:
Представленный в первой версии стандарта, этот формат может использоваться на дисках любого типа, допускающих произвольный доступ для чтения/записи, таких как жесткие диски , носители DVD+RW и DVD-RAM . Метаданные (до версии 2.50) и данные файлов обрабатываются более или менее напрямую. При записи на такой диск в этом формате любой физический блок на диске может быть выбран для размещения новых или обновленных файлов.
Поскольку это базовый формат, практически любая операционная система или драйвер файловой системы, заявляющий о поддержке UDF, должны иметь возможность читать этот формат.
Носители с однократной записью, такие как DVD-R и CD-R , имеют ограничения при записи: на каждый физический блок можно записать только один раз, и запись должна происходить постепенно. Таким образом, простая сборка UDF может быть записана на CD-R только путем предварительного мастеринга данных и последующей записи всех данных на носитель целиком, аналогично тому, как файловая система ISO 9660 записывается на компакт-диск.
Чтобы позволить использовать CD-R практически как жесткий диск, при этом пользователь может добавлять и изменять файлы на CD-R по своему желанию (так называемый «доступ к букве диска» в Windows), OSTA добавила сборку НДС в Стандарт UDF в версии 1.5. НДС — это дополнительная структура на диске, позволяющая осуществлять пакетную запись ; то есть переназначение физических блоков при изменении или удалении файлов или других данных на диске. Для носителей с однократной записью весь диск виртуализируется, что делает природу однократной записи прозрачной для пользователя; с диском можно обращаться так же, как с перезаписываемым диском.
Характер носителя CD-R или DVD-R с однократной записью означает, что при удалении файла на диске данные файла все равно остаются на диске. Он больше не появляется в каталоге, но по-прежнему занимает исходное место, где хранился. В конце концов, после использования этой схемы в течение некоторого времени диск окажется заполнен, так как свободное место невозможно восстановить путем удаления файлов. Специальные инструменты можно использовать для доступа к предыдущему состоянию диска (состоянию до того, как произошло удаление), что делает возможным восстановление.
Не все накопители полностью поддерживают UDF версии 1.5 или выше, и поэтому некоторые из них могут быть неспособны обрабатывать сборки НДС.
Перезаписываемые носители, такие как DVD-RW и CD-RW, имеют меньше ограничений, чем носители DVD-R и CD-R. Сектора можно перезаписывать произвольно (правда, пакетами за раз). Эти носители можно полностью стереть в любой момент, снова сделав диск пустым и готовым к записи на него новой UDF или другой файловой системы (например, ISO 9660 или CD Audio ). Однако сектора носителя -RW могут через некоторое время «изнашиваться», а это означает, что их данные становятся ненадежными из-за слишком частой перезаписи (обычно после нескольких сотен перезаписей с помощью CD-RW).
Обычные и НДС-версии формата UDF можно использовать на перезаписываемых носителях с некоторыми ограничениями. Если простая сборка используется на носителе -RW, нельзя разрешать изменение данных на уровне файловой системы, поскольку это приведет к быстрому износу часто используемых секторов на диске (например, секторов для данных о распределении каталогов и блоков). что затем останется незамеченным и приведет к потере данных. Чтобы разрешить изменение файлов на диске, можно использовать перезаписываемые диски как носитель -R с использованием сборки НДС . Это гарантирует, что все блоки записываются только один раз (последовательно), гарантируя, что ни один блок не будет перезаписываться чаще, чем другие. Таким образом, диск RW можно стереть и использовать повторно много раз, прежде чем он станет ненадежным. Однако в конечном итоге он станет ненадежным, и его не удастся обнаружить. При использовании сборки НДС носитель CD-RW/DVD-RW фактически отображается на компьютере как носитель CD-R или DVD+/-R. Однако носитель может быть снова удален в любое время.
The spared build was added in revision 1.5 to address the particularities of rewriteable media. This build adds an extra Sparing Table in order to manage the defects that will eventually occur on parts of the disc that have been rewritten too many times. This table keeps track of worn-out sectors and remaps them to working ones. UDF defect management does not apply to systems that already implement another form of defect management, such as Mount Rainier (MRW) for optical discs, or a disk controller for a hard drive.
The tools and drives that do not fully support revision 1.5 of UDF will ignore the sparing table, which would lead them to read the outdated worn-out sectors, leading to retrieval of corrupted data.
An overhead that is spread over the entire disc reserves a portion of the data storage space, limiting the usable capacity of a CD-RW with e.g. 650 MB of original capacity to around 500 MB.[14]
The UDF specifications[5] allow only one Character Set OSTA CS0, which can store any Unicode Code point excluding U+FEFF and U+FFFE. Additional character sets defined in ECMA-167 are not used.[4]: 7.2
Since Errata DCN-5157, the range of code points was expanded to all code points from Unicode 4.0 (or any newer or older version), which includes Plane 1-16 characters such as Emoji. DCN-5157 also recommends normalizing the strings to Normalization Form C.[15]
The OSTA CS0 character set stores a 16-bit Unicode string "compressed" into 8-bit or 16-bit units, preceded by a single-byte "compID" tag to indicate the compression type. The 8-bit storage is functionally equivalent to ISO-8859-1, and the 16-bit storage is UTF-16 in big endian. The reference algorithm neither checks for forbidden code points nor interprets surrogate pairs, so like NTFS the string may be malformed.[5]: 2.1.2, 6.4 (No specific form of storage is specified by DCN-5157, but UTF-16BE is the only well-known method for storing all of Unicode while being mostly backward compatible with UCS-2.)[15]
Многие DVD-плееры не поддерживают никакие версии UDF, кроме версии 1.02. Диски, созданные с использованием более новой версии, могут по-прежнему работать в этих проигрывателях, если используется формат моста ISO 9660. Даже если операционная система утверждает, что способна читать UDF 1.50, она все равно может поддерживать только простую сборку и не обязательно сборку НДС или Spared UDF.
Mac OS X 10.4.5 утверждает, что поддерживает версию 1.50 (см. man mount_udf ), однако она может правильно монтировать только диски простой сборки и вообще не обеспечивает поддержки виртуализации. Он не может монтировать диски UDF с НДС, как это было в случае с Sony Mavica. [16] [17] Выпуски до 10.4.11 монтируют диски с помощью таблицы резервирования, но неправильно считывают ее файлы. Версия 10.4.11 устраняет эту проблему. [18] [19]
Аналогично, Windows XP с пакетом обновления 2 (SP2) не может читать диски DVD-RW, которые используют резервные таблицы UDF 2.00 в качестве системы управления дефектами. [20] Эта проблема возникает, если система управления дефектами UDF создает резервную таблицу, охватывающую более одного сектора на диске DVD-RW. Windows XP SP2 может распознать, что DVD использует UDF, но проводник Windows отображает содержимое DVD как пустую папку. Для этого доступно исправление [21] , которое включено в пакет обновления 3. [20]
Из-за версий и параметров UDF по умолчанию раздел UDF, отформатированный в Windows, не может быть записан в macOS. С другой стороны, раздел, отформатированный в macOS, не может быть записан непосредственно в Windows из-за требований таблицы разделов MBR . Кроме того, Linux поддерживает запись только в UDF 2.01. Сценарий для Linux и macOS format-udf
устраняет эти несовместимости, используя UDF 2.01 и добавляя поддельную MBR; [22] Для Windows лучшим решением является использование инструмента командной строки format /FS:UDF /R:2.01
.
На выходе получается диск, который можно использовать для чтения/записи в нескольких семействах операционных систем: Windows, macOS и Linux. Этот сценарий должен работать в macOS или Linux.
Поддерживается UDF 1.50. UDF 2.0 и более поздних версий нет.
В этом примечании к выпуску описаны изменения в платформах записи дисков по сравнению с OS X версии 10.4. Механизм создания контента Disc Recording теперь поддерживает запись дисков UDF 2.0 в дополнение к UDF 1.02 и 1.5.
Поддерживается чтение всех версий UDF (1.02–2.60) как на блочных устройствах (например, жестких дисках и USB-накопителях), так и на большинстве оптических носителей. Запись на блочные устройства, DVD-RW и DVD+RW поддерживается со следующими исключениями: (1) невозможно записать информацию Finder, вилку ресурса или другие расширенные атрибуты в томах UDF версий 1.02 и 1.50; (2) Невозможно выполнить запись в зеркальный раздел метаданных.
OS X поддерживает чтение версий UDF с 1.02 по 2.60 как на блочных устройствах, так и на большинстве оптических носителей, а также поддерживает запись на блочные устройства и на носители DVD-RW и DVD+RW с использованием UDF 2.00–2.50 (за исключением зеркальных разделов метаданных в версии 2.50).
Добавлена поддержка UDF для оптических носителей и блочных устройств, см. mount_udf(8). Пока только для чтения.
В Windows 98 имеется новая система универсального дискового формата (UDF) только для чтения, которая поддерживает чтение носителей, отформатированных в соответствии со спецификацией UDF 1.02.
32-разрядная файловая система UDF с защищенным режимом в Windows 98 реализована в соответствии с версией 1.02 спецификации универсального формата диска Ассоциации оптических технологий хранения данных (OSTA). Он обеспечивает доступ только для чтения к носителям в формате UDF, таким как DVD-диски. Файловая система UDF использует VCACHE и является динамической, не требующей настройки или статического выделения со стороны пользователя.
В Windows NT 5.0 также добавлен UDF (универсальный формат диска). ... Реализации UDF, поставляемые как в Windows 98 (UDF 1.02), так и в Windows NT 5.0 (UDF 1.50), доступны только для чтения.
Реализация файловой системы UDF в Windows 2000 соответствует стандарту ISO 13346 и поддерживает UDF версий 1.02 и 1.5. ... драйвер UDF Windows 2000 (Udfs.sys) обеспечивает поддержку только чтения.
Драйвер UDF поддерживает версии UDF 1.02, версию 1.5 в Windows 2000 и версии 2.0 и 2.01 в Windows XP и Windows Server 2003. ... драйвер UDF для Windows (Udfs.sys) обеспечивает поддержку только для чтения. Windows не реализует поддержку других функций UDF, включая именованные потоки, списки управления доступом или расширенные атрибуты.
Драйвер UDF поддерживает версии UDF до 2.60. Драйвер Windows UDF (Udfs.sys) обеспечивает поддержку чтения и записи... при использовании UDF 2.50 и поддержку только чтения при использовании UDF 2.60. Однако Windows не реализует поддержку некоторых функций UDF, таких как именованные потоки и списки управления доступом.
Драйвер UDF поддерживает версии UDF до 2.60. Драйвер Windows UDF (Udfs.sys) обеспечивает поддержку чтения и записи... при использовании UDF 2.50 и поддержку только чтения при использовании UDF 2.60. Однако Windows не реализует поддержку некоторых функций UDF, таких как именованные потоки и списки управления доступом.