Работа с NTFS через Captive
Работа с проприетарной файловой системой NFTS из Linux (на чтение и запись) это не всегда просто.
Не успело сообщество Свободного ПО написать поддержку NTFS из Windows NT (NTFS4 ?) как Microsoft «обрадовала» новой версией NTFS (NTFS5 ?) входящей в Windows XP (или с 2000 ?) (
поправьте меня, если что-то напутал с версиями). Монтирование новой версии NTFS в режиме записи почти всегда стало приводить к полному краху NTFS с потерей всех данных, в связи с чем в большинстве дистрибутивов перестали собирать модуль nfts с поддержкой записи и NTFS стало можно монтировать только в
read-only. Конечно любой желающий мог пересобрать модуль с поддержкой записи, смонтировать NTFS на запись, угробить ее и спокойно жить в Linux, но начинающих пользователей такая ситуация часто пугала. И хотя и можно припомнить времена когда линуксовые списки рассылок и форумы были завалены грусными смайликами сопровождающими монтирование новой NTFS на запись, надо отдать должное разработчикам модуля, в режиме
read-only он всегда прекрасно работал и работает до сих пор. Идти же на поводу у Microsoft, расковыривая отладчиками и дизассемблерами каждый новый сервиспак занятие возможно и увлекательное, но довольно трудоемкое и недешевое.
Появилась другая идея: «А что если запустить родной драйвер от MS под Linux, подобно тому как запускают игрушки и другие приложения используя Wine? Тогда не нужно будет отлавивать новые «особенности» очередных версий."
Проект
Captive стартовал в 2002 году. Сегодня он пердоставляет полную поддержку для работы с NTFS для Linux используя драйверы от MS. Как оно работает:
http://www.jankratochvil.net/project/captive/doc/Architecture.html.pl
Captive входит в состав ALTLinux Master 2.4 и скорее всего в другие дистрибутивы тоже.
Пакеты на моем ALTLinux Master 2.4 с апдейтами на 09.04.2005:
команда
service captive start загружает модуль ядра lufs, того же результата можно достичь с помошью
modprobe lufs
убедиться что модуль загружен можно так:
теперь нужно скопировать нужные драйверы из Windows в /var/lib/captive, это файлы:
для работы с ntfs нужны ntfs.sys и ntoskrnl.exe, cdfs и fastfat для cd и fat соответственно, на тот случай если вдруг захотите работать c ними через драйвера от MS.
Скопировать данные файлы можно и руками, но есть программка
captive-install-acquire, довольно дружелюбная и понятная, которая может не только найти и скопировать и нужные файлы из установленной у вас Windows, но и скачать новую версию их новых сервиспаков прямо с сайта MS.
После установки всех нужных пакетов и файлов от Windows.
Диск с NTFS можно монтировать таким образом:
или прописать соответствующую строку в /etc/fstab чтобы раздел монтировался автоматически при загрузке системы.