Любое наше общение с компьютером - редактирование текста или фото, просмотр фильмов и прослушивание музыки, и даже игры - это работа с файлами. Нам кажется, что мы рисуем картинку или убиваем монстров, а на самом деле машина изменяет файлы, записывает, перемещает и даже удаляет. И тот способ, которым операционная система записывает и находит файлы на вашем диске, и как они отличаются один от другого, называют файловой системой.

За годы существования компьютеров появилось немало файловых систем со своими преимуществами и недостатками. Конечно же, Macintosh и PC используют разные файловые системы. А различия непременно порождают проблемы совместимости. И, чтобы знать, как эти проблемы решаются, придется, для начала, разобраться с какими видами файловых систем мы вероятнее всего можем столкнуться.

FAT . Одна из первых файловых систем, появившаяся вместе с PC компьютерами и системой DOS в 1981 году. По сути, представляет собой простую таблицу, в которой записано, где файл находится на диске. Отсюда и название: File Allocation Table - таблица размещения файлов.

FAT32 . В системе FAT были заложены ограничения на максимальный размер файла и диска - не больше 2 Gb. К середине 90х годов, с развитием компьютеров, эти ограничения потребовалось расширить. Так появилась новая система FAT32. Теперь ограничения на размер файла стали 4Gb, а диска - 2Tb. Но, по принципам работы, это была все та же старая FAT, т.е. таблица. В настоящее время FAT32 (как и NTFS, о которой ниже) является основной файловой системой современных Windows-компьютеров.

HFS (Hierarhical File System - иерархическая файловая система). Родилась практически вместе с первыми маками в 1985 году. В HFS каждый файл состоит из двух частей, так называемых, ветви ресурсов и ветви данных. Ветвь данных - это собственно содержание файла, например, текст, изображение, видео или звук. В ветви ресурсов содержится различная служебная информация о файле: даты создания и редактирования, информация о программе создателе, иконка файла, а если этот файл - программа, то и используемый код.

HFS+ К концу 90х годов, Мак-пользователи столкнулись с такими же проблемами, что и пользователи системы FAT, и в 1998 Apple выпустила в свет новую версию - HFS+, в которой снимались все мешавшие жить и трудиться ограничения. Количество возможных символов в имени файле изменилось с 32 до 255, а максимально допустимый размер файла и используемого диска достиг 8Eib. Exbibite - это 2 в 60-ой степени, и, чтобы понять что означает эта запредельная цифра, скажем, что максимальный размер диска на маке превышает максимальный размер в системе FAT32 в четыре миллиона раз! На сегодняшний момент HFS+ является основной файловой системой компьютеров Apple.

- NTFS (New Technologi File System) - новая файловая система, разработанная Microsoft с целью заменить семейство FAT. В отличие от примитивной FAT, NTFS - это сложный алгоритм записи файлов. Основным достоинством системы является надежность и возможность восстановления после сбоев.

Теперь, ознакомившись с различными видами файловых систем, мы просто не можем не задаться вполне ожидаемым вопросом: «а что произойдет, если вынуть диск из Мака и присоединить его к РС? » Ответом на этот вопрос будет простая аксиома, которую, пожалуй, следует всегда применять в вопросах совместимости Мака и PC:

Windows практически не совместима с Mac OS X, но Mac OS X очень хорошо совмещается с Windows.

А это значит, что маковский диск с HFS+ Windows не опознает и воспримет как неотформатированный. Хотя, безвыходных ситуаций не бывает, - при помощи отдельных коммерческих программ, таких как MacOpen, Маковский диск теоретически можно, хотя не без труда, прочитать на РС.

А вот подключение PC диска к Маку довольно просто. Mac OS позволяет читать диски в формате FAT и FAT32, а с появлением Mac OS X 10.3 и диски NTFS. Под диском подразумевается любой носитель информации - это может быть внутренний или внешний жесткий диск (винчестер), флэш-карта, или обычная дискета. При подключении на рабочем столе появится иконка нового диска, и вы сможете работать с ним также как и с остальными. Однако для NTFS дисков есть, все же, существенное ограничение - на Маке они подключаются исключительно в так называемом режиме read-only. Это означает, что вы сможете просматривать структуру диска, открывать и переписывать файлы на свои диски, но не сможете сохранить их, а также записывать новые файлы на такой диск.

PC-пользователям будет любопытно и полезно узнать, что имя PC-диска, которое вы увидите при подключении, это то имя, которое было дано ему при создании (форматировании). На Маках отсутствует буквенное обозначение дисков, например, D или C. В качестве идентификации диска всегда используется его имя, а если это PC-диск, то в качестве имени будет использоваться то, что в Windows называется меткой тома. Поэтому, вместо диска D, мы получим диск SYSTEM или ARCHIVE или же страшное дефолтное название от Windows, вроде FGHYJN009890.

Свежеприобретенный диск перед началом работы всегда и во всех файловых системах форматируют. Диски для Мака обычно форматируют как HFS+ (другое современное название - Mac OS Extended Journaled) - это "родная" файловая система маков. Постоянное использование различных механизмов совместимости с чужими файловыми системами не добавит Маку эффективности. К тому же, установить Mac OS X на что-то, кроме HFS+, нельзя. Если необходимо отформатировать внешний носитель, который предполагается подключать к разным системам, форматируйте его как FAT32(MS DOS File System). Это сделает диск универсальным.

Для работы с дисками можно использовать программу Disk Utility, входящую в комплект Mac OS. Находится она в ApplicationsUtilities. Это комплексная программа, позволяющая выполнять все основные работы с дисками: разбитие диска на несколько логических, форматирование, лечение диска, если произошел какой-либо сбой, и даже создание RAID массива. В подавляющем большинстве случаев вам будет достаточно функций этой утилиты.

Определение типа файла

Теперь стоит сделать лирическое отступление и немного рассказать об одной исторической особенности HFS+. Существующие на настоящий момент операционные системы ведут свою историю в течении уже десятков лет, и их последующие версии - улучшенные и дополненные старые. Например, Windows впервые появилась в 95 году, но, в действительности, это наследница еще более старой системы - DOS, разработанной для самых первых PC, а системы семейства UNIX берут свое начало, чуть ли не со времен первых полетов в космос.

В семействе маков тоже существовал такой "динозавр", теперь его называют Mac OS Classic. Но, вместо инноваций и улучшений, Apple разработала новую систему - Mac OS X, фактически написав ее с нуля. Так что, среди окружающих ее старцев, Mac OS X просто юная девушка, - ее первые версии появились только в 2000 году. При разработке новой системы специалистам из Apple пришлось учитывать вопросы совместимости как со старой Mac OS, чтобы обеспечить переход старых пользователей, так и с Windows, чтобы привлечь новых с доминирующей платформы.

Для определения типа файла система использует сразу три различных подхода. В системе HFS, как было описано выше, любой файл состоит из двух частей: содержания файла и информации о типе файла. Эта информация хранится в отдельном месте - ветви ресурсов в виде специальной текстовой метки. В этом и состоит принципиальное отличие от Windows, где тип файла определяется расширением имени. В подходе Apple есть существенное преимущество - как бы вы не изменяли имя файла, вы не сможете изменить его принадлежность к тому или иному типу, минимизируя риск случайной ошибки.

Однако у описанного подхода есть и недостаток. Популярные протоколы передачи файлов через Intеrnet не поддерживают систему HFS+. При отправлении файла по электронной почте информация о типе файла исчезнет вместе с веткой ресурсов. Это значит, что пересылать маковские файлы через интернет можно только при использовании специальных мак-архивов.

При создании Mаc OS X Apple озаботилась этой проблемой, внедрив в систему механизм определения типа файла при помощи расширения, такой же, как у Windows. Mаc OS X прекрасно распознает типы PC-файлов. Но, в отличие от PC, где расширение имени не может быть больше трех букв, система позволяет использовать расширения, состоящие из бо льшего количества символов. Это значительно увеличивает информативность имени файла и позволяет пользоваться правильными аббревиатурами. Например, популярные графические форматы jpg и tif в действительности называются JPEG и TIFF - при этом система понимает оба варианта написания. Apple пользуется новыми возможностями и дает и собственным файлам вполне информативные расширения имени: .pages - документ созданный в редакторе Pages из комплекта iWork, dspproj - проект DVD диска созданный в DVD Studio Pro и т.д. Таким образом, Mac OS X определяет тип файла используя как и старый Classic подход, для обеспечения преемственности со старыми маками, так и PC поход, использующий расширения имени, при этом расширив его функциональность.

Таким образом, на Маках реализованы три подхода к определению типа файла: старый HFS через ветвь ресурсов, PC - подход через трехбуквенное расширение имени файла и новый, усовершенствованный, через многосимвольное расширение имени файла

При желании, расширения файлов можно скрыть. При сохранении файла укажите флажок Hide Extension (скрыть расширение). Чтобы скрыть расширение уже существующего файла или файлов, нажмите Command-Option-i, предварительно выделив файлы, и выберите флажок Hide Extension в графе Name & Extension.



Всем привет. Недавно я задался вопросом как организовать обмен файлами между операционными системами. Предположим, я хочу установить сразу три основные ос на своём ноутбуке: линукс, виндовз и хакинтош. Каждая ос предназначается для своих задач: Линукс - для работы и программирования, винда - для игр и хак - просто для разных экспериментов.

Поскольку я создаю обучающие видео ролики о линуксе, мне удобнее работать именно на нём. Но монтировать хочется попробовать в «финальном вырезе». Уж очень мне приглянулась идея магнитной ленты времени.

Так вот, задача стоит такая: нужен раздел на системном накопителе, причём с такой файловой системой, которая поддерживается на чтение и запись всеми перечисленными операционками. На этом разделе будут храниться скачанные из интернета файлы и меж-операционные проекты.

Как такая задача решалась мной раньше? Раньше я использовал только винду с линуксом, поэтому задачи обмена с apple os не возникало. Конечно, хотелось использовать открытую и родную фс для линукса - ext4. Но на винде её смонтировать непросто. Нужно устанавливать бесплатный (но проприетарный) Paragon ExtFS for Windows. И ладно, если бы это работало, но к сожалению данное ПО повреждает вам раздел с линуксом. Напоролся пару раз, и всякое желание пользоваться этим по пропало.

А вот виндовая фс под линуксом читается и пишется без проблем. Нужно всего лишь установить ntfs-3g драйвер. Он работает в юзерспейсе. Файловая система проприетарная, но решение работает.

Теперь же я хочу использовать ещё и хакинтош, и хочется разобраться какие ещё есть варианты для решения этой задачи, кроме ntfs.

На самом деле вариантов немного. Давайте разберёмся, какие есть файловые системы, и какие из них являются более или менее универсальными.

Fat32 - всем известная древняя фс, является самой универсальной в плане переносимости, но и самой убогой в плане ограничений. Была разработана давно, не поддерживает файлы размером более 4 Гб. Проприетарная. Для моих задач не подходит.

Ntfs - родная фс для винды, проприетарщина. Линукс, как я уже писал выше, её поддерживает с помощью стороннего драйвера (ntfs-3g). Мак нативно её не понимает, хотя можно доустановить соответствующее по. Есть несколько вариантов, как платных, так и бесплатных. Ни один из них мне не нравится. ntfs-3g работает в userspace (с медленной скоростью), а платные решения - платные.

Hfs+ - одна из худших фс, когда либо созданных. Родная для мак ос, но нисколько не универсальная. Можно примонтировать на линуксе, а для винды опять же есть платные решения - в пролёте.

Ext4 - одна из правильных фс, родная для линукс. Но в плане монтирования в неродных ос - опять проблемы. За платные решения для хакинтоша и для винды опять просят денег. Есть и бесплатные решения, к примеру ext2fsd, но этот драйвер не умеет писать в ext4. В пролёте.

Udf - одна из правильных фс, поддерживается нативно всеми ос. Эта фс была бы лучшим вариантом, если бы не компания apple. Изначально udf создавалась для оптических носителей, но она может быть спокойно использована на обычном жёстком магнитном диске. НО! Из-за того, что яблочники не реализовали поддержку этой фс с раздела, вся задумка отменяется. Даже последняя мак ос Х поддерживает данную фс только если всё блочное устройство не имеет таблицы разделов. На гитхабе есть скрипт format-udf , который может подготовить носитель специальным образом: в начальном блоке данных прописывается mbr, говорящий что раздел начинается прямо там же где и сам mbr. Т.е. накопитель как бы одновременно и с таблицей разделов (то что понимает винда), и вроде как и без таблицы разделов. Этот способ предполагает что носитель будет внешний, а мне нужно сделать exchange раздел именно на внутреннем накопителе. Так что данный вариант тоже в пролёте.

exFat - проприетарщина, но нативно работает как в винде, так и в маке. Это очень хорошо. А что в линуксе?

Вкратце история:

Эта фс использовалась для sd карт на андроидах, а там у нас линукс ядро. Производители реализовали драйвер exfat для linux ядра и никому его не показывали. Но некто в интернете слил на гитхаб их код. Было понятно, что это воровство, и в таком виде код в ядро попасть не мог. Однако, в этом коде сообщество нашло куски gpl кода, что разумеется, требовало раскрытия всех исходников, т.е. это было уже воровство у сообщества со стороны компании samsung. Через некоторое время самсунг выпустили этот код под gpl лицензией.


Спрашивается, а почему тогда данный драйвер не поддерживается из коробки? Потому что его нет в ядре. Мердж этого кода (пусть и gpl-ного) в mainline - это по сути троян от мелких (из-за патентов). Торвальдс это понимает, и, понятное дело, ядро не отравит.

В линуксе монтировать exfat можно либо с помощью exfat-fuse драйвера, либо с помощью exfat-nofuse. Конечно, лучше nofuse, так как он будет работать быстрее. Но его придётся собирать каждый раз при обновлении ядра. Благо, для автоматизации этой задачи есть механизм dkms.

Подведём итог

Я останавливаюсь на exfat. Да, проприетарщина, но ничего не поделаешь. Зато всё нативно работает, и “танцы с бубном” отсутствуют: во всех трех операционных системах есть нативная поддержка и возможность поставить эту фс именно на раздел. Ограничения в 4 Гб нет. И в целом, это решение достаточно простое.

Надеюсь, вы узнали что-то новое для себя и выберите подходящий вариант исходя из ваших нужд.

По умолчанию Mac не может записывать файлы на большинство флешек и внешних жёстких дисков. Так происходит, потому что они отформатированы в файловой системе NTFS. С этой особенностью можно столкнуться, если попробовать записать файл на флешку коллеги или на свой внешний жёсткий диск, который использовался до перехода на Mac.

Проблему легко исправить: Mac будет работать с любыми накопителями, если установить специальное приложение. Другой вариант - отформатировать свою флешку или внешний жёсткий диск в файловой системе ExFAT, которая по умолчанию работает и с macOS, и с Windows без установки дополнительных приложений.

Способ 1: отформатировать накопитель в файловой системе ExFAT

Чтобы отформатировать внешний накопитель в ExFAT, необходимо:

1. Подключить флешку или внешний жёсткий диск к Mac;

2. Открыть приложение «Дисковая утилита». Для этого перейдите в Finder - «Программы» - откройте папку «Утилиты». Найдите в ней приложение «Дисковая утилита» и запустите его;

3. Выбрать нужный накопитель на боковой панели и переключиться во вкладку «Стереть»;


4. Выбрать ExFAT из выпадающего списка в разделе «Формат»;

5. Нажать «Стереть».

Внимание! Данные с флешки будут полностью удалены. Скопируйте их заранее на компьютер, после форматирования вы сможете вернуть их обратно.

Плюсы:

    просто и быстро;

    бесплатно;

    не нужно устанавливать дополнительных приложений.

Минусы:

    этот способ не подходит для работы с чужими флешками и жесткими дисками. Если вам приходится часто делать это, разумнее установить драйвер NTFS.

Способ 2: установить драйвер NTFS на Mac

Существует несколько драйверов, которые решают проблему. Мы рассмотрели два лучших решения, предлагаем ознакомиться с их плюсами и минусами.

Tuxera NTFS for Mac


Tuxera - это драйвер для компьютеров Mac, который помогает им научиться работать в полном объёме с файловой системой NTFS.

Чтобы установить драйвер, необходимо:

1. Скачать Tuxera NTFS for Mac с официального сайта. Приложение платное, но существует пробная версия на 15 дней;

2.

3. Tuxera NTFS .

Никаких дополнительных настроек для работы Tuxera NTFS не требуется. Он будет автоматически включаться вместо стандартного драйвера и монтировать все подключённые диски. После этих нехитрых манипуляций Mac сможет полноценно работать с подключёнными флешками и жёсткими дисками, форматированными в файловой системе NTFS.

Плюсы:

    легко устанавливается и работает;

    занимает мало места;

    передаёт данные быстро и безопасно.

Минусы:

Paragon NTFS for Mac


Paragon NTFS for Mac - популярный драйвер от российского разработчика Paragon Software. Главными плюсами утилиты являются надёжность, стабильность, высокая скорость копирования данных и своевременные обновления.

Процесс установки схож с Tuxera:

1. Скачать Paragon NTFS for Mac с официального сайта. Приложение платное, но существует пробная версия на 10 дней;

2. Установить драйвер, после чего перезагрузить Mac;

3. Зайти в приложение «Настройки». В разделе «Другие» появится новое приложение NTFS for macOS . Здесь вы можете настроить его или удалить.

Установка проходит быстро и просто. Установщик имеет дружелюбный интерфейс на русском языке. Настроек самого драйвера минимум: его можно включить или выключить. Скорость записи Paragon сравнима с Tuxera, а вот скорость чтения выше на 5 мегабайт в секунду.

Плюсы:

Минусы: