- Монтирование диска в Linux
- Что такое монтирование?
- Монтирование дисков в Linux
- Монтирование разделов с помощью mount
- Размонтирование устройств в Linux
- Выводы
- Монтируем файловую систему
- Синтаксис утилиты mount
- Последовательность действий
- Монтируем раздел с определёнными правами доступа
- Монтируем диск с NTFS в Linux
- Монтирование папок
- Монтирование образа iso
- Размонтирование устройств в 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:
В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:
Если нужно, вы можете указать файловую систему с помощью опции -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 для ваших разделов можно с помощью команды:
Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:
Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind
sudo mount —bind /mnt/ /media/
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:
Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:
Размонтирование устройств в Linux
Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:
Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.
Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:
lsof -w /mnt
$ lsof -w /dev/sdb6
Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:
Выводы
В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Монтируем файловую систему
Подключение дисков в Linux отличается от Windows. В Linux у диска есть так называемые разделы, которые подключаются к корневой файловой системе. Некоторые разделы, например системные подключаются автоматически, для всех остальных необходимо смонтировать, то есть подключить, эти разделы вручную. Мы также можем автоматизировать этот процесс если захотим
В этой статье мы рассмотрим как выполняется монтирование дисков и фс в Linux. Поговорим о том, как правильно использовать утилиту mount, umount и рассмотрим несколько примеров монтирования.
Синтаксис утилиты mount
Как Вы уже поняли для монтирования в Linux используется команда mount. Рассмотрим ее параметры:
Опции задают различные дополнительные особенности работы утилиты.
Опция -t не обязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно.
С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д.
Файл устройства это файл устройства, например /dev/sda1
Папка назначения это место в которое будет смонтирован раздел / диск или фаиловая система, например /mnt/mydisk
Основные опции утилиты mount:
-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 — перемонтировать локальную папку
Для получения всех опций не стесняемся пользоваться справкой -h
Последовательность действий
Перед тем как смонтировать диск или раздел мы должны узнать его название в системе, самый простой способ воспользоваться командой
В результате мы увидим подключенные и распознанные диски и их занятое и свободное место
Мы также можем сделать это немного иначе вписав команду
В результате будет выведен список устройств, а также их уникальный UUID
Теперь когда мы определились с выбором диска, пусть это будет например /dev/sdb1 необходимо создать папку, в которую мы вдальнейшем будем монтировать этот диск
Наконец производим само монтирование
Монтируем раздел с определёнными правами доступа
Можно указать дополнительные опции, например можно указать что монтируем файловую систему ext4 причём на этом разделе нельзя выполнять программы:
Если же мы хотим смонтировать фс только на чтение используем опцию -r
или опцию монтирования -o ro
чтение и запись -o rw
Монтируем диск с NTFS в Linux
Типовая задача, когда например мы хотим скопировать данные с диска на котором у нас винда с файловой системой NTFS.
Для начала нам необходимо создать папку в которую мы будем монтировать диск командой
Для того чтобы узнать метку NTFS диска к способам описанным выше добавлю ещё два дополнительных
Теперь, когда нам известно имя раздела с NTFS, мы можем смонтировать этот раздел в созданную нами директорию. Например если раздел у нас /dev/sdb1
Таким образом мы подключили NTFS диск в Linux. Но дело в том что он работает только на чтение, но не работает на запись. Если мы хотим иметь полный доступ как чтение так и запись то необходимо сделать дополнительные шаги.
Во первых необходимо установить fuse и ntfs-3g например в debian / ubuntu
после чего выполняем монтирование
Монтирование папок
Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind
Монтирование образа iso
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает очень просто:
Размонтирование устройств в Linux
Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:
Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.
Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:
После ввода команды вы увидите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита выведет название программы, ее PID, и даже файл, с которым она работает.
Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята: