Главная >> Инструкции >> Монтирование диска в Linux

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

Разделы дисков в 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 --uuid="b386d309-05c1-42c8-8364-8d37270b69e0" /mnt

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

sudo blkid

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

sudo mount --label="home" /mnt/

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

sudo mount --bind /mnt/ /media/

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

sudo mount ~/file.iso /mnt

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

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. Если у вас остались вопросы, спрашивайте в комментариях!

31 комментарий к “Монтирование диска в Linux”

  1. А как монтируется флешка/карта? Я вставляю флешку в порт, и "кто" за неё принимается? Откуда берутся параметры монтирования? И второе - как монтируется та же флешка при загрузке Linux, если я забыл её извлечь с прошлого раза?
    Спасибо.

    Ответить
  2. Владимир,у вас видимо автомонтирование включено по умолчанию.Изменить можно в настройках системы.Если отключено,то ручками монтируете карту,как уже написано.
    Опять же,если включено автомонтирование,то даже если отмонтировать карту и перезагрузить комп,флешка автоматом примонтируется.У меня так под арчем,во всяком случае

    Ответить
  3. > В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab

    Во многих файловых системах построенных на основе FUSE (а так представляются на сегодня множество USB-устройств: фотоаппараты, диктофоны, ридеры и др.) не требуется root без никакого fstab.

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

    Как раз подавляющее большинство файловых систем требуют обязательного указания типа файловой системы (-t), и только очень некоторые файловые системы, тип которых может определиться по умолчанию, из синтаксиса записи параметров mount (nfs, smb, ext*) допускают опустить опцию -t.

    Ответить
  5. Возник вопрос-уточнение: если на веб сервере основной диск для системы — SSD, а обычный HDD — для файлов, поэтому папку downloads сайта (например public_html/downloads) хочу разместить на обычном диске (/dev/sdb).

    В этом случае мне нужно смонтировать диск ( /dev/sdb) к папке (downloads) следующей командой:
    sudo mount /dev/sdb /home/ganesha/var/my_site/public_html/downloads

    И тогда, когда я через фтп буду забрасывать файлы в папку «downloads», физически они будут копироваться на HHD диск (sdb). Верно? Или есть какие-то особенности?
    Заранее Спасибо за ответ!

    Ответить
  6. Подскажите-что и как.На ноуте стоит Lubuntu 16.04 .При установке тип разбивки диска был выбран -ДРУГОЙ. При открытии программы Gparted показывает всё нормально-все имеющиеся диски смонтированы.А в штатной программе Discs только корень файловой системы смонтирован,а остальные диски вообще не смонтированы.Что то я не пойму-какой проге верить? Может разбивка диска при установке проведена не правильно?

    Ответить
  7. Доброго времени суток. Поставил astra Linux. Снес Windows. Диск D оставил, как мне его смонтировать, чтоб увидеть сохранённые данные?

    Ответить
  8. Как сделать одно логическое пространство из двух физических дисков? Иными словами дано винт на 64гига и есть внешний на 320, так вот как примонтировать так чтобы выглядел как один на 404гиг?

    Ответить
  9. Добрый день!
    Как сделать автоматическое монтирование сетевого ресурса (ntfs) при входе пользователя, если пользователь входит в определенную группу (group1)?

    Ответить
  10. У вас нет ответа как Линукс использует дисковое пространство. Я вот поставил Xubuntu на старый комп вместо WinXP на раздел в 20 Гб, стал качать, ставить и распаковывать разное ПО для работы и счастье скоро кончилось... Разве это не популярная сторона вопроса? Дайте хоть ссылку.

    Ответить
  11. Здравствуйте! Недавно поставил Линукс Минт (хочу использовать основной системой), есть ещё 2 жёстких по 2тб, можно ли их примонтировать к системе (как я понимаю) /home (один под игры, а второй под торрент)? если, что я ещё полный нуб, не ругайтесь сильно 🙂 Спасибо

    Ответить
    • Да, и потом размещать в них файлы. Автоматически система не будет расскладывать туда вам игры и торренты, но в торрент клиенте можно настроить папку загрузки, а в стиме папку библиотеки игр.

      Ответить
  12. А как быть в такой ситуации: папка A монтируется в папку B, папка B монтируется в папку C. И вот здесь облом. В папке C - пусто, хотя по идее должна быть папка A. Как быть?

    Ответить
  13. @mountpoint, мне нужно, чтобы файлы, которые складываются в папку
    /var/www/frontuser/data/backups
    физически находились на примаунченном диске /opt/mnt/ в одной из ее папок /backup/front

    получается, я делаю так:
    ln -s
    /opt/mnt/backup/front
    /var/www/frontuser/data/backups

    верно?

    Ответить
  14. а после перезагрузки монтирование останется если устройство так же подключено ?

    у меня кроме системного 2 диска, хочу их раздать по Samba
    как мне их примонтировать чтобы они и после перезагрузки были видны ?

    Ответить
  15. А это монтирование сохраняется на момент сессии? После перезагрузки примонтированный раздел останется?

    Ответить

Оставьте комментарий