Перейти к содержанию

монтирование usb-flash с различными файловыми системами


Рекомендуемые сообщения

Недавно столкнулся с проблемой не критичной, но навязчивой. Хотя тема монтирования дисков довольно избитая, но я так и не нашел ничего простого и вразумительно по моему вопросу, вопрос такой:

Имеется обычная usb-flash - с системой vfat и usb - жесткий диск - система NTFS. Ессно для удобстава прописывешь в fstab настройки отдельно для каждой файловой системы. При этом устройство одно и то же !!!, к примеру /dev/sda1. При поочередном подключение дисков приходиться комментировать одну из строчек в файле fstab с не нужной файловой системой. Иначе команда mount считывает первую строку с нужным устройствой из fstab и если это устройство окажется с другой файловой системой, то ругается и ничего не монтирует.

Как же сделать так, чтоб mount мог выбирать в файле fstab к примеру между двумя строчками с одним и тем же устройством (/dev/sda1), но разными файловыми системами?

Если в fstab ничего не прописывать, то по дефолту они конечно монтируются поочередно без проблем, но при этом вместо русских букв кракозяблы, и на ntfs раздел ничего не запишешь (при монтировании по умолчанию не используется ntfs-3g).

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за вопрос. Он меня сподвиг наконец разобраться с одной интересной штукой, о которой пойдет речь ниже.

У меня в Ubuntu используется Volume ID.

Сама программа

$ dpkg -S `which vol_id`

volumeid: /sbin/vol_id

предназначена для того, чтобы определять уникальный идентификатор раздела.

Подробности про утилиту можно прочитать в man vol_id, но в целом смысл следующий.

$ man vol_id

---snip---

vol_id is usually called from a udev rule, to provide udev with the

filesystem type, the label and the uuid of a volume. It supports most

of the common filesystem formats and detects various raid setups to

prevent the recognition of raid members as a volume with a filesystem.

---snip---

В /etc/fstab вместо реальных файлов устройств, которые надо монтировать, указывается некий ID раздела, выясненный с помощью этой утилиты. Выглядит это следующим образом:

$ cat /etc/fstab | grep UUID

UUID=ddaa1e80-80b7-408d-afd1-915966e71f54 / ext3 defaults,errors=remount-ro 0 1

UUID=523CEA6E3CEA4C93 /media/Windows ntfs defaults,umask=007,gid=46 0 1

UUID=f4cb728a-9f30-4ec2-99b5-d55ac5f89705 none swap sw 0 0

Думаю, если в вашем случае указать различные опции для различных UUID, то будет работать как раз как надо. Почитайте про эту штуку.

Единственный минус - надо будет разобраться, что именно нужно устанавливать/обновлять в системе, чтобы это заработало, если у вас этого пока что нет Smile

А это, вероятно, не маленький список, т.к.

$ apt-cache depends volumeid

volumeid

Зависит: libc6

Зависит: libselinux1

Зависит: libsepol1

Зависит: libvolume-id0

Зависит: e2fsprogs

Зависит: initramfs-tools

Заменяет: <libvolumeid0>

$ apt-cache rdepends volumeid

volumeid

Reverse Depends:

udev

udev

initramfs-tools

grub

Есть подозрение, что надо будет чего-нибудь подкрутить в ядре, но я не уверен.

Сообщите об итогах ваших экспериментов, если соберетесь настраивать таким образом.

Ссылка на комментарий
Поделиться на другие сайты

Спасиба за идею! Все заработало!

У меня Slackware 12 и я так и не нашел Volume ID для моего дистрибутива. Но не беда, ID устройства я узнал в /dev/disk/by-uuid/. И почему-то не работает "UUID=", в итоге строка в /etc/fstab выглядит следующим образом:

/dev/disk/by-uuid/767CE1CB22891243	 /mnt/sda1	  ntfs-3g	users,noauto,locale=ru_RU.KOI8-R,uid=500,gid=100	0   0

На мой взгляд для меня проблема решена. Т.е. в случае одного usb-диска можно прописать его ID в fstab, так же прописать настройки для подключаемых usb-flash с vfat и не беспокоится при подключении различных флешек.

Но в случае если часто подключаешь разные usb-диски с ntfs и разные usb-flash с vfat, то проблема остается открытой.

На мой взгляд было бы удобнее прописать в fstab настройки для одного и того же диска, но для разных файловых систем и чтоб система при монтировании могла выбирать нужную строчку в fstab, в зависимости от файловой системы носителя. Но только как это сделать? Sad

Ссылка на комментарий
Поделиться на другие сайты

earth писал(а) Mon, 17 March 2008 22:04

На мой взгляд было бы удобнее прописать в fstab настройки для одного и того же диска, но для разных файловых систем и чтоб система при монтировании могла выбирать нужную строчку в fstab, в зависимости от файловой системы носителя. Но только как это сделать? Sad

Монтировать по меткам файловых систем, например, так:

LABEL=disk1 /mnt/1 reiserfs defaults 0 1

Вот только ни нтфс, ни фат таким способом не подмонтируются, насколько я знаю.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...