Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Файловые системы Linux

Как правильно монтировать и прописывать в /etc/fstab разделы c NTFS.

Алексей Дмитриев, 26 октября 2010

Чтобы примонтировать раздел Windows c файловой системой NTFS, нужно установить драйвер ntfs-3g. Большинство дистрибутивов давно имеют его в своих репозитариях. Но вот листая Интернет, на какие только дикие советы не нарвешься порой.

А ведь использование этого драйвера крайне просто. Недаром это драйвер третьего поколения. Все опции, необходимые для его функционирования, входят в его настройки по умолчанию (default).

Поэтому достаточно прописать в /etc/fstab последней строкой :

/dev/sda1   /mnt/windows   ntfs-3g   defaults   0   0

Примечание: Такой опции у этого драйвера нет, но, если оставить поле пустым, то монтироваться ничего не будет ≈ проверено на практике. Если же вы добавляете хоть одну опцию из числа существующих (смотрим man ntfs-3g по-русски), то и defaults вписывать незачем.

После этого все NTFS разделы будут автоматически монтироваться на чтение/запись, все директории и файлы будут принадлежать инициатору монтирования, и все пользователи будут иметь все права на их содержимое.

Если вы хотите, чтобы монтировать и отмонтировать NTFS разделы мог рядовой пользователь, то установите на драйвер setuid бит. Это делается так:

Найдите исполняемый файл драйвера:

# updatedb  (обновим базу данных, если драйвер только что установлен)

# locate ntfs-3g | grep bin

/sbin/mount.ntfs-3g
/usr/bin/ntfs-3g
/usr/bin/ntfs-3g.probe

Установите setuid бит:

# chmod u+s /usr/bin/ntfs-3g

Вот и все.

Если в вашей Linux системе неправильно установлена локаль и вместо русских букв вы видите кракозябры, то вам поможет опция:

/dev/sda1   /mnt/windows   ntfs-3g   locale=ru_RU.utf8   0   0

Обратите внимание, что следует указывать кодировку Linux системы.

Если вы не желаете, чтобы другие имели доступ к вашим Windows разделам, то примените опцию

/dev/sda1   /mnt/windows   ntfs-3g   umask=022,locale=ru_RU.utf8   0   0

Это даст доступ к файлам только тому, кто монтировал, а остальные смогут только читать. Если вы хотите, чтобы этим пользователем были вы, то добавьте свой uid в численной форме:

/dev/sda1   /mnt/windows   ntfs-3g   uid=1000,umask=022,locale=ru_RU.utf8   0   0

Ну, а теперь самое интересное.

NTFS раздел будет монтироваться автоматически в процессе загрузки, и вы сразу можете работать с файлами Windows. Но вот если вы захотите отмонтировать этот раздел (бывают же такие случаи), то вам придется делать это с правами суперпользователя и вручную, при помощи команды

# umount /mnt/windows

Все же штатные интерфейсы работы с разделами (типа "Компьютер" или "System" или "Places" и так далее) не позволят вам сделать это под самыми смехотворными предлогами. И это вполне объяснимо. Ведь примонтировался раздел еще на стадии загрузки, от имени root'а, а теперь вы хотите отмонтировать как рядовой пользователь.

Я уже собирался заканчивать эту статью, когда наскочил на этот феномен. Я боролся с ним целый день, выискивая образцы заполнения файла /etc/fstab в различных дистрибутивах, проверяяя их, выбрасывая по одной опции и перезагружаясь после каждой попытки. Это была работа! Но в результате я методом исключения нашел простейший вариант:

/dev/sda1   /mnt/windows   ntfs-3g   users   0   0

У меня в Debian Lenny это автоматически монтирует NTFS раздел при загрузке, и дает возможность рядовому пользователю отмонтировать его простым кликом мыши на значке в директории system:/media/. При желании можно смонтировать его обратно, тем же простым щелчком.

Я не могу этого объяснить. Никакой опции users драйвер ntfs-3g не поддерживает; более того, если написать user, то ничего работать не будет.

Кто понимает, в чем тут дело, тот пусть напишет комментарий к этой статье.

Приложение

Предлагаемый вашему вниманию ман хорош тем, что позволяет легко понять, в чем дело, если раздел NTFS не монтируется. Коды завершения скажут все.

Мануал NTFS-3G.PROBE

Название

ntfs-3g.probe ≈ Проверяет возможность монтирования тома с файловой системой NTFS.

Синтаксис

ntfs-3g.probe <--readonly|--readwrite> том (раздел или диск или что-там у вас)

Описание

Утилита ntfs-3g.probe проверяет возможность монтировать раздел с NTFS только для чтения или на чтение/запись. Выводит соответствующий код завершения. Том может быть блочным устройством или файлом образа.

Опции

Ниже перечислены опции, которые понимает команда.

-r, --readonly

Проверить, можно ли примонтировать том только для чтения.

-w, --readwrite

Проверить, можно ли примонтировать том на чтение/запись.

-h, --help

Вывести помощь.

Пример

Проверить возможность монтирования /dev/sda1 на чтение/запись:
ntfs-3g.probe --readwrite /dev/sda1

Коды завершения

0  Монтирование возможно
11 Синтаксическая ошибка, шелл не смог прочесть команду.
12 Том не содержит адекватной файловой системы NTFS.
13 Неполноценный NTFS, ошибка "железа" или драйвера, либо не установлено нужное оборудование для SoftRAID/FakeRAID.
14 NTFS раздел находится в состоянии гибернации. В этом случае можно применить опцию 'remove_hiberfile' команды ntfs-3g, что удалит гиберфайл и позволит примонтировать раздел на чтение/запись. Сохраненная сессия Windows будет уничтожена.
15 NTFS раздел был неправильно отмонтирован. Поможет опция 'force' команды ntfs-3g, которая очистит журнал NTFS.
16 Том уже открыт и используется драйвером ядра или программными методами.
17 Оборудование для SoftRAID/FakeRAID не подключено, либо отсутствует, либо не имеет питания.
18 Причина не ясна.
19 Нет необходимых прав для монтирования.
20 Не хватает памяти
21 Неизвестная ошибка FUSE
22 Угроза безопасности. Выполнение запрещено из-за возможности несанкционированного использования.

Известные проблемы

Пожалуйста, читайте http://ntfs-3g.org/support.html. Там описаны обычные вопросы и известные проблемы. Если вы найдете новые проблемы в последнем релизе программы, пожалуйста, отправьте подробное сообщение. Контактный адрес разработчиков: ntfs-3g-devel@lists.sf.net

Авторы

ntfs-3g.probe написана Szabolcs Szakacsits (szaka@ntfs-3g.org).

Благодарности

Alon Bar-Lev интегрировал утилиту в проект NTFS-3G и проверил ее перед публичным релизом совместно с Erik Larsson.

Смотрите дополнительно

man ntfs-3g(8) по-русски здесь

 



Средняя оценка 5 при 1 голосовавших