HOWTO Чтение-запись на NTFS диски при помощи Windows-драйверов
Материал из Gentoo Linux Wiki.
Перейти к: навигация, поиск
Вернуться в раздел руководства
Содержание [убрать]
1 Зачем оно надо?
2 Подключение Windows-разделов
2.1 Установка sys-fs/fuse
2.2 Установка sys-fs/captive
2.3 Установка Windows-драйверов
2.4 Добавление в /etc/fstab
3 Недостатки и преимущества данного решения
[править]Зачем оно надо?
При сосуществовании на одном компьютере Windows и Linux возникает проблема создания общего дискового раздела. Решать её можно следующими путями:
заставить Linux понимать Windows-разделы;
заставить Windows подимать Linux-разделы.
Подключить Linux-разделы под Windows можно при использовании сторонних драйверов, найти работающий по-человечески мне не удалось. Лучшее, что мне удалось найти:
http://ext2fsd.sourceforge.net/ - все хорошо, но программы на данном диске не компилировась при помощи minigw. Почему - не знаю. Возможно они эту проблему уже решили.
[править]Подключение Windows-разделов
Windows понимает следующие файловые системы:
FAT - полностью поддерживаются Linux-ом, но не могут работать с файлами, размер которых превышает 2Gb. По этой причине я её не рассматриваю.
NTFS - в оригинальном Linux-ядре поддерживается только чтение.
Так же известно, что Windows NT 4, Windows 2000 и Windows XP используют разные версие NTFS совместимые сверху вниз и поставить Windows 2000 на диск, отформатированный в Windows XP не получится.
Есть только одни драйвера, гарантированно корректно поддерживающие NTFS - это драйвера от Microsoft. Их мы и будем использовать.
[править]Установка sys-fs/fuse
Модуль fuse используется для работы с пользовательскими файловыми системами. Нам необходимо его установить:
Code: root@localhost:~
emerge sys-fs/fuse
echo "fuse" >> /etc/modules.autoload.d/kernel-2.6
modprobe fuse
[править]Установка sys-fs/captive
Подключать драйвера для NTFS мы будем при помощи пакета sys-fs/captive.
Так как этот пакет замаскирован, его надо размаскировать:
Code: root@localhost:~
echo sys-fs/captive ~86 >> /etc/portage/package.keywords
После его можно будет установить:
Code: root@localhost:~
emerge sys-fs/captive
[править]Установка Windows-драйверов
Для установки Windows-драйверов нужно выполнить одну из команд следующего вида:
Code: root@localhost:~
captive-install-acquire --scan-path=/dev/hda1#libntfs:/windows/system32
captive-install-acquire --scan-path=/mnt/winxp/windows/system32
Либо, если мы не хотим ни о чем думать и Windows установлен в директорию WINDOWS на одном из локальных дисков:
Code: root@localhost:~
captive-install-acquire --scan-disks-quick
Драйвера обычно лежат в директории C:\WINDOWS\system32. У меня ему понадобились следующие файлы (пути указаны относительно system32);
drivers\ntfs.sys
ntoskrnl.exe
[править]Добавление в /etc/fstab
Тут нет ничего сложного, просто указывается тип файловой системы captive-ntfs.
В моем случае строка выглядела следующим образом:
Файл: /etc/fstab
/dev/hda1 /mnt/winxp captive-ntfs rw 0 0
Примечание: По умолчанию диск монтируется в режиме blind. все изменения делаются в памяти и на диск ничего не пишется. Для подключения в режиме физической записи на диск надо обязательно указать режим монтирования rw.
[править]Недостатки и преимущества данного решения
На данный момент обнаружены следующие недостатки данного решения:
На диск может писать только root;
Нельзя выставить у файлов аттрибут executable, владельца файла и т.п.;
Нельзя работать с зашифрованными файлами.
Из преимуществ стоит отметить:
Родные драйвера для работы с файловой системой от Microsoft;
Корректная работа со сжатыми файлами.
Получено с
http://ru.gentoo-wiki.com/