пятница, 28 ноября 2008 г.

howto: Использование файловой системы ext2 в ОС Windows

На данный момент ОС семейства Windows официально поддерживают следующие файловые системы:

FAT32
  • Поддержка на чтение и запись почти всеми известными ОС, а также многими "железяками"
  • Файл не может иметь размер более 4 Гб
  • Необходимость дефрагментации
  • Нет (свободных/бесплатных) средств дефрагментации под GNU/Linux
NTFS
  • Поддерживает журналирование (только под Windows начиная с NT 4.0)
  • Нет (свободных/бесплатных) средств проверки (fsck) под GNU/Linux
  • Необходимость дефрагментации
  • Нет (свободных/бесплатных) средств дефрагментации под GNU/Linux
  • Спецификации NTFS закрыты, и свободные драйвера для других ОС не дают никаких гарантий. Microsoft может в последующих версиях Windows изменить NTFS так что свободные средства не будут нормально работать с разделами созданными в этих версиях Windows, при этом конвертация существующих разделов может осуществляться автоматически без предупреждений.
В сложившейся ситуации использовать файловые системы, предоставляемые Windows, неудобно. Тем более если GNU/Linux - ваша рабочая система, либо планируется плавный переход, то после полного отказа от Windows поддержка ваших NTFS разделов в рабочем состоянии может вызвать серьёзные затруднения. Благо существуют реализации драйверов свободных файловых систем для Windows.

Файловая система ext2 совершенствовалась вместе с Linux, и вы можете встретить в сети устаревшие данные о её параметрах.

ext2
  • Свободная файловая система
  • Не требует дефрагментации
  • Поддерживается на чтение и запись ОС GNU/Linux, FreeBSD, Mac OS X (проекты ext2fsx и ext2fuse), Windows (проекты Ext2IFS и ext2fsd)
  • Поддерживает журналирование (при добавлении журнала становится файловой системой ext3)
  • На данный момент нет средства для проверки на ошибки под Windows
Итак существует два (по крайней мере только два активных на данный момент) проекта реализации драйвера файловой системы ext2 под Windows:
  • Ext2IFS - http://www.fs-driver.org/ Распространяется по лицензии as-is, бесплатна для любого использования. Поддерживает Windows NT4.0/2000/XP/2003/Vista/2008. О ней и пойдёт речь.
  • ext2fsd - http://ext2fsd.sourceforge.net/ Свободный проект, распространяется под GPLv2. Не пользовался, поэтому ничего о стабильности работы и процессе настройки сказать не могу.
Форматировать раздел в ext2 нужно в GNU/Linux. Для этого нужно использовать команду:
# mkfs.ext2 -I 128 -m 0 /dev/sda1
Внимание все данные на разделе будут удалены!
sda1 необходимо заменить на ваш диск и раздел (проще всего узнать запустив gparted).
Символ "#" означает что эти действия должны выполняться с правами суперпользователя (root).
-I 128 необходимо для указания испозльзовать Inode size 128, т.к. с умолчальным на данный момент Inode size 256 Ext2IFS работать не будет.
-m 0 для того чтобы отказаться от резервирования 5% объёма раздела для суперпользователя.

Созданный раздел первоначально нужно смонтировать под линуксом и установить на него права доступа. Я использую ext2 на разделах с фильмами, музыкой и монтирую их в /mnt.
# mkdir /mnt/store1
# mount /dev/sda1 /mnt/store1
# chgrp users /mnt/store1
# chmod g+w /mnt/store1
Мы смонтировали раздел и открыли полный доступ к нему пользователям, входящим в группу users (ваш пользователь должен в неё входить). При создании файлов из под линукс их владельцем будет текущий пользователь. При использовании Ext2IFS под Windows - владелец root, группа users. Поэтому проблем с правами доступа не будет.

Теперь установим Ext2IFS под Windows. Опции проставленные в инсталляторе по умолчанию менять не нужно: разрешена поддержка UTF8 и файлов большого размера. Смонтировать разделы (т.е. назначить им буквы) под Windows нужно через апплет IFS Drives в панели управления.
Ни в коем случае не монтируйте корневой раздел линукс, вы можете нарушить права доступа. Если вы хотите получить доступ к своей домашней директории, то вы должны вынести её на отдельный раздел.

Ext2IFS можно установить везде где угодно, и воспользоваться вашим жёстким диском с ext2fs.

Принимается конструктивная критика и дополнения.

1 комментарий: