Содержание

Немного теории

Способ 1: монтирование через универсально уникальный идентификатор (UU >

UUID — это атрибут конкретной файловой системы, а не произвольное число, зависящее от физического порядка подключения дисков или случайностей инициализации дисковой подсистемы ядром.

Узнаем UUID разделов, для этого

Предположим, мы хотим подключить раздел «Shared» (NTFS-раздел, находящийся на основном диске компьютера) и «TRENDNET8GB» (флэшка, отформатированная в FAT32).

Способ 2: монтирование через имена устройств

Считается устаревшим и строго не рекомендуется к постоянному использованию.

Единственным заметным плюсом является небольшая длина имён устройств, что удобно при прямой работе с консолью. Например, во время реанимации умершей системы.

Разделы, оканчивающиеся цифрой — файловые системы. Разделы без цифры на конце — реальные физические устройства. В данном примере участвуют два физических диска (/dev/sda и /dev/sdb) и два рейд-массива (по сути — две файловые системы, не привязанные напрямую к какому-то одному физическому носителю).

Пример вывода команды fdisk (вывод parted отличается очень незначительно):

Попробуем достучаться до массива md0.

Я не стал загружать основной текст статьи расшифровкой опций монтирования, но несколько слов пояснения сказать необходимо.

Теперь диски стали подключаться автоматически, но так как это делается от имени root, у нас пропала возможность на подключенных дисках давать права на общий доступ, чтобы восстановить эту возможность добавим настройку в Samba:

Так уж повелось, что по умолчанию Ubuntu монтирует только свой системный раздел, называя его "файловой системой". Остальные разделы (кроме флэшек и других подключаемых устройств) придется монтировать вручную. Нас такой расклад не устраивает и мы хотим иметь доступ к нашему второму (третьему, четвертому. ) разделу сразу после загрузки ОС.

Каждый раздел имеет свой UUID (Universally Unique Identifier), и мы будем подключать разделы с помощью него.

Шаг 1. Узнаем идентификаторы подключенных разделов

Получаем что-то примерно такое:

/dev/sda1: UU
/dev/sda3: LABEL="ntfs" UU
/dev/sda5: LABEL="FAT32" UU
/dev/sda6: LABEL="ext3" UU
/dev/sda7: LABEL="ext2" UU
/dev/sda8: LABEL="ext4" UU

Если Вашему разделу задан Label, то всё отлично, поиски необходимого не займут много времени. Например, нам нужен раздел "ntfs" с UUID "6798491F3EB8CFC8". Для определения UUID для раздела без Label придется воспользоваться программами типа gParted или стандартного менеджера дисков, здесь Вам помогут обозначения /dev/sdaX.

Если же Вам лень искать UUID, то можно воспользоваться порядковым номером: /dev/sda3. Минус такого подхода — порядковый номер может измениться при добавлении или переставлении дисков.

Шаг 2. Оповещаем систему о новом разделе

Вся информация по монтируемым разделам хранится в fstab:

sudo gedit /etc/fstab

Если у Вас не установлен gedit, то можете воспользоваться nano или любым другим текстовым редактором. В этом файле добавляем в конец строку:

UU /media/isergium/ntfs ntfs-3g defaults,u >

Монтировать разделы желательно в /media — так они продолжут распознаваться некоторыми проводниками (например, Nemo) как разделы. Для удобства все разделы можно монтировать в одну папку, например /media/*username* .

Приведённый выше формат действителен для NTFS. Обязательно убедитесь что пакет ntfs-3g установлен в Вашей системе. Он даёт много преимуществ перед использованием обычного ntfs , поэтому просто используйте его. Для других файловых систем рекомендованы другие параметры и обозначения:

NTFS ntfs-3g ntfs-3g defaults,u >
FAT16, FAT32 vfat user,auto,fmask=0111,dmask=0000
Apple HFS hfsplus user,auto,file_umask=0177,dir_umask=0077,u >
ext2 ext2 defaults
ext3 ext3
ext4 ext4

Не забудьте подставить свои значение UUID и путь монтирования.

Шаг 3. Завершаем дело

Осталось перезагрузиться или смонтировать несмонтированные диски:

Шаг 4. Гуляем смело

Вот и всё. Отныне для доступа к необходимым файлам не придется вручную монтировать разделы с ними.

Вариант 2. Gnome Disk Utility

В комментариях был предложен более удобный способ автоматического монтирования с помощью стандартной программы "Диски" (gnome-disks). Вот пример работы с ним на Elementary OS Freya (дистрибутив основан на Ubuntu 14.04):

Выбрать диск, выбрать раздел, нажать на кнопку с шестерёнками, в появившемся меню выбрать "Изменить параметры монтирования" ("Edit Mount Options"). В настройках выключить верхний переключатель "Параметры автоматического подключения" ("Automatic Mount Options"), включить "Подключение при запуске" ("Mount at startup") и "Показывать в интерфейсе" ("Show in user interface"). В "Идентифицировать как" ("Identify as") лучше выбрать что-нибудь связанное с UUID. По желанию можно задать Тип файловой системы ("Filesystem Type"), Точку подключения ("Mount Point") и что-нибудь ещё.

После сохранения соответствующая запись появится в /etc/fstab:

После перезагрузки и каждого следующего включения диск будет примонтирован автоматически:

Если программа "Диски" не была найдена, то её можно запустить из консоли:

Установить её можно из исходников или командой:

sudo apt-get install gnome-disk-utility

Проблемы с удалением в корзину?

Если при удалении файлов со смонтированных дисков выдаются ошибки вроде "не удалось переместить в корзину", "невозможно удалить в корзину" и подобные, то достаточно добавить в параметры монтирования параметр u >.

UU /media/isergium/ntfs ntfs-3g defaults,u >

Этот параметр устанавливает владельца примонтированного раздела, по умолчанию это (зависит от файловой системы) либо root, либо владелец процесса. Если Ваш UID иной (что маловероятно), то можете поискать свой в /etc/passwd и прописать его.

Вместо uid можно использовать gid — этот параметр установит группу владельцев. Обычно это тоже 1000, проверить можно в /etc/group.

Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.

В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.

Что такое монтирование?

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

Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.

Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.

Монтирование дисков в Linux

Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:

$ mount файл_устройства папка_назначения

Или расширенный вариант:

$ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения

Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д. Последних два параметра — это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.

Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:

  • -V — вывести версию утилиты;
  • -h — вывести справку;
  • -v — подробный режим;
  • -a, —all — примонтировать все устройства, описанные в fstab;
  • -F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
  • -f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
  • -n, —no-mtab — не записывать данные о монтировании в /etc/mtab;
  • -l, —show-labels — добавить метку диска к точке монтирования;
  • -c — использовать только абсолютные пути;
  • -r, —read-only — монтировать раздел только для чтения;
  • -w, —rw — монтировать для чтения и записи;
  • -L, —label — монтировать раздел по метке;
  • -U, —uuid — монтировать раздел по UUID;
  • -T, —fstab — использовать альтернативный fstab;
  • -B, —bind — монтировать локальную папку;
  • -R, —rbind — перемонтировать локальную папку.

Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.

Монтирование разделов с помощью mount

Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:

sudo mount /dev/sdb6 /mnt/

В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:

sudo mount -v /dev/sdb6 /mnt/

Если нужно, вы можете указать файловую систему с помощью опции -t:

sudo mount -v -t ext4 /dev/sdb6 /mnt

Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:

sudo mount -t ext4 -r /dev/sdb6 /mnt
$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt

Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:

sudo mount -t ext4 -o noexec /dev/sdb6 /mnt

Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.

Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:

sudo mount —uu /mnt

Посмотреть uuid для ваших разделов можно с помощью команды:

Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:

sudo mount —label="home" /mnt/

Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind

sudo mount —bind /mnt/ /media/

Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:

Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:

Размонтирование устройств в Linux

Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:

sudo umount /mnt

Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.

Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:

lsof -w /mnt
$ lsof -w /dev/sdb6

Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:

sudo umount -l /mnt

Выводы

В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!