Volgograd

Волгоград Linux User Group

Организована 23 ноября 2002 года

Проект заморожен Птн Июл 6 02:11:14 MSD 2012


Вход:  Пароль:  

TarasAblamsky/РаботаСNTFSЧерезCaptive


Работа с 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 чтобы раздел монтировался автоматически при загрузке системы.