Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.
В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.
Что такое монтирование?
Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.
Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.
Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.
Монтирование дисков в Linux
Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:
$ mount файл_устройства папка_назначения
Или расширенный вариант:
Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:
Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.
Монтирование разделов с помощью mount
Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:
sudo mount /dev/sdb6 /mnt/
Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:
Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.
Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:
Посмотреть uuid для ваших разделов можно с помощью команды:
Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:
Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:
Размонтирование устройств в Linux
Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:
Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.
Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:
Выводы
В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!
Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов.
Если Вам нужно подключить/примонтировать жесткий диск с файловой системой NTFS или ext2, ext3 к компьютеру на базе операционной системы Linux, то Вы читаете правильную статью.
Зачем делать это руками, если современные desktop-системы Линукс делают автоматически?
Есть отдельные случаи когда система Linux не может автоматически примонтировать/подключить диск в силу каких-то логических сбоев диска, вирусов, которыми заражены NTFS/FAT разделах или из-за еще чего-то аномального. Для этого настоящие системные администраторы делают это руками. И делают это командой mount.
Содержание
Команда mount в линуксе является очень гибким инструментом в руках системного администратора. С помощью команды mount можно подключить сетевой диск, раздел жесткого диска или USB-накопитель.
Данная статья не является полным, исчерпывающим описанием команды mount (полное описание команды mount можно найти выполнив в консоли команду man mount), но стремиться к этому. Статья по описанию команды mount постоянно дорабатывается и видоизменяется. Все пожелания по статье можете оставлять в комментариях.
Устройства, которые в данный момент подключены к компьютеру, можно посмотреть набрав в консоли:
Эта команда показывает все устройства, которые подключенны. Они могут быть не примонтированы, но подключены. На экране Вы увидите примерно это:
Диск /dev/sda: 40.0 ГБ, 40020664320 байт 255 heads, 63 sectors/track, 4865 cylinders Units = цилиндры of 16065 * 512 = 8225280 bytes Disk identifier: 0x815aa99a
Устр-во
Загр
Начало
Конец
Блоки
Id
Система
/dev/sda1*
1
1824
14651248+
83
Linux
/dev/sda2
4742
4865
996030
82
Linux
своп / Solaris
/dev/sda3
1825
4741
23430802+
83
Linux
Пункты таблицы разделов расположены не в дисковом порядке Диск /dev/sdb: 80.0 ГБ, 80026361856 байт 255 heads, 63 sectors/track, 9729 cylinders Units = цилиндры of 16065 * 512 = 8225280 bytes Disk identifier: 0x973248ad
Устр-во Загр Начало Конец Блоки Id Система /dev/sdb1 * 1 9729 78148161 83 Linux
Диск /dev/sdc: 1027 МБ, 1027604480 байт 32 heads, 62 sectors/track, 1011 cylinders Units = цилиндры of 1984 * 512 = 1015808 bytes Disk identifier: 0x6f20736b
Из листинга выше видно, что к операционной системе подключено:
Просмотр примонтированых устройств осуществляется командой:
Все очень просто, сначала пишется команда mount, потом пишется то, что нужно присоединять (цифра показывает номер раздела, у нас он всего один), а потом куда присоединять. Почти всегда этого достаточно. Диск, командой mount, монтируется в указанную папку. В некоторых случаях, когда имеются логические ошибки на разделах подключаемого жесткого диска, нужно дополнительно указать тип файловой системы. В данном случае у нас ext3.
Так же этот параметр может принимать значения:
Чтобы вручную задать параметры доступа к примонтированному разделу следует указать параметр:
Первый явно задает кодировку системной локали, в нашем случае это utf8 (для разных дистрибутивов она своя, но чаще utf8), а другая добавляет поддержку русского языка.
Если все же жесткий диск отказывается монтироваться в операционной системе Linux, то можно примонтировать его вручную. Параметр -o force позволяет принудительно монтировать разделы жесткого диска в линуксе. Ну, к примеру, так:
У меня, к примеру, раздел жесткого диска не хотел монтироваться после подключения к Windows-машине, которая была заражена вирусами. Так получилось, что вирус кинул autorun.exe в корень моего раздела и Linux из-за этого не хотел монтировать этот раздел. Данный выше параметр команды mount помог примонтировать инфицированный раздел. После чего вирус успешно был удален вручную.
Есть в Linux уникальная возможность указать зеркало папки, которое получает все права и доступные над папкой действия. Допустим, раздел /dev/sdb1 применяется еще и для хранения документов. Зеркалим его в /home/user/Документы:
Если Вам нужно примонтировать CD/DVD-ROM, то монтирование CD/DVD-ROM осуществляется точно так же, той же командой mount, которая были приведены выше:
В некоторых случаях необходимо примонтировать удаленный сетевой диск. В некоторых дистрибутивах Linux, он так же монтируется автоматически (например в Ubuntu) при открытии его по сети. Можно примонтировать его вручную командой mount через консоль. Можно сделать ярлык и поместив его на рабочем столе активировать его когда нужен удаленный доступ к сетевому ресурсу. Ну или мало еще для чего.
Очередная статья про mount, каких мильон. Напиши FAQ по частым ошибкам команды mount, тогда цены не будет.
>Jimm Вы можете привести частые ошибки? Просто в голову даже не приходит, что тут может не работать и вызывать ошибку.
Спасибо за статью, написана лёгким доходчивым языком.
>runlion Рад, что помогла.
У меня вопрос: у меня есть сервер. Его жесткий диск нужно примонтировать к моему компу (пока не важно в какую папку). Как мне это сделать? Зарание спасибо.
Вот, некоторое время эксперементировал, не мог примонтировать, смог вот так:
спасиб, очень доходчиво и без лишнего груза
Ну вот к примеру проблемы с вводом специальных символов в пароле. Например =,$,’ и т.п. как предлагаете обойти. Оно понятно, что в консоли можно пропустить пароль в команде и вводить в диалоге входа, а ежели у меня скрипт написан и я нубец?
Можно пароль в двойные кавычки обромить
Помогите мне пожалуйста,я не могу зайти из дебиана в раздел с минтом, не получается примонтировать. Вот результаты команд: roza@debian:
Disk /dev/hda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0×34721919
Device Boot Start End Blocks Id System /dev/hda1 * 1 10333 82999791 83 Linux /dev/hda2 14264 14593 2650725 5 Extended /dev/hda3 10334 14263 31567725 83 Linux /dev/hda5 14264 14593 2650693+ 82 Linux swap / Solaris
Partition table entries are not in disk order
Disk /dev/sda: 2063 MB, 2063597568 bytes 16 heads, 32 sectors/track, 7872 cylinders Units = cylinders of 512 * 512 = 262144 bytes Disk identifier: 0×4d00db24
Device Boot Start End Blocks Id System /dev/sda1 * 1 7872 2015216 b W95 FAT32 debian:/home/roza# sudo mount /dev/hda1 on / type ext3 (rw,errors=remount-ro) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) procbususb on /proc/bus/usb type usbfs (rw) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) nfsd on /proc/fs/nfsd type nfsd (rw) /dev/sda1 on /media/KINGSTON type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=1000) debian:/home/roza#
Колибри: Помогите мне пожалуйста,я не могу зайти из дебиана в раздел с минтом, не получается примонтировать.
Как пытаетесь примонтировать? Можете привести команду.
Спасибо :), помогло, теперь копируется все! Пробовала монтировать как раз на рабочий стол. А можно ли этот раздел примонтировать в точку “мой компьютер” так, чтобы он оставался там все время и монтировался автоматом при запуске системы? При том, чтобы всегда был доступен.
Колибри: А можно ли этот раздел примонтировать в точку “мой компьютер” так, чтобы он оставался там все время и монтировался автоматом при запуске системы? При том, чтобы всегда был доступен.
Затем все замирает на несколько секунд и открывается рабочий стол. А тут уж не могу воспользоваться ни sudo, ни просто su – терминал матюгается не по русски. Возможно ли восстановить права на ($HOME).Может можно сделать это с помощью лайв диска Минт?
Колибри: Затем все замирает на несколько секунд и открывается рабочий стол. А тут уж не могу воспользоваться ни sudo, ни просто su – терминал матюгается не по русски. Возможно ли восстановить права на ($HOME).Может можно сделать это с помощью лайв диска Минт?
Все равно ничего не получилось:(. В общем, переустановила я раздел с минтом. Главное что научилась монтировать разделы (поняла как это делается, дальше – проще) И еще усвоила для себя урок – нужно раздавать права очень осторожно. В любом случае спасибо!
Колибри: Все равно ничего не получилось:(. В общем, переустановила я раздел с минтом. Главное что научилась монтировать разделы (поняла как это делается, дальше – проще) И еще усвоила для себя урок – нужно раздавать права очень осторожно. В любом случае спасибо!
Я бы на будущее рекомендовал Вам монтировать разделы к /mnt или к любой другой дериктории, находящейся в корневом разделе. Создать можно так: sudo mkdir /mnt2
P.S. Главное, это то, что Вы чему то научились ))
Хорошо бы, если бы, было еще описано монтирование NFS
А мне статья помогла. Элементарно! – забыла как монтировать… Быстро по статье пробежалась, и вспомнила. Спасибо большое автору!
Нефажно: Хорошо бы, если бы, было еще описано монтирование NFS
Спасибо за комментарий. Внесу дополнения.
Tonik: А мне статья помогла. Элементарно! – забыла как монтировать… Быстро по статье пробежалась, и вспомнила. Спасибо большое автору!
спасибо за статью, оч. доходчиво
Строка username=vasja,password=pupkin должна быть заменена на требуемые параметры. Если подключаетесь от имени гостя, то там нужно быть осторожным, есть нюансы и различия русской и английской ОС Windows
$ sudo umount /dev/sda1 umount: /: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) cj@Monster:
Это может быть 😉 Нужно будет обратить внимание своего редактора 😉
Команда монтирования самбы не работает.
Тарас: Команда монтирования самбы не работает.
Что именно не работает в ней?
ммм…мне так кажется..что это был не оч хороший способ…правильней былоб из рута заходить ибо так вы дали права всем и вся…а это не есть хорошо…
имхо! хоть и говорят что мильон статей, все равно, статья хорошая) правда примерчиков не хватает…хотелось бы увидеть какие-нибудь нестандартные чтоли применения… ибо по примерам все проще усваивается)
Устр-во Загр Начало Конец Блоки Id Система /dev/sdb1 1 7491 60171426 7 HPFS /NTFS /dev/sdb2 7492 9729 17976735 f W95 расшир. ( LBA ) /dev/sdb5 7492 9729 17976703+ 7 HPFS /NTFS
Стояла винда, винчестер был разбит на 4 логических диска (c,d,e,f). На диск “c” установил ubuntu 10.04, снеся тем самым винду. Теперь нет доступа и не вижу остальные логические диски. Подскажите, пожалуйста, что делать, чтоб получить к ним доступ?
maks: Стояла винда, винчестер был разбит на 4 логических диска (c,d,e,f). На диск “c” установил ubuntu 10.04, снеся тем самым винду. Теперь нет доступа и не вижу остальные логические диски. Подскажите, пожалуйста, что делать, чтоб получить к ним доступ?
Прочитать статью и примонтировать нужные разделы
> Монтирование разделов жесткого диска > …Точку монтирования можно взять любую. Вроде бы в Большой Красной книге (я ещё слышал “у Немета”) сказано: “…желательно, чтобы в папке, куда монтируете, не было файлов, потому что они не будут видны”.
Ihor: > Монтирование разделов жесткого диска > …Точку монтирования можно взять любую. Вроде бы в Большой Красной книге (я ещё слышал “у Немета”) сказано: “…желательно, чтобы в папке, куда монтируете, не было файлов, потому что они не будут видны”.
Ну это само собой разумеется.
Примонтировал iso образ
Русские имена файлов кракозябрами пишет.
А что означает none в начале строки при наборе команды mount?
Pavlik: А что означает none в начале строки при наборе команды mount?
Это значит, что физического устройства нет, а это строчка показывает подключение к виртуальному устройству. Как-то так 😉
каждый раз, войдя в систему, монтирую iso заново… А есть команда, чтоб примонтировать “пожизненно”?
Voroshek: каждый раз, войдя в систему, монтирую iso заново… А есть команда, чтоб примонтировать “пожизненно”?
Пропишите в /etc/fstab Здесь все рассказано
Подскажите пожалуйста как почистить хвосты монтирования? Спасибо.
Тут случилась со мной забавная штука. Пытался сделать загрузочную флэшку виндовую. форматнул флэху командой mkfs, затем по рекомендациям некоторых “продвинутых” юзверей. поставил приложение gparted, дал флэшке флажок загрузочной(активной)… И вот после этого начались чудеса: 1. проблема отпали команды mount & umount 2. команды восстановить удалось, но тут другой трабл. при монтировании раздела (не важно с какой системой) фс подключается в режиме чтения, изменить права доступа не удается. Система просто не реагирует на ключи данных команд и говорит все впорядке, операция выполнена успешно.
Вывод могу забрать файлы с любого носителя, отдать файлы не могу. Прочитал статью с fstab. Переписал файл ручками. Изменений в нем больше не делал. Но попытка смонтировать диск с правами записи и исполнения по прежнему заканчивалась неудачей. После того как я снес gparted и перегрузил систему правленный мной файлик fstab стал корректно работать и команды монтирования восстановились.
Внимание вопрос: С чем связано такое поведение gparted и как он это делал? Ну и как с этим бороться не удаляя gparted?
А можно как то исходный код сей чудо программы получить
Подскажите, что делать? Поставил Ubuntu12.04 неделю назад. После некоторых неосторожных действий система упала. На диске 250ГБ информации. LiveCD ЖД видит, но не запускает (выдает ошибку). И присоединить его никак не получается. Вот результат (даже в таком варианте) – root@ubuntu:
Пробовал восстановить работоспособность системы по рекомендациям с сайтов, но безуспешно. При загрузке с диска указывает, что менеджер загрузки не обнаружил операционную систему. Подскажите, что делать?, куда “бежать”?.
Да, можно. Именно для этого mount и нужен
mount /dev/sdb1 /home/ ntfs_mst_post_read_fixup: magic: 0×00000000 size: 4096 usa_ofs: 0 usa_count: 65535: Недопустимый аргумент Actual VCN (0×0) of index buffer is different from expected VCN (0×3). Failed to mount ‘/dev/sdb1’: Ошибка ввода/вывода NTFS is either inconsistent, or there is a hardware fault, or it’s a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper/ directory, (e.g. /dev/mapper/nvidia_eahaabcc1). Please see the ‘dmraid’ documentation for more details.
В бюджетную организацию купили компьютеры с предустановленной Ubuntu 12.04 LTS и заставляют в срочном порядке начать на них работать. Проблема в том что у нас много программ работающих с базами написанных на visual foxpro переписывать это все желания нет. Поставили wine вроде локально все запускается но дело в том что у нас базы должны браться по сети а как это все сделать что то не получается. Дело в том что с linuksom никогда не работали. Подскажите. пробовала командой man запуталась какую файловую систему надо делать то ли cifs то ли smbfs и как узнать какая же у меня файловая система,если мне надо базу на компьютере на ubuntu присоединить для других с ubuntu как сетевой диск.
Александр: А можно как то исходный код сей чудо программы получить
Разумеется можно. Зависит от дистрибутива. В Debian-подобных это
apt-get source mount
Как лучше примонтировать жесткий диск, если на жеском примонтированного для “\” заканчивается свободное место? Т.е. у меня есть sda – монтирован в \, и он заполнен на 90%, сейчас поставил еще sdb и как его лучше смонтировать?
статья супер. спасибо.
Здравствуйте! а как примонтировать флешку? Спасибо!
При подключении карты памяти или флешки появляется следующая строка /dev/sdd1
/“логическое имя флешки” vfat ro,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0 022,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remou nt-ro 0 0
Думал, если заменить параметр ro на rw, то можно будет менять, создавать новые папки, но…. вроде как и можно, в свойствах карты памяти показывается что есть информация, но вся информация что есть в паках как бы скрывается и перестает быть видимой.
Помогает только форматирование.
Зачем от рута(#) делать sudo?
Помогите плз. Не нашел нигде ответа. Есть диск – примонтирован через Webmin. В результате – все работает – но через mount его не видно. В fstab винт прописан. В итоге – не могу контролировать свободное место. сколько осталось и т.д. Как его перемонтировать правильно? Не потеряю я информацию?
Retrying with upper case share name mount error(6): No such device or address Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
В чем принципиальное отличие в линукс между подключением и монтированием накопителя?
Mut@NT: Можно пароль в двойные кавычки обромить
обрАмить, от слова «рамка»!
День добрый, делаю mount с запущенной с флешки лайв версией дебиан, хочу подключить свой жесткий
Что такое монтирование и как пользоваться командой mount (РЕШЕНО)
Что такое монтирование
Монтирование в Linux позволяет получить доступ к содержимому диска и организовать структуру файловой системы. С помощью монтирования также можно открыть для работы образ диска (например, созданного с помощью программы dd), а также открыть для доступа и редактирования самые разные файловые системы и образы дисков (например, образы дисков виртуальных машин); даже удалённые сетевые директории могут быть смонтированы, в результате чего они станут доступны как будто бы файлы на любом другом локальном хранилище.
Кроме того, что с помощью монтирования можно работать с образами дисков, правильные настройки монтирования необходимы для компьютера к которому подключается диск для криминалистического анализа — например, этот диск не должен автоматически монтироваться с правами записи (чтобы не быть испорченным).
В Linux есть такое понятие как «монтирование» диска. Чтобы получить доступ к файлам на этом диске, его нужно сначала смонтировать. Может возникнуть вопрос, зачем такие сложности? Монтирование это мощнейшая вещь, которая позволяет поразительно гибко настроить файловую систему!
Суть монтирования в том, что в файловой системе создаётся новая директория (обычная папка), допустим, это папка /mnt/disk_d. А затем командой mount указывается, что теперь, например, диск /dev/sda смонтирован в директорию /mnt/disk_d. После этого можно получить доступ к файлам диска /dev/sda открыв папку /mnt/disk_d в любом менеджере файлов:
С помощью такого подхода — когда любой диск может быть любой папкой в системе, можно делать очень гибкую настройку. Самый частый пример, встречающийся на практике: файлы пользователя хранятся в папке /home/имя_пользователя/, например, у меня это папка /home/mial/. При установке операционной системы я могу сделать так, что мой второй или третий диск (а не системный) будет смонтирован в точку /home/mial/. То есть вся операционная система будет располагаться на одном диске, а все мои пользовательские файлы — на другом. Что это даёт? В случае переустановки системы, я вновь настрою монтирование диска с моими файлами в папку /home/mial/ и в результате в новой, только что установленной системе, уже будут на месте все мои документы, фотографии и прочее!
Поскольку часто узким местом в мощных компьютерах является скорость чтения с диска, то на на серверах с высокой нагрузкой практикуется перенос файлов баз данных (например, /var/lib/mysql/ на другой диск), возможен перенос файлов сервера (/srv/http/) на третий диск, файлов логов (/var/log/httpd/) на ещё один диск и т. д. Это позволяет добиться того, что данные из баз данных считываются независимо от записи журналов, то есть пока выполняются операции чтения-записи для одного процесса, другому процессу не нужно ждать своей очереди — всё выполняется одновременно.
В общем, несмотря на то, что монтирование является чем-то непривычным для пользователей Windows, это потрясающая функция! Причём ничего сложного в этом нет, если понять суть.
Как увидеть точки монтирования
Для просмотра устройств и точек их монтирования, выполните команду:
Эта команда отображает целевую точку монтирования (TARGET), исходное устройство (SOURCE), тип файловой системы (FSTYPE) и соответствующие параметры монтирования (OPTIONS) для каждой файловой системы, как показано на скриншоте. Подробности смотрите в статье «Команда findmnt для просмотра смонтированных файловых систем в Linux».
Команда findmnt без опций покажет больше данных:
Но среди вывода будут различные виртуальные файловые системы, которые нужны не всегда.
Команда mount также может показывать список точек монтирования, но эта функция в ней поддерживается только для обратной совместимости. Тем не менее, для вывода смонтированных реальных файловых систем вы можете использовать команду:
А для показа всех точек монтирования, запустите команду следующим образом:
Вы можете наблюдать процесс монтирования и размонтирования в реальном времени. К примеру, для отслеживания любых действий по монтированию и размонтированию в файловой системе используйте команду:
Как смонтировать диск
Общая команда монтирования диска имеет вид:
Среди ОПЦИЙ можно указать, например, тип файловой системы или режим только для чтения (по умолчанию монтирование выполняется для чтения и для записи). Существует большое количество опций, некоторые из которых применимы для всех файловых систем, а некоторые из которых специфичны только для определённых файловых систем. Программа mount имеет свои опции, которые относятся к поведению этой утилиты, а также имеются опции, которые относятся к файловым системам, такие опции указываются после -o.
Некоторые опции можно указать любым из этих способов, например, опцию -w, которая означает монтирование для чтения и записи (её псевдонимы —rw, —read-write), также можно указать как «-o rw».
Справочная информация по опциям будет приведена в конце данной статьи.
На самом деле, если вы хотите смонтировать диск для чтения и записи, то можно не указывать никакие опции.
Поэтому обычно для монтирования используется команда вида:
Начинаем с создания директории, в которую будет смонтирован диск:
Монтируем диск /dev/sda:
Разрешаем доступ всем в этот диск, чтобы обычный пользователь также мог смотреть и записывать туда файлы:
На самом деле, права доступа можно настроить более тонко — без полного разрешения для всех.
Как смонтировать диск только для чтения
Для монтирования диска с правами записи, используется любая из опций: -w, —rw, —read-write, -o rw. На самом деле, ни одну из них указывать не нужно, поскольку монтирования с правами записи является поведением по умолчанию.
Чтобы смонтировать диск только с правами чтения, используйте любой из вариантов опции: -r, —read-only, -o ro.
Обратите внимание, что, в зависимости от типа файловой системы, состояния и поведения ядра, система все ещё может записывать данные на устройство. Например, ext3 и ext4 будут использовать журнал, если файловая система загрязнена. Чтобы предотвратить такой доступ для записи, вы можете смонтировать файловую систему ext3 или ext4 с параметрами монтирования ro,noload или установить само блочное устройство в режим только для чтения с помощью команды blockdev:
Обратите внимание, что эффект команды blockdev проявится только если устройство не смонтировано. Если оно уже смонтировано, то изменения вступят в силу после перемонтирования.
Программа hdparm также позволяет установить флаг read-only устройства. Когда значение read-only установлено на 1, Linux не разрешает операции записи на устройство.
Чтобы установить флаг read-only:
Чтобы снять флаг read-only (устройство станет доступным для записи):
Чтобы проверить текущее состояние флага read-only:
Пример проверки значения флага read-only для диска /dev/nvme0n1:
Вывод (режим только чтение отключён, то есть возможна запись на устройство):
Альтернативный (классический) способ создания монтирования привязки только для чтения — использовать операцию повторного монтирования, например:
О привязке (bind) и перемонтировании будет далее.
Как размонтировать диск
Для размонтирования диска используется любая из двух команд:
Частой ошибкой является когда указывают с командой umount одновременно имя диска и точку монтирования — нужно указать только что-то одно.
Если вы получили ошибку, что диск занят, это означает, что какая-то программа держит открытым файл на этом диске. Чтобы выяснить, какая программа препятствует операции размонтирования/перемонтирования, можно использовать программу lsof следующим образом:
Как переместить точку монтирования
Можно переместить точку монтирования в другую директорию, для этого используется команда вида:
Это приведёт к тому, что содержимое, которое ранее отображалось в СТАРАЯ_ДИРЕКТОРИЯ, теперь будет доступно в НОВАЯ_ДИРЕКТОРИЯ. Физическое расположение файлов не меняется. Обратите внимание, что СТАРАЯ_ДИРЕКТОРИЯ должен быть точкой монтирования.
Также обратите внимание, что перемещение монтирования, находящегося под общим монтированием, недопустимо и не поддерживается. Используйте команду findmnt, чтобы увидеть текущие флаги распространения:
Как перемонтировать диск
Можно перемонтировать уже смонтированную файловую систему. Обычно это используется для изменения флагов монтирования файловой системы, особенно для того, чтобы сделать файловую систему доступной для записи. Это не меняет устройство или точку монтирования. Эта операция отличается от предыдущих двух: от привязки и перемещения она отличается тем, что не создаётся новая точка монтирования и не перемещается точка монтирования, но меняются опции монтирования.
Функциональность повторного монтирования соответствует стандартному способу работы команды mount с параметрами из fstab. Это означает, что mount не читает fstab (или mtab) только тогда, когда указаны и устройство, и каталог.
Команда перемонтирования имеет общий вид:
К примеру, чтобы перемонтировать диск, смонтированный в /mnt/disk_d, установив права доступа на «только для чтения»:
Можно также указать одновременно устройство и точку монтирования:
Пример перемонтирования корневой файловой системы с опцией «чтение и запись»:
Опция «чтение и запись» может быть помещена в опцию строки команды -o, например:
После этого вызова все старые параметры монтирования заменяются, а произвольные данные из fstab (или mtab) игнорируются, за исключением параметра loop=, который генерируется внутри и поддерживается командой mount.
После этого вызова mount читает fstab и объединяет эти параметры с параметрами из командной строки (-o). Если в fstab не найдена точка монтирования, разрешается повторное монтирование с неуказанным источником.
mount позволяет использовать —all для повторного монтирования всех уже смонтированных файловых систем, соответствующих указанному фильтру (-O и -t). Например, команда:
Как узнать имя диска для монтирования
Чтобы смонтировать диск (или файл образа) достаточно указать имя устройства и папку, куда его смонтировать (где будут доступны файлы с этого диска). Как мы уже выяснили, не нужно даже указывать тип файловой системы.
Но чтобы смонтировать нужный диск, нужно правильно указать его название или название его раздела.
Отсюда возникает вопрос, как узнать имя раздела для монтирования? Устройства в Linux имеют имена вида /dev/*. Большинство дисков и USB накопителей имеют имена вида /dev/sd*, где в качестве * (звёздочки) используются буквы от a и далее, то есть b, c, d… Номер буквы соответствует порядковому номеру диска в системе. Если диск разбит на разделы, то после буквы идёт цифра раздела, например, /dev/sda1, /dev/sda2 и так далее. Если диск не разбит на разделы, то его можно смонтировать по имени без цифры, например, /dev/sda. Если же диск разбит на разделы, то нужно указать его имя с цифрой раздела, например, /dev/sda3.
В зависимости от используемой технологии дисков, у них могут быть другие имена. Пример имени диска NVMe: /dev/nvme0n1. В этом случае нумерация разделов также не подчиняется описанным выше правилам, первый и второй разделы имеют имена /dev/nvme0n1p1 и /dev/nvme0n1p2 соответственно.
Итак, необходимо правильно определить имя диска (или имя раздела, если диск разбит на разделы).
Обзорную информацию о дисках в системе может дать команда:
Эта команда показала, что в системе есть диски трёх типов: SCSI (внутренний жёсткий диск), [SAT], ATA (жёсткий диск, подключённый по USB переходнику к компьютеру), NVMe (внутренний твердотельный диск).
На самом деле, вывод команды неполный (пропущена USB флешка) и в нём полностью отсутствует информация о разделах. Тем не менее она может помочь вам сориентироваться в присутствующих на вашей системе дисках.
Хорошим вариантом является следующая программа:
Она выводит информацию о каждом диске и каждом разделе. В информации присутствует модель диска, размер и тип разделов — основываясь на этих данных можно найти название нужного раздела.
Если диск монтируется автоматически, то его имя можно увидеть с помощью команда мониторинга:
Ещё одна команда, показывающая обзорную информацию об именах дисках, их файловых системах, ярлык и занятое пространство (в процентах) и доступный объём свободного места (в гигабайтах):
Возможно вы сможете найти полезную информацию в LABEL разделов, чтобы показать сразу все разделы, выполните:
Если вы уже почти определились с разделом и хотите подтвердить свою правоту, то информацию по конкретному разделу можно получить командой вида:
Команда file также может рассказать много интересного про раздел: