Этот документ часть проекта Linux NTFS Project.
Самая последняя версия может быть найдена здесь:
ntfs.html
Если у Вас есть вопрос на который нет ответа в этом документе, или у Вас есть замечания по нему самому, пожалуйста пишите мне на адрес: linux-ntfs-dev@sourceforge.net
- Самые задаваемые вопросы
- Другая интересная информация
- Прочтите внимательно
1.1 Что такое NTFS? | |
1.2 Лучше ли NTFS чем FAT/FAT32? | |
1.3 Должен\Должна ли я пользоваться NTFS? (Или конвертировать в неё?) | |
1.4 Отличается ли NTFS в различных версиях Windows? | |
1.5 Каковы пределы NTFS? |
5.1 Могу ли я загрузить Windows на разделе NTFS ? | |
5.2 Как пользовать lilo? | |
5.3 Как пользовать grub? |
NTFS это сокращение от New Technology Filesystem (Файловая система новой технологии) . NT потому что первоначально она была применена в системе Windows NT, а файловая система это просто способ хранения файлов на диске. Различные операционные системы хранят файлы различными способами.
NTFS применяется в системах Windows NT, 2000, XP и Windows Server 2003.
Вернуться к началу
Если коротко - да. Она намного устойчивее, поддерживает Unicode кодировку в именах файлов, имеет надлежащий уровень безопасности, сжатия и шифрования. Главным недостатком её является то что она доступна для чтения только системам Windows NT, 2000 или XP, то есть Вы не можете пользуясь загрузочной дискетой DOS прочитать Ваши данные.
Как всегда есть исключения из правил. В Linux существует драйвер для NTFS начиная с декабря 1997 года. Также есть программа предоставляющая доступ к NTFS в DOS (смотрите Раздел 2.1 для подробного описания).
Нет, Вы не должны, хотя для большинства пользователей это хорошая идея. Возможно Вы даже не заметите разницы. Единственный важный момент здесь это то, что Вы не сможете конвертировать файловую систему обратно в формат FAT (смотрите Раздел 2.3 для подробного описания).
Вы можете установить Windows NT на файловую систему FAT16 а Windows 2000 или XP на систему FAT32. В дальнейшем Вы сможете конвертировать их в NTFS.
Нет. В разных версиях она будет выглядеть одинаково, разве что в более новых будут дополнительные свойства. Например Windows 2000 имеет квоты.
NTFS | Версия Windows |
---|---|
v1.2 | NT 3.51, NT 4 |
v3.0 | 2000 |
v3.1 | XP, Server 2003 |
Версия 1.2 иногда упоминается как 4.0.
Версии 3.0 и 3.1 иногда называют как 5.0 и 5.1.
Большие. NTFS поддерживает файлы размером до 263 байт. Раздел NTFS может содержать до 263 кластеров, а каждый кластер может быть размером до 64 Кб. Всё это ставит верхний предел для NTFS на отметку примерно 500 триллионов Гигабайт.
К сожалению это невозможно. Эти версии Windows могут понимать только FAT. NTFS доступна для чтения только системами Windows NT, 2000 и XP.
Не смотря на это, проделав небольшую работу, Вы можете с помощью программ "NTFS for Windows 98" и "NTFSDOS" с сайта SysInternals получить доступ к NTFS для чтения и в системах Windows 95, 98 и DOS. Если Вы готовы заплатить то там же есть версии позволяющие и записывать на раздел NTFS (прим. Это очень дорого).
Откройте командную строку и введите (заменив x:
правильным разделом)
convert x: /fs:ntfs
Если раздел в данный момент используется то конвертация произойдет при следущей загрузке системы.
Результат этой команды обратим с трудом. Смотрите далее.
Ответ прост - это не возможно. Есть исключение при наличии денег. Partition Magic, доступный с сайта norton.com ,может конвертировать в различные форматы, включая NTFS и FAT.
Это зависит от того какую операционную систему Вы используете.
В DOS, Windows 95/98/ME: fdisk. Используйте загрузочный диск или укажите Windows перейти в режим DOS. Затем введите команду fdisk. Если Вы имеете более одного диска сначала укажите это. Далее Вам надо удалить non-DOS раздел . Будьте очень осторожны, указанные изменения будут произведены немедленно.
В Windows NT: Computer management.
В Windows 2000, XP и Server 2003: Logical Disk Manager. Выберите
Control Panel, далее Administrative Tools, далее Computer Management.
После того как разделом пользуются некоторое время , после многих записей на диск, файлы могут оказаться фрагментированными. То есть находиться не в одном последовательном месте диска но небольшими частями в разных местах.
Windows 2000, XP и Server 2003 имеют встроенную программу дефрагментирования. Пользователи Windows NT могут воспользоваться бесплатной программой. Diskeeper Lite можно скачать с сайта : http://diskeeper.com
Воспользуйтесь нашей стабильной и широко используемой ntfsresize. Или, еще лучше, одной из легких в использовании программ редактирования разделов (DiskDrake, QTParted, YAST, EVMS, Partman, GParted, и т.д.) которые включают её. Более подробно пожалуйста прочтите в ntfsresize FAQ.
Драйвер Linux может читать все версии NTFS . Каждая версия немного отличается но драйверу необходимо работать с файлами и каталогами. А все индексы которые NTFS имеет могут быть легко проигнорированы.
Когда драйвер сможет записывать на раздел NTFS тогда возможно будет иметь значение на какую версию производится запись.
В принципе нет, но если всё что Вам нужно это скопировать файлы из Linux в Windows находящихся на одной машине, то смотрите "ниже" про возможный способ обойти отсутствие поддержки записи. О поддержке записи в Linux читайте далее.
Существует 2 драйвера на данный момент. Исходный драйвер версии 2.4 имеет некоторые возможности записи, но использовать его очень опасно Вероятность уничтожить Вашу систему файлов очень велика.
Новый драйвер , появившийся в версии 2.5.11, имеет некоторые возможности записи, но они очень ограничены. Он может записать поверх другого существующего файла , но не может изменить размер, добавить новые или удалить существующие файлы.
Добавление поддержки записи займет еще много времени. . NTFS построена как база данных. Каждое изменение влечёт за собой необходимость изменений во многих местах для сохранения работоспособности. Сделайте ошибку и файловая система будет повреждена, сделайте слишком много ошибок и файловая система будет уничтожена. Кроме того, разработчики работают над NTFS в своё свободное время. Если Вы хотели бы помочь, пожалуйста свяжитесь со мной по адресу: linux-ntfs-dev@sourceforge.net
Как записывать на NTFS. Если на Вашей машине установлены и Linux и Windows и всё что необходимо это перенести файлы из Linux в Windows, то есть возможность использовать драйвер для Windows обеспечивающий доступ к разделам ext2/ext3, и, таким образом, работая в Windows Вы можете читать файлы с раздела Linux. Так, используя два только считывающих драйвера, Вы сможете переносить файлы из одной файловой системы в другую.
Нам известно о следующих драйверах с открытым исходным кодом работающих в Windows для доступа к разделам ext2/ext3, на июнь 2003 года: :
NTFS поддерживает большой набор свойств, но лишь несколько из них воплощены в Linux NTFS драйвере.
Linux NTFS драйвер поддерживает: имена файлов в кодировке Unicode (переведённые в локальную кодовую страницу или utf8); сжатые файлы; файлы с выставленным аттрибутом sparse.
Тем не менее, драйвер не может читать зашифрованные файлы, он игнорирует квоты и информацию связанную с безопасностью.
Драйвер достаточно безопасен когда используется только для чтения, но с другой стороны, невозможно проверить все возможные непредвиденные ситуации. Если возникают проблемы, пожалуйста ,помогите нам найти и решить их.
Пожалуйста пошлите сообщение команде разработчиков по адресу linux-ntfs-dev@lists.sourceforge.net с указанием используемой версии драйвера версией Linux (uname -a) и версии NTFS (Win NT, 2K или XP).
И если имеются какие либо записи событий (/var/log/messages) которые Вы думаете могут быть полезны, то пожалуйста прикрепите и их.
Спасибо.
Большинство пользователей не должны будут компилировать что-либо чтобы стала возможна поддержка NTFS. Почти каждый дистрибутив Linux (за исключением RedHat) уже имеет встроенную поддержку NTFS.
Если Вы используете RedHat 9 (Shrike), 8.0 (Psyche) или 7.3 (Valhalla), то Вам надо всего лишь установить пакет rpm для поддержки NTFS.
Если Вы имеете более старую версию RedHat, или другой дистрибутив который не включает поддержку NTFS, тогда Вам придется компилировать ядро самостоятельно. Это не так сложно как может показаться на первый взгляд. Более подробно Вы можете прочитать об этом здесь Compile Page .
Новая версия драйвера лучше. Он лучше написан, значительно быстрее, имеет меньше ошибок и безопасен с точки зрения SMP. Новый драйвер доступен начиная с версии ядра 2.5.11 и выше и имеется заплатка чтобы добавить новый драйвер в ядре версии 2.4.
В настоящее время существуют всего несколько утилит и они ориентированы на разработчиков. Тут мы приводим список всех наших утилит.
Очевидно что приоритет отдан достижению возможности записи на раздел NTFS.
Microsoft не публикует какой-либо документации о внутреннем
утройстве NTFS, поэтому мы вынуждены были провести полный инженерный
анализ файловой системы. Поэтому метод был приблизительно такой:
Если это звучит как огромная работа значит Вы понимаете насколько
тяжела была такая задача. Теперь мы понимаем практически всё о NTFS и
задокументировали свои находки для всеобщей пользы:
../ntfs/index.html
На самом деле написать драйвер было много проще чем собрать информацию.
Во-первых мы должны поблагодарить Martin von Löwis. Он создал исходный драйвер в 1995 году. Драйвер был добавлен в ядро Linux в декабре 1997 (2.1.74). Ему в свою очередь оказали помощь следующие люди:
Albert Cahalan, Anton Altaparmakov, Damon Casale, David Dillard, Domagoj Pensa, Joseph Malicki, Matthew Fanto, Olof Wolgast, Rani Assaf, Régis Duchesne, Richard Russon, Steve Dodd, Werner Seiler.
Далее мы должны поблагодарить Anton Altaparmakov, его энтузиазм поддерживал развитие проекта. В период когда проект практически никем не поддерживался ,он взял инициативу на себя и стабилизировал код драйвера. Далее он переписал драйвер с нуля чтобы иметь чёткую базу которая позволит поддерживать и запись. Ему помогали:
Pawel Kot, Richard Russon.
Конечно. Драйвер может читать все версии NTFS, но только читать.
Когда используется только для чтения то оба, Исходный и Новый, драйвера безопасны для общепринятых задач. Они не произведут никаких изменений в Вашей системе и значит не могут нанести ей ущерб.
Кроме того Новый драйвер безопасен в контексте SMP.
В Linux первые два диска на первом контроллере IDE имеют обозначения hda и hdb, а третий и четвертый диски hdc и hdd соответственно. Диски SCSI обозначаются как sda, sdb и так далее соответственно порядку в котором они обнаруживаются.
Простой способ найти разделы NTFS это ввести команду:
fdisk -l
Результат может быть примерно таким:
Disk /dev/hda: 64 heads, 63 sectors, 4465 cylinders Units = cylinders of 4032 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 2125 4283968+ 07 NTFS/HPFS /dev/hda2 2126 19851 35735616 0f Win95 Ext'd (LBA) /dev/hda5 * 2126 4209 4201312+ 83 Linux /dev/hda6 4210 4465 516064+ 82 Linux swap
Если версия Вашего ядра 2.4.* или 2.5.0-2.5.10 то скорее всего у Вас Исходный драйвер NTFS. Если же версия 2.5.11 или выше то у Вас Новый драйвер NTFS.
Другой,более лучший, способ это поискать в записях сообщений ядра. Попробуйте одну из двух команд ниже (возможно Вам понадобятся права суперпользователя root для чтения этих записей) .
dmesg | grep -i ntfs grep -i ntfs /var/log/messages
Исходный драйвер имеет обозначение как версия 1.1.*, в то время как Новый драйвер 2.*.
Прежде всего полезно будет проверить понимает ли ядро NTFS. Команда ниже даст список всех файловых систем которые Linux понимает. Если в нем есть ntfs значит всё в порядке. Также советуем прочесть руководство по команде mount , man 8 mount.
cat /proc/filesystems
Теперь надо создать каталог для монтирования раздела NTFS. Следующим шагом Вы уже можете монтировать NTFS
mkdir /mnt/windows mount /dev/hda1 /mnt/windows -t ntfs -r
NB Для изменения прав доступа к смонтированному разделу прочитайте о параметре umask в разделе 4.6. . Если Вы предпочитаете чтобы раздел монтировался автоматически при загрузке системы , смотрите раздел 4.10.
Когда окончите, Вы можете демонтировать раздел одной из двух команд ниже:
umount /mnt/windows umount /dev/hda1
Имя команды umount (только одно 'n').
Эти параметры общие для обоих драйверов. Также рекомендуем прочитать страницу man команды mount. Обычная форма команды mount такова:
mount device directory [options]
Дополнительные параметры при использовании параметра -o могут быть введены по отдельности или как один резделенный запятыми. Следующие две команды равносильны:
mount /dev/hda1 /mnt/windows -o X -o Y -o Z mount /dev/hda1 /mnt/windows -o X,Y,Z
-r.
mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222
mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=flatcap mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=500
mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=winusers mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=520
Чтобы выяснить каким драйвером Вы пользуетесь прочтите раздел 4.4. . Данный раздел посвящен только Исходному Драйверу. Общие для обоих параметры обсуждаются в разделе 4.6..
Некоторые параметры имеют формат true \ false (истина/ложь) .
Параметр true вы можете заменить на "yes" или 1
Параметр false вы можете заменить на "no" или 0.
NTFS хранит имена файлов и каталогов в кодировке Unicode , которая может воспроизвести любую букву любого языка. По умолчанию драйвер Linux NTFS переводит все имена в кодировку ASCII что вполне удобно некоторым но не подходит тем чьи языки имеют буквы такие как å или é.
NLS (Native Language Support) контролирует как знаки воспроизводятся. Вы можете выбрать или utf8 которая как и Unicode , может воспроизвести все знаки, или кодировку на Ваш выбор, например iso8859-1 (Западная Европа), iso8859-2 (Центральная Европа), gb2312 (Упрощенный Китайский), iso8859-8 (Иврит). Ниже приведены несколько примеров команды mount :
mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=utf8 mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=iso8859-2 mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=gb2312
Если Ваше ядро не поддерживает utf8, тогда Вы можете воспользоваться этим параметром чтобы работать с поддержкой utf8 от драйвера NTFS . Следует использовать всегда когда возможно -o iocharset=utf8
mount /dev/hda1 /mnt/windows -t ntfs -r -o utf8=true
Windows не делает различия между заглавными и прописными буквами в именах файлов при чтении, хотя и сохраняет их таковыми. Поэтому Вы можете например создать файл с именем MyFileName а затем открыть его введя имя mYfILEname.
По умолчанию Linux различает между заглавными и прописными буквами в именах , то есть имена MyFile и myfile относятся к разным файлам. Если же Вы хотите чтобы Linux вела себя так же как Windows при работе с разделом NTFS , установите параметр posix равным true . Установка этого параметра равным false укажет Linux вести себя как обычно (это установлено по умолчанию).
mount /dev/hda1 /mnt/windows -t ntfs -r -o posix=true
Если этот параметр установлен равным true то метаданные файловой
системы будут показаны. Если они не видны то всё же можно увидить их
пользуясь их именем, например ls -l \$MFT
.
Из-за ограничений glibc $MFT
может не появлятся в листингах так как его номер inode равен нулю.
mount /dev/hda1 /mnt/windows -t ntfs -r -o show_sys_files=true
Чтобы узнать какой драйвер Вы используете смотрите раздел 4.4. . Данный раздел обсуждает параметры только для Нового Драйвера . Общие параметры для обоих драйверов смотрите в разделе 4.6. .
Некоторые параметры имеют формат true \ false (истина/ложь) .
Параметр true Вы можете заменить на "yes" или 1
Параметр false Вы можете заменить на "no" или 0.
NTFS хранит имена файлов и каталогов в кодировке Unicode , которая может воспроизвести любую букву любого языка. По умолчанию драйвер Linux NTFS переводит все имена в кодировку ASCII что вполне удобно некоторым но не подходит тем чьи языки имеют буквы такие как å или é.
NLS (Native Language Support) контролирует как знаки воспроизводятся. Вы можете выбрать или utf8 которая как и Unicode , может воспроизвести все знаки, или кодировку на Ваш выбор, например iso8859-1 (Западная Европа), iso8859-2 (Центральная Европа), gb2312 (Упрощенный Китайский), iso8859-8 (Иврит). Ниже приведены несколько примеров команды mount :
mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=utf8 mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=iso8859-2 mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=gb2312
Параметр "umask" меняет права доступа к файлам и каталогам (в разделе 4.6 об этом уже говорилось). Параметр "fmask" работает с файлами и параметр "dmask" работает с каталогами таким же образом. Параметры также могут быть использованы в совокупности. Несколько примеров:
mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0222 mount /dev/hda1 /mnt/windows -t ntfs -r -o dmask=0222 mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0077,dmask=0222
Windows сохраняет и заглавные и прописные буквы в именах файлов при их создании, но не различает между ними при чтении. Поэтому Вы можете создать файл с именем MyFileName и потом открыть его введя имя mYfILEname.
По умолчанию Linux различает между заглавными и прописными буквами в именах , то есть имена MyFile и myfile относятся к разным файлам. Если же Вы хотите чтобы Linux вела себя так же как Windows при работе с разделом NTFS , установите параметр case_sensitive равным false . Установка этого параметра равным true укажет драйверу Linux вести себя как обычно (это установлено по умолчанию).
mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=true mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=false
По умолчанию драйвер откажется монтировать раздел если какие-либо параметры установлены не верно. Добавив параметр sloppy Вы укажите драйверу игнорировать ошибочные параметры.
mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=true mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=false
Этот параметр указывет драйверу что делать при возникновении проблем. По умолчанию он попытается продолжать исполнение. Любое искажение данных будет отмечено и обработано. Как альтернатива драйвер может попытаться восстановить.
На настоящее время единственное восстановление которое драйвер может
сделать это заменить загрузочный сектор на резервную копию .
mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=continue mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=recover
Существует три параметра контроля полномочий доступа к файлам и их принадлежности . А именно: umask, uid и gid . Они упоминаются в разделе Общие параметры монтирования..
Ниже приведены несколько примеров для каждого параметра и пояснено как это влияет на файлы.
Мы воспользуемся одной и той же командой mount чтобы показать параметры.
mount /dev/hda1 /mnt/windows -t ntfs -r
umask это фильтр прав доступа, то есть он работает противоположным от chmod способом. Например полные права доступа эквивалентны 777 (rwxrwxrwx). umask со значением равным 0222 (-w--w--w-) в итоге оставляет 555 (r-xr-xr-x).
По умолчанию значение umask равно 0077 по соображениям безопасности.
mount ... -o umask=0277 -r-x------ 1 root root 28096 Aug 24 1996 chkdsk.exe
mount ... -o umask=0222 -r-xr-xr-x 1 root root 28096 Aug 24 1996 chkdsk.exe
До сих пор файлы принадлежат суперпользователю и группе суперпользователей root. Теперь мы попробуем параметры uid и gid.
mount ... -o uid=flatcap -r-x------ 1 flatcap root 28096 Aug 24 1996 chkdsk.exe
mount ... -o gid=winuser -r-x------ 1 root winuser 28096 Aug 24 1996 chkdsk.exe
mount ... -o uid=flatcap,gid=winuser -r-x------ 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
Ну и на конец мы объеденим несколько параметров для тонкой настройки контроля Ниже мы наделяем пользователя flatcap полными правами, группу пользователей winuser правами чтения и всех остальных мы лишаем прав доступа вообще.
mount ... -o umask=0027,uid=flatcap,gid=winuser -rwxr-x--- 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
После того как Вы довольны своей командой mount, Вы можете научить Linux монтировать разделы NTFS автоматически добавив следующую строку в файл /etc/fstab (filesystem table).
Ниже приведены несколько разных примеров команды mount с соответсвующими записями в файле fstab.
Пусть Вас не беспокоят цифры 0 0 в конце.
mount /dev/hda1 /mnt/windows -t ntfs -r /dev/hda1 /mnt/windows ntfs ro 0 0
Тут мы превратили -r в эквивалентное -o ro
.
mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222 /dev/hda1 /mnt/windows ntfs ro,umask=0222 0 0
mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222,uid=flatcap,gid=winuser /dev/hda1 /mnt/windows ntfs ro,umask=0222,uid=flatcap,gid=winuser 0 0
Да, и grub и lilo могут загрузить Windows на разделе NTFS . В действительности происходит следующее - загрузчик Linux находит загрузчик NTFS и передаёт контроль ему.
Добавьте следующее в файл /etc/lilo.conf и перезапустите lilo.
other = /dev/hda1 table = /dev/hda label = Windows
"other" указывает на раздел содержащий Windows а "table" указывает на таблицу разделов диска.
Добавьте следующее в файл /boot/grub/grub.conf
title Windows root (hd0,0) makeactive chainloader +1
Согласно нумерации дисков используемой в grub /dev/hda это hd0, hdb это hd1, и так далее.Разделы нумеруются начиная с нуля. То есть, hda1 это hd0,0, hdc4 это hd2,3.
Известны следующие дистрибутивы Linux поддерживающие NTFS: Mandrake, Debian, SuSE, Gentoo, и Caldera
Вообще закономерность такова - если это не дистрибутив RedHat, то он поддерживает NTFS.
Мне самому очень интересно было бы знать. Слухи говорят о том что это по юридическим соображениям.
Проверьте какая у Вас версия ядра командой uname -a. Если версия 2.4.9 то важно обновить ядро. Подробнее читайте на RedHat Website .
Если желаете, Вы можете компилировать собственное ядро. Подробнее здесь Как добавить в Linux поддержку NTFS ?
Не совсем. Phat Linux может быть установлен на раздел FAT в Windows и далее загружаться с помощью файлов расположенных в Windows. Новый драйвер имеет почти достаточную поддержку их чтобы добиться этого используя NTFS.
Это полностью переписанный заново драйвер NTFS. Исходный драйвер писался в течение нескольких лет. В начале пути мы знали немного о NTFS и Linux и исходный код стало тяжело поддерживать.
Мы создали новый драйвер опираясь на наши новые знания , который намного проще, быстрее и легче поддерживается.
Нет. Уже существует драйвер NTFS в текущей версии ядра Linux, так что Вам не обязательно пользоваться новым драйвером. Исходный драйвер не смотря на свою давность вполне надежен для каждодневных задач.
Мы публикуем новый драйвер как заплатку к официальному коду ядра Linux.
../downloads.html
http://www.kernel.org/pub/linux/kernel/v2.4/
Заплатка это набор изменений которые требуется внести в некоторые файлы в текстовом формате. Так как мы иэменяем только код NTFS, то было бы не эффективно публиковать весь код ядра каждый раз когда вносятся небольшие изменения. Наши заплатки применимы к официальному коду ядра Linux.
После извлечения из архива исходного кода заплатки в каталог сделайте этот каталог текущими, введите команду (заменив имя файла path и путь к нему patchname по необходимости):
patch -p1 < path/to/patchname
Это внесет изменения в исходный код. Не должно быть каких либо отказов и сбоев. Далее соберите ядро как обычно. Инструкции по сборке смотрите в этом документе.
Извините. Хотя мы и пытаемся помочь всем но наше время ограничено. Ниже приведены несколько сайтов которые помогут Вам получить начальные сведения по Linux. В качестве альтернативы выясните нет ли поблизости Клуба Пользователей Linux .
Тут мы должны рассматривать два ядра. Новый драйвер уже находится в нестабильной версии ядра Linux . Он был включен в версию 2.5.11.
Стабильное же ядро Linux, 2.4.20 на текущий момент, все еще имеет старый исходный драйвер. И хотя мы удовлетворены состоянием кода но пока не удается убедить Повелителей Ядра в том что он хорош.
Так что пока код не включен в ядро мы будем часто публиковать свои разработки в форме заплаток.
Это кажется стоящей идеей, но тут есть множество проблем.
Самой большой технической проблемой является задача соединить системные DLL файлы Windows и файлы VFS Linux. Это возможно, но нет хорошего способа. Такой код должен бы был быть частью ядра что привело бы к сбою системы будь в этом коде ошибки. И не имея исходного кода вряд ли нам удастся решить эту проблему.
Следующая большая проблема это совместимость. Какую версию системных файлов Windows нам использовать? Любой выбор ограничит применение, а сделать оболочку универсальной стало бы кошмаром программиста.
Дальше не легче. Юридические последствия распространения системных файлов Windows были бы очень неприятными. Кроме того, закрытая сущность такого драйвера значила бы что другие програмисты работающие с ядром не смогут исследовать и решать проблемы того кто воспользовался такой оболочкой драйвера NTFS.
Как бы там ни было ,нашелся смелый человек который сделал это. Jan Kratochvil написал такую оболочку для драйвера Windows - Captive. Captive может писать файлы NTFS, но известно что в коде есть ошибки и он значительно медленнее чем драйвер Linux NTFS. Captive основан на ReactOS и использует драйвер LUFS . Возможно если бы объем работы вложенный в разработку Captive был бы вложен в драйвер Linux NTFS , то мы бы уже имели надежный и открытый драйвер с поддержкой записи.
Copyright © flatcap (Richard Russon) |