Разочарование может постигнуть и желающих создать мультизагрузочную флэшку. BIOS некоторых материнок и
операционные системы с 16-битными компонентами ядра (включая, кстати, не только клоны MS-DOS, но и Windows NT до 4.0
включительно) не поддерживают загрузку с томов FAT32. Корректно работать они могут только с разделом FAT 16 объемом не
более 2 Гбайт. Поэтому если вы хотите создать гарантированно загрузочную флэшку, нет смысла покупать экземпляр на 4
Гбайт - лучше возьмите две по 2 Гбайт и разместите на них весь желаемый набор ОС с утилитами, помня о пределе элементов
в корне раздела.
Флэшки и мобильные винчестеры емкостью от 4 Гбайт обычно размечаются производителями как один
раздел FAT 32. Считается, что с этой файловой системой у пользователя возникает меньше проблем. Мол, ее все операционки
видят, права доступа она не записывает и вообще - самая простая. Из приводимой таблицы понятно, почему образ полного
DVD-5 на раздел FAT32 не запишется в принципе. Будь то хоть флэшка на 8 Гбайт, хоть винчестер на 80 гигов, при попытке
записать любой файл объемом больше 4 Гбайт на раздел FAT32 появится сообщение об ошибке.
Решается проблема
двумя способами. Если большой файл нужно записать один-единственный раз, проще разбить его на части. Это встроенная
функция файловых менеджеров (например, Total Commander) и опция создания многотомных архивов (WinRAR, 7-ZIP). Если же
потребность переписывать большие файлы возникает часто, лучше переформатировать сменный носитель под другую файловую
систему (как вариант - под NTFS). На винчестере это можно сделать массой программ, включая встроенный в Windows XP
диспетчер дисков, а переформатировать флэшку поможет утилита Hewlett-Packard USB Disk Storage Format Tool.
Сам я впервые столкнулся с ограничением на максимальный размер файла много лет назад
во время конвертирования видео на разделе FAT 32. Недавно же отметил, что по аналогичной причине у любителей
портейбл-софта, использующего базы данных, со временем перестают добавляться новые записи.
На оптических
дисках используются другие файловые системы (ISO 9660, UDF), однако принципиальные ограничения на них сходны с
рассмотренными выше.
Самым частым препятствием является невозможность записать на DVD в режиме ISO файл
размером больше 2 Гбайт. Обычно программы записи предупреждают о необходимости использовать для таких целей UDF, вот
только редко кто читает (а еще реже - понимает) подобные сообщения.
Если все файлы заведомо меньше 2 Гбайт, а
DVD-ISO-проект все равно не желает записываться, проверьте формат имен. Мне доводилось видеть (чаще, чем хотелось бы),
насколько сильна бывает тяга к длинным именам файлов. Сохранит человек веб-страницу с названием по умолчанию (вроде
"СНиП 2-04-01-85 (2000). Внутренний водопровод и канализация зданий.html"), а потом тщетно пытается прожечь
его на болванку. Даже либеральный формат Joliet отказывается воспринимать семь лишних знаков в этом имени. Особый шарм
ситуации придают такие файлы, лежащие среди тысяч других в разных подкаталогах. Кстати, если подкаталоги созданы друг в
друге "матрешкой" в количестве больше восьми или их названия тоже избыточно длинные, DVD вновь не запишется.
Полный путь для каждого файла на диске во всех используемых ныне вариантах ISO 9660 должен укладываться в 255 знаков.
Кардинальным образом обойти все перечисленные ограничения можно, отказавшись (в ущерб совместимости) от
ISO-формата в пользу UDF. Эта файловая система поддерживает создание физических, логических и резервных (sparable)
разделов. Единственным ограничением, с которым изредка сталкиваются пользователи при записи дисков в UDF, является
максимальная длина имени файла в 254 знака. Зато имя может представлять собой любые печатные символы юникода.
Максимально адресуемое пространство на одном разделе составляет 8 Тбайт блоками по 2 Кбайт. Начиная с версии 2.50
поддерживается работа с метаданными. Это улучшает контроль целостности данных, однако существенно усложняет файловую
систему.
Изначально в структуру UDF заложены принципы кроссплатформности
(возможности работы во всех современных ОС) и универсальности (поддержка всех типов оптических носителей + жестких
дисков). На сегодня UDF может быть использована на любых CD/DVD, включая Blu-ray. За ней - будущее, но из-за проблем
совместимости с устаревшим оборудованием - пока что не настоящее.
Не всегда в ограничениях файловых систем
виноваты их разработчики. Зачастую архитектурные лимиты ужесточаются недобросовестностью создателей драйверов и дисковых
утилит. Зная об этих тонкостях, можно без проблем работать даже в (морально) устаревших файловых системах, умело лавируя
между "подводными камнями". Хочется верить, что файловые системы будущего качественно превзойдут своих
предшественниц. Можно сколько угодно отдалять количественные ограничения путем увеличения разрядности и
совершенствования ОС - это приносит лишь временное облегчение. За последние двадцать лет максимальный объем серийно
выпускаемых жестких дисков возрос с 20 Мбайт до 1,5 Тбайт. Появление RAID-массивов и внешних винчестеров в домашних
условиях еще больше ускорило количественный рост.
Вместе с тем возможности файловых систем мало отличаются от
изначального набора, которым они обзавелись в конце 80-х годов. Частично исправляет ситуацию поддержка управления
правами доступа и ведение журнала действий (NTFS, ext3 и др.), но раздражает необходимость всякий раз думать о
совместимости, угадывать требуемый объем раздела на этапе его создания и помнить об ограничениях.
В новых
64-битных файловых системах JFS и XFS устранены все описанные выше лимиты и, что более важно, добавлены уникальные
свойства. Первым из них является масштабируемость разделов. В обеих системах можно увеличить размер раздела "на
лету" за счет того, что блоки адресного пространства описываются в экстентах, а элементы i-node выделяются
динамически. В качестве другой особенности можно назвать структуру B+ деревьев, ускоряющую поиск в объемных каталогах.
Для XFS третьим новшеством является снижение частоты записи на диск. Данные накапливаются в оперативной памяти (благо
ныне ее размер измеряется гигабайтами) и по мере необходимости упорядоченно переписываются на жесткий диск большими
порциями. С одной стороны, это снижает частоту обращений к винчестеру, его энергопотребление и нагрев, с другой -
повышает риск потери данных (в случае критической ошибки ОС или отсутствия ИБП).
При разработке файловых
систем нужно одновременно учитывать подчас противоречивые требования совместимости, скорости, удобства, надежности,
масштабируемости и прозрачности архитектуры. Поиск "золотой середины" продолжается, но поскольку новый дом
глупо строить на старом фундаменте, обратную совместимость, видимо, придется принести в жертву.