Как монтировать раздел в linux. Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов. Не root`ом единым

Если Вам нужно подключить/примонтировать жесткий диск с файловой системой 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

Disk identifier: 0x815aa99a

Пункты таблицы разделов расположены не в дисковом порядке
Диск /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

Из листинга выше видно, что к операционной системе подключено:

  1. два жестких диска: /dev/sda - операционная система и /dev/sdb - "файловая помойка"
  2. сменный USB-носитель: /dev/sdc

Просмотр примонтированых устройств осуществляется командой:

После этого на экране можно увидеть:

/dev/sda1 on / type reiserfs (rw,relatime,notail) 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)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
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)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.27-14-generic/volatile type tmpfs (rw,mode=755)
/dev/sda3 on /home type ext3 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/user/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=user)
/dev/sdc on /media/USBFlash type vfat (rw,nosuid,nodev,uhelper=hal, shortname=mixed,uid=1000,utf8, umask=077,flush)

  • в первой строке сообщается, что в качестве корневой ФС выступает файловая система reiserfs с параметрами монтирования: доступ на чтение и запись (rw)
  • /dev/sda3 - это раздел диска /home
  • /dev/sdc - это примонтированное сменное USB-устройство

Монтирование разделов жесткого диска

Наверх

Из приведенного примера видно, что жесткий диск /dev/sdb подключен, но не примонтирован. Примонтируем раздел жесткого диска /dev/sdb1 к диску /dev/sda. Точку монтирования выберем, к примеру - /home/user/Видео. Точку монтирования можно взять любую.

# sudo mount /dev/sdb1 /home/user /Видео

где user - это название Вашего имени пользователя.

Все очень просто, сначала пишется команда mount, потом пишется то, что нужно присоединять (цифра показывает номер раздела, у нас он всего один), а потом куда присоединять. Почти всегда этого достаточно. Диск, командой mount, монтируется в указанную папку. В некоторых случаях, когда имеются логические ошибки на разделах подключаемого жесткого диска, нужно дополнительно указать тип файловой системы. В данном случае у нас ext3.

# sudo mount -t ext3 /dev/sdb1 /home/user /Видео

Так же этот параметр может принимать значения:

  • -t ntfsили -t ntfs-3g
  • -t vfat
  • -t iso9660

Соответственно для NTFS, FAT и CD-дисков файловых систем. Последний нужен только для подключения CD/DVD-ROM устройств и образа диска.iso.

Чтобы вручную задать параметры доступа к примонтированному разделу следует указать параметр:

  • -o rw
  • -o ro

Первый разрешает чтение и запись, второй только чтение. Ну например, так:

# sudo mount -t ext3 -o rw /dev/sdb1 /home/user/Видео

Дополнительные параметры, которые помогают в некоторых случаях:

# sudo mount -t ext3 -o rw,iocharset=utf8,codepage=866 /dev/sdb1 /home/user/Видео

Первый явно задает кодировку системной локали, в нашем случае это utf8 (для разных дистрибутивов она своя, но чаще utf8), а другая добавляет поддержку русского языка.

Если все же жесткий диск отказывается монтироваться в операционной системе Linux, то можно примонтировать его вручную. Параметр -o force позволяет принудительно монтировать разделы жесткого диска в линуксе. Ну, к примеру, так:

# sudo mount -t ext3 -o force /dev/sdb1 /home/user/Видео

У меня, к примеру, раздел жесткого диска не хотел монтироваться после подключения к Windows-машине, которая была заражена вирусами. Так получилось, что вирус кинул autorun.exe в корень моего раздела и Linux из-за этого не хотел монтировать этот раздел. Данный выше параметр команды mount помог примонтировать инфицированный раздел. После чего вирус успешно был удален вручную.

Есть в Linux уникальная возможность указать зеркало папки, которое получает все права и доступные над папкой действия. Допустим, раздел /dev/sdb1 применяется еще и для хранения документов. Зеркалим его в /home/user/Документы:

# sudo mount --bind /home/user/Видео /home/user/Документы

Действие команды mount --bind напоминает DOS-овский subst.

Посмотреть полную информацию(доступный объем диска, свободное место) о примонтированных устройствах можно командой:

Отмонтироватние устройства производится командой:

# sudo umount /dev/sdb1

или

# sudo umount /home/user/Видео

Монтирование дисков CD/DVD-ROM

Наверх

Если Вам нужно примонтировать CD/DVD-ROM, то монтирование CD/DVD-ROM осуществляется точно так же, той же командой mount, которая были приведены выше:

# sudo mount -t iso9660 -o ro /dev/cdrom /cd

Только при монтировании CD-ROM нужно указать тип файловой системы iso9660.

Для IDE - это будет:

/dev/hda, /dev/hdb, /dev/hdc ...

Для SCSI, SATA, USB-флешки - это будет:

/dev/sda, /dev/sdb, /dev/sdc ...

Если ваш диск разбит на разделы, то цифра в конце означает номер раздела:

/dev/sda1, /dev/sda2 ... /dev/sda(n)

Монтирование - есть ни что иное, как объяснение вашей ОС: о том как ей добраться до вашего конкретного раздела с данными, и в последствии сделать их доступными конечному пользователю.

Что нужно объяснить конкретно?

Какая у вас файловая система на разделе
- какой файл-устройство нужно
- куда вам его нужно примонтировать
- точка монтирования

И так, приступим к процедуре монтирования:

1. Как узнать что монтировать?

Для начала, данные действия описанные ниже, делаються от пользователя root - не забываем это!

(mydoc - это название точки монтирования в линукс , может быть любым, в плане слов)

Выдача прав пользователю)

4. Определяемся с типом монтирования: Однократное монтирование или Постоянное, в случае постоянного монтирования, необходимо вносить изменения в файл:

/etc/fstab , после каждого ввода, ставим TAB

5.1. NTFS - монтирование(раздел жосткого диска, флешки):

Однократное:

# mount -t ntfs-3g /dev/sda2 /mnt/mydoc -o umask=0,nls=utf8

Постоянное:

/dev/sda2 /mnt/mydoc ntfs-3g umask=0,nls=utf8,user,auto,rw 0 0

Постоянное монтируем в /etc/fstab
* Монтируем /dev/sda2 с типом ntfs-3g в точку /mnt/mydoc

5.2. FAT - монтирование:

Однократное:

7. Монтируем CD и DVD диск:

Однократное:

#mount -t iso9660 /dev/cdrom /mnt/dvd

Постоянное:

/dev/cdrom /mnt/cdrom iso9660 user,ro 0 0

8. Монтируем - EXT2/EXT3/ReiserFS/XFS/JFS:

Однократное:

Скорее всего имеються недачёты в статье, буду рад услыать коментарии и советы по улучшению статьи, все дельные исправления приведённые в коментариях - будут внесенны в статью с сылкой на автора) Жду коментов!

Команда mount является тем универсальным средством, которое позволяет произвести все необходимое. Чтобы просмотреть список смонтированных устройств,

вводим ее без аргументов (для чтения права root не требуются):

/dev/sdal on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) none on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw)

none on /sys/kernel/security type securityfs (rw) none on /dev type devtmpfs (rw,mode=0755)

none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) none on /dev/shm type tmpfs (rw,nosuid,nodev)

none on /var/run type tmpfs (rw,nosuid,mode=0755)

none on /var/lock type tmpfs (rw,noexec,nosuid,nodev) none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) binfmt_misc on /рrос/sys/fs/binfmt_misc type binfmt_misc

(rw,noexec, nosuid,nodev)

gvfs-fuse-daemon on /home/grinder/.gvfs type fuse.gvfs-fusedaemon (rw,nosuid,nodev,user=grinder)

В результате получим список, на первой позиции которого указывается исходный ресурс, на его месте может быть none (системный ресурс) или, как в нашем случае, программа gvfs-fuse-daemon. На второй - точка, куда он смотирован.

ПРИМЕЧАНИЕ

Аналогичный список можно получить, прочитав содержимое файла /etc/mtab.

Чтобы смонтировать раздел или другой ресурс при помощи mount, в самом простом случае достаточно указать его имя и точку монтирования. Например, раздел /dev/sdb2

следует подключить к /home/grinder/audio:

$ sudo mount /dev/sdb2 /home/grinder/audio

Теперь, перейдя в /home/grinder/audio, мы можем работать с файлами внутри. Но часто параметры монтирования, установленные по умолчанию, не совсем удобны.

Посмотреть полную информацию о разделе диска - доступный объем, свободное место - можно с помощью команды df-h .

Файловая система обычно определяется автоматически, но если на разделах подключаемого жесткого диска имеются логические ошибки, то необходимо дополнительно указать и тип файловой системы при помощи ключа -t:

$ sudo mount -t ext3 /dev/sdb2 /home/grinder/audio

В примере выбран тип файловой системы ext3. Другие файловые системы монтируют со следующими параметрами:

T ext2, -t ext3, -t ext4, -t reiser, -t xfs - монтирование разделов с соответствующими файловыми системами;

T ntfs-3g - монтирование раздела NTFS;

T vfat - монтирование раздела FAT32;

T iso9660 - монтирование привода компакт-дисков или ISO-образа;

T smbfs или -t cifs - монтирование ресурса системы Windows.

Поддерживаемые дистрибутивом файловые системы можно узнать, просмотрев вывод команды dmesg или список исполняемых файлов mount.*. Последнее сделать очень просто: набираем в терминале mount. и нажимаем клавишу табуля ции.

Полный список всех возможных значений -t можно просмотреть в man mount.

Монтирование разделов

Параметры доступа к примонтированному разделу указываются при помощи флага -o. Для доступа на чтение/запись указывается флаг -о rw, для доступа только на чтение -о rо. Разрешим чтение и запись в нашем примере:

$ sudo mount -t ext3 -о rw /dev/sdb2 /home/grinder/audio

ПРИМЕЧАНИЕ

Параметры доступа к разделу указываются в последней позиции вывода команды mount.

Но в зависимости от сборки ядра кодировка имен файлов, набранных латиницей, в примонтированном разделе может быть нечитаема. Укажем ее явно:

$ sudo mount -t ext3 -о rw,iocharset=utf8,codepage=866 /dev/sdb2

/home/grinder/audio

Параметр -о iocharset=utf 8 явно задает кодировку системной локали, в Linux Mint это ut f 8, a codepage=8 66 добавляет поддержку кодировки русского языка.

Параметр -о force позволяет принудительно монтировать разделы жесткого диска в том случае, если по неопределенным причинам утилита mount отказывается его монтировать с обычными параметрами.

Компакт-диск, вставленный в привод, также монтируется автоматически. Вручную его смонтировать можно так:

$ sudo mount -t iso9660 -о ro /dev/cdrom /mnt

Ho mount интересна еще и тем, что позволяет монтировать ISO-образы диска.

Для этого кроме типа файловой системы указываем и параметр -о loop.

$ sudo mount -t iso9660 -о loop ~/file.iso /home/iso

Чтобы размонтировать раздел, достаточно указать либо устройство, либо точку монтирования:

$ sudo umount /dev/sdb2

$ sudo umount /home/grinder/audio

Сетевой диск монтируется аналогичным образом - указываем его сетевое имя и точку монтирования. Дополнительно можно задать логин и пароль для доступа. Если этого не сделать, то пароль будет запрошен в момент подключения, а логин будет взят текущий, под которым работает пользователь. Но для начала нам нужно установить пакет smbfs:

$ sudo aptitude install smbfs

Теперь вводим

$ sudo mount -t smbfs -о изегпаше=логин,password=пapoль //server/Video /home/grinder/video

ПРИМЕЧАНИЕ

Вместо имени можно указать IP-адрес системы.

Для монтирования/размонтирования файловой системы в Linux используются команды mount/umount.

Синтаксис команды mount

Mount [-lhV] mount -a [-fFnrsvw] [-t vfstype] [-O optlist] mount [-fnrsvw] [-o option[,option]...] device|dir mount [-fnrsvw] [-t vfstype] [-o options] device|dir

Cинтаксис команды umount

Umount [-hV] umount -a [-dflnrv] [-t vfstype] [-O options] umount [-dflnrv] {dir|device}...

Описание mount

Все файлы в Linux объединены в файловую систему. Эти файлы могут быть распределены по разным носителям (виртуальным, физическим или сетевым). Команда mount монтирует устройство и позволяет присоединить хранящиеся на нем файлы к общему дереву каталогов.

Обычно команда mount пишется так

Mount

Либо указываем тип файловой системы

Mount -t type_fs device dir

таким образом мы сообщаем ядру, что нужно присоединить файловую систему устройства (указываем ее тип вместо type) к каталогу dir.

Если нам известен только каталог или устройство, например

Mount /dir

mount ищет запись точки монтирования в файле /etc/fstab и пытается ее смонтировать.

Описание umount

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

Файлы / etc/ fstab и / etc/ mtab

Umount -a [-t type] [-O optlist]

указывает на то, что все файловые системы, упомянутые в fstab (cоответсвующего типа/параметров) должны быть размонтированы и остановлены (кроме тех, для которых указана опция noauto).

При монтировании файловой системы, упомянутой в fstab и mtab, необходимо указать только устройство или точку монтирования. Смонтированные файловые системы хранятся в файле etc /mtab.

Не root`ом единым

Как правило, только суперпользователь имеет право монтировать файловую систему. Однако, когда строка содержит слово user, монтированием может заняться и обычный пользователь.

Пропишем вот такую команду

/dev/cdrom /cd iso9660 ro,user,noauto,unhide

каждый пользователь может смонтировать файловую систему iso9660 на CD-ROM, используя команду

Mount /dev/cdrom

Mount /cd

Команда bind позволяет смонтировать часть файловой системы в другой каталог, причем исходная точка монтирования не удаляется.

Синтаксис этой команды

Mount --bind olddir newdir

либо используем ключ

Mount -B olddir newdir

После введения этой команды содержимое каталога olddir будет доступно в обоих каталогах. Таким образом можно смонтировать и отдельные файлы:

Mount --bind foo foo

Перемещение смонтированной файловой системы

В Linux есть возможность автоматически перемещать смонтированный файлы. Это делается командой

Mount --move olddir newdir

Mount -M olddir newdir

теперь содержимое каталога olddir появится и в newdir. Точкой монтирования будет каталог olddir.

Основные ключи

A — монтирование всех файловых систем, которые упоминаются в файле /etc/tab (кроме тех, которые отмечены как «noauto» или смонтированы ранее);

D – все, кроме собственно системного вызова mount. При добавлении ключа –v система пытается выяснить, что же на самом деле пытается сделать mount;

F – монтирование поврежденного раздела, что небезопасно/отмена записи всех вопросов в случае, если монтирование осуществляется в режиме чтения;

N – монтирование файлов, не упомянутых в /etc/mtab;

R – монтирование файловой системы в режиме «только для чтения»;

W, —rw – монтирование файловой системы по умолчанию в режиме чтения/записи.

Для размонтирования достаточно указать точку монтирования, имя устройства и опцию –a/-A. Для форсированного размонтирования системы нужно ввести ключ –f. Однако, делать это не рекомендуется, поскольку так можно повредить данные в файловой системе и нарушить работу ОС.

Теперь, когда создана файловая система, вы можете примонтировать раздел. Изначально он будет пустым, т.к. система не имела доступа к файловой системе, чтобы добавить в нее файлы. Командой для монтирования файловых систем является mount , ее синтаксис следующий:

Опция -t используется для указания типа файловой системы, которая предположительно находится на разделе. Вот файловые системы, с которыми вы будете встречаться наиболее часто: ext2FS (файловая система GNU/Linux) или ext3FS (усовершенствованная версия ext2FS с возможностями журналирования), VFAT (для всех разделов DOS/Windows ® : FAT 12, 16 или 32) и ISO9660 (файловая система CD-ROM"ов). Если вы не указали никакого типа, mount попробует самостоятельно определить, какая файловая система находится в разделе, путем считывания суперблока.

Опция -o используется для указания одной или нескольких опций монтирования. Опции, применимые к отдельным файловым системам, будут зависеть от используемой файловой системы. За более подробной информацией обращайтесь к странице руководства mount(8).

Теперь, когда вы примонтировали свой новый раздел, настало время скопировать в него весь каталог /usr :

Таким образом, чтобы отмонтировать наш новый раздел, мы можем ввести:

Этак команда отключает устройство и, если это возможно, закрывает все открытые хендлы (handle) этого устройства. Обычно вы можете извлечь диск при помощи команды eject <точка монтирования|устройство> . Что ж... если команда eject не смогла ничего сделать, а вы не хотите перезагружаться, используйте ленивое размонтирование.

Вследствие того, что этот раздел «станет» нашим каталогом /usr , нам необходимо сообщить об этом системе. Для этого мы отредактируем файл /etc/fstab . Он делает возможным автоматизировать монтирование определенных файловых систем, особенно при загрузке системы. Он содержит строки с описанием файловых систем, их точек монтирования и другими опциями. Вот пример такого файла:

/dev/hda1 / ext2 defaults 1 1 /dev/hda5 /home ext2 defaults 1 2 /dev/hda6 swap swap defaults 0 0 /dev/hdc /mnt/cdrom auto umask=0,user,noauto,ro,exec,users 0 0 none /mnt/floppy supermount dev=/dev/fd0,fs=ext2:vfat,--,sync,umask=0 0 0 none /proc proc defaults 0 0 none /dev/pts devpts mode=0622 0 0

Каждая строка состоит из:

  • устройства, содержащего файловую систему;
  • точки монтирования;
  • типа файловой системы;
  • опций монтирования;
  • флага для утилиты резервирования dump ;
  • порядка проверки файловой системы посредством fsck (FileSystem ChecK ).

Всегда присутствует пункт для корневой файловой системы. Разделы swap являются специальными, поэтому их не видно в древовидной структуре, а поле точки монтирования для этих разделов всегда содержит ключевое слово swap . Что же касается файловой системы /proc , более подробно она будет описана в Глава 10, Файловая система /proc . Другой особой файловой системой является /dev/pts .

На данный момент мы перенесли всю иерархию /usr на /dev/hdb1 , и теперь нам нужно, чтобы этот раздел был примонтирован как /usr во время загрузки системы. Для этого добавьте следующий пункт в файл /etc/fstab :

/dev/hdb1 /usr ext2 defaults 1 2

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

Существуют две специальные опции: noauto и user . Опция noauto указывает на то, что файловая система не должна монтироваться при загрузке, а монтируется она только тогда, когда вы захотите это сделать. Опция user указывает на то, что любой пользователь сможет примонтировать или размонтировать эту файловую систему. Эти две опции обычно используются для приводов CD-ROM и дисководов. Существует еще много других опций, а для файла /etc/fstab имеется страница man (fstab(5)), которую вы можете прочитать для получения дополнительной информации.

Одним из преимуществ использования /etc/fstab является упрощение синтаксиса команды mount