CIFS, also known as SMB, is a popular network file sharing protocol primarily used by Microsoft Windows servers and desktops. Although, in a mixed Microsoft and Linux\Unix environment, it can also be found on Linux\Unix servers.

Mounting a CIFS shares onto a CentOS box is very similar to any other network mount done in Linux, such as NFS. So if you have experience doing that, than this will be a very easy tutorial to follow along with.

Mounting can be done using two methods. You can make it a persistent mount by adding an entry into the fstab, or you can make it a temporary mount by invoking the mount command.

Simple Mount as Guest

This is a very simple way of mounting a CIFS share onto CentOS. This method is used for CIFS shares that allow guest access and don’t require an account on the file server.
mount.cifs
In the example below, I am mounting a share called Dept from a file server called fileserver1.serverlab.intra . The share will be mounted in /mnt/dept on the local computer.

Mount.cifs //fileserver1.serverlab.intra/dept /mnt/share

The example above will cause a password prompt. Being that we are attempting the mount the share as a guest, chances are there is no requirement to provide a password. To avoid having to enter a password, we can use the guest option.

Mount.cifs //fileserver1.serverlab.intra/dept /mnt/share -o guest

Mount as User

This method mounts the share using credentials of a user with permissions to access the share.
mount.cifs -o user=
If the user is in a workgroup, we can specify that along with their username.
mount.cifs -o user=\
When we execute the mount command using the examples above you will be prompted to enter the user’s password. We can, if wanted, enter the password next to the user name to avoid the prompt; however, this method is very insecure.
mount.cifs -o user=\ %
The following example mounts a share called Dept hosted by a file server named fileserver1.serverlab.intra using a user named charlie . Charlie is located in a workgroup named Workgroup . The share will be mounted in the /mnt/dept directory.

Mount.cifs //fileserver1.serverlab.intra/dept/ /mnt/dept -o user=workgroup\charlie

Mounting CIFS using Fstab

Shares mounted by executing the mount.cifs command are non-persistent. This means they will not survive a system reboot. If you want the share to be persistent, we need to add it to the fstab of the client computer. The syntax used to add the mount to the fstab is shown below.

cifs ,, 0 0

Using the examples above for the mount.cifs command, the following entry would be an example of mounting a share called Dept from a file server called fileserver1.serverlab.intra. The share will be mounted as a user named charlie.

//fileserver1.serverlab.intra/Dept /mnt/dept cifs user=charlie 0 0

Additonal Mounting Options

This tutorial showed you how to use the user option. There are many other options that can be used, and some of them are listed below.

ro Mounts the share as read-only.
rw Mounts the share as writable.
uid=arg Sets the ownership of newly created files to a specific Linux user id.
gid=arg Sets the ownership of newly created files to a specific Linux group id.
soft Allows a file on the share to remain open and prevents the client from hanging if the file server goes offline. Attempts to read additional data from the file or to write additional data to the file will result in an error.
cache=none Do not cache file data on the client.
cache=strict Strictly follows the SMBv2 caching protocol. Useful for allowing a client to cache shared files locally, to improve access times and decrease bandwidth.

Если Вам нужно подключить/примонтировать жесткий диск с файловой системой 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-устройство
Этого же результата можно достигнуть посмотрев содержимое файла /etc/mtab (в некоторых системах Linux файл называется /etc/mnt/tab)
  • Колибри
    27 Март, 09:27

    после того, как я ввела эту команду: sudo chmod -R 0777 /home/roza/Desktop В Дебиане никаких сообщений об ошибке не было, а вот в Минте, во время загрузки, выходит сообщение со следующим содержанием:

    Файл пользователя $HOME/.dmrc имеет некорректные права доступа и игнорируется. Это препятствует сохранению сеанса и языка по умолчанию. Владельцем этого файла должен быть пользователь и файл должен иметь права доступа 0644.Домашняя папка пользователя ($HOME) должна принадлежать пользователю и не должна быть доступна для записи другим пользователям.

    Затем все замирает на несколько секунд и открывается рабочий стол. А тут уж не могу воспользоваться ни sudo, ни просто su – терминал матюгается не по русски. Возможно ли восстановить права на ($HOME).Может можно сделать это с помощью лайв диска Минт?

  • Mut@NT
    29 Март, 12:13

    Колибри: Затем все замирает на несколько секунд и открывается рабочий стол. А тут уж не могу воспользоваться ни sudo, ни просто su – терминал матюгается не по русски. Возможно ли восстановить права на ($HOME).Может можно сделать это с помощью лайв диска Минт?

    Ну попробуйте вернуть права обратно:
    sudo chmod -R 0644 /home/roza/Desktop

    И владельца:
    sudo chown -R ВАШ_ЛОГИН_В_МИНТ /home/roza/Desktop

  • Колибри
    2 Апрель, 08:43
  • Mut@NT
    3 Апрель, 13:39

    Колибри: Все равно ничего не получилось:(. В общем, переустановила я раздел с минтом. Главное что научилась монтировать разделы (поняла как это делается, дальше – проще) И еще усвоила для себя урок – нужно раздавать права очень осторожно. В любом случае спасибо!

    P.S. Главное, это то, что Вы чему то научились))

  • AlexUnder Construction
    19 Май, 08:41

    Спасибо.
    Пара дополнений.
    1. У меня, к примеру, раздел жесткого диска не хотел монтироваться после подключения к Windows-машине, которая была заражена вирусами. Так получилось, что вирус кинул autorun.exe в корень моего раздела и Linux из-за этого не хотел монтировать этот раздел.
    Не хотел монтировать не из-за autorun.exe, а из-за того, что скорее всего винды были потушены “некорректно” и на ntfs-е остался байтик о проверке целостности файловой системы. В связи с этим ntfs3g без “force” боится маунтить такую ФС, дабы не повредить.
    2. Раз есть раздел про “SMB ”, стоило бы еще упомянуть CIFS .
    И в качестве примера привести что-нибудь типа:
    mount -t cifs -o username=domain\user //remote-win2k3-server/C$ /mnt/smb/

  • Нефажно
    20 Май, 15:26
  • Tonik
    24 Май, 03:04
  • Mut@NT
    26 Май, 17:27

    AlexUnder Construction: Спасибо. Пара дополнений. 1. У меня, к примеру, раздел жесткого диска не хотел монтироваться после подключения к Windows-машине, которая была заражена вирусами. Так получилось, что вирус кинул autorun.exe в корень моего раздела и Linux из-за этого не хотел монтировать этот раздел. Не хотел монтировать не из-за autorun.exe, а из-за того, что скорее всего винды были потушены “некорректно” и на ntfs-е остался байтик о проверке целостности файловой системы. В связи с этим ntfs3g без “force” боится маунтить такую ФС, дабы не повредить. 2. Раз есть раздел про “SMB”, стоило бы еще упомянуть CIFS . И в качестве примера привести что-нибудь типа: mount -t cifs -o username=domain\user //remote-win2k3-server/C$ /mnt/smb/

    Нефажно: Хорошо бы, если бы, было еще описано монтирование NFS

    Спасибо за комментарий. Внесу дополнения.

    Tonik: А мне статья помогла. Элементарно! – забыла как монтировать… Быстро по статье пробежалась, и вспомнила. Спасибо большое автору!

    Заходите почаще:)

  • Денис
    11 Июнь, 11:47

    спасибо за статью,
    оч. доходчиво

  • Людмила
    9 Июль, 13:05

    # sudo mount -t smbfs -o username=vasja,password=pupkin //pupkin_v/Video /home/user/video
    не работает, выдает помощь
    usage: ……
    работаю в ubuntu. надо пдключить расшаренную папку windows
    Может не так команда?

  • Mut@NT
    9 Июль, 22:11

    Людмила: # sudo mount -t smbfs -o username=vasja,password=pupkin //pupkin_v/Video /home/user/video не работает, выдает помощь usage: …… работаю в ubuntu. надо пдключить расшаренную папку windows Может не так команда?

    Строка
    username=vasja,password=pupkin
    должна быть заменена на требуемые параметры. Если подключаетесь от имени гостя, то там нужно быть осторожным, есть нюансы и различия русской и английской ОС Windows

  • Андрей
    31 Август, 10:04

    В ubuntu так надо:
    mount -t cifs -o username=tridge,password=foobar //fjall/test /mnt/smb/fjall

  • CJ
    14 Сентябрь, 20:28

    cj@Monster:~$ 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:~$ df -h
    Файловая система Разм Исп Дост Исп% смонтирована на
    /dev/sdb1 26G 9,1G 16G 37% /
    none 1,7G 416K 1,7G 1% /dev
    none 1,7G 0 1,7G 0% /dev/shm
    none 1,7G 200K 1,7G 1% /var/run
    none 1,7G 0 1,7G 0% /var/lock
    none 1,7G 0 1,7G 0% /lib/init/rw
    /dev/sdb6 33G 15G 19G 45% /media/4403D3D754B7C8F5
    /dev/sdb5 30G 22G 8,1G 74% /media/Win7
    /dev/sda5 50G 8,9G 41G 18% /media/Other
    /dev/sdc1 373G 372G 946M 100% /media/STORAGE
    /dev/sdb7 94G 88G 5,5G 95% /media/MUSIC & GAMES
    /dev/sda1 26G 9,1G 16G 37% /

  • Владимир
    15 Сентябрь, 09:46
  • Mut@NT
    19 Сентябрь, 20:14

    CJ: Нужно смонтировать диск /dev/sda1 , но утверждается, что он уже смонтирован в точке “/”, хотя в этой точке смонтирован системный раздел Убунты. Подскажите, что делать, замучался уже:(

    Можете показать вывод команды:
    sudo fdisk -l

    Владимир:
    Единственное замечание – ошибки употребления тся/ться.-ТСЯ или -ТЬСЯ? Еще раз спасибо.:)

    Это может быть;) Нужно будет обратить внимание своего редактора;)

  • Тарас
    27 Сентябрь, 06:59
  • Mut@NT
    30 Сентябрь, 06:46

    Тарас: Команда монтирования самбы не работает.

    Что именно не работает в ней?

  • Roman
    2 Ноябрь, 20:41

    А если файловая система LWM2, а Linux Mint ругается?!
    то есть команда sudo mount -t lwm2 /dev/sdb /home/user/Видео не принимается.

  • zzzubr
    2 Ноябрь, 22:52

    Mut@NT: sudo mount -t ext3 -o rw /dev/hda3 /home/roza/Desktop
    Так? То есть точка монтирования /home/roza/Desktop?

    Если у Вас все монтируется и файловая система /dev/hda3 видно, но у Вас не достаточно прав, то нужно просто эти права добавить:
    sudo chmod -R 0777 /home/roza/Desktop

    ммм…мне так кажется..что это был не оч хороший способ…правильней былоб из рута заходить ибо так вы дали права всем и вся…а это не есть хорошо…

    имхо! хоть и говорят что мильон статей, все равно, статья хорошая) правда примерчиков не хватает…хотелось бы увидеть какие-нибудь нестандартные чтоли применения… ибо по примерам все проще усваивается)
    29 Ноябрь, 20:33

  • Mut@NT
    5 Декабрь, 19:34

    maks: Стояла винда, винчестер был разбит на 4 логических диска (c,d,e,f). На диск “c” установил ubuntu 10.04, снеся тем самым винду. Теперь нет доступа и не вижу остальные логические диски. Подскажите, пожалуйста, что делать, чтоб получить к ним доступ?

  • Ihor
    6 Декабрь, 14:41

    >
    >

  • Mut@NT
    14 Декабрь, 10:48

    Ihor: > Монтирование разделов жесткого диска
    > …Точку монтирования можно взять любую.
    Вроде бы в Большой Красной книге (я ещё слышал “у Немета”) сказано: “…желательно, чтобы в папке, куда монтируете, не было файлов, потому что они не будут видны”.

    Ну это само собой разумеется.

  • Мульт
    7 Январь, 22:06

    Примонтировал iso образ

    # sudo mount -t iso9660 -o loop /home/op/iso/1.iso /home/op/disk

    Русские имена файлов кракозябрами пишет.

  • umnik
    29 Март, 16:15

    статей много и книг а вот по человечески написанную так сказать на пальцах показанную и рассказанную вижу впервые, автору огромное спасибо, нашел для себя чуток но этот чуток несколько лет понять и найти не мог. Автор достоин уважения, если бы мне такая статья попала в руки лет 7 назад когда я тока принялся бороздить просторы линукса я бил бы очень рад.

    Все рассказано

  • Zlobik
    18 Август, 08:09

    Подскажите пожалуйста как почистить хвосты монтирования? Спасибо.

  • Neon
    12 Январь, 23:29

    Тут случилась со мной забавная штука. Пытался сделать загрузочную флэшку виндовую. форматнул флэху командой mkfs, затем по рекомендациям некоторых “продвинутых” юзверей. поставил приложение gparted, дал флэшке флажок загрузочной(активной)… И вот после этого начались чудеса:
    1. проблема отпали команды mount & umount
    2. команды восстановить удалось, но тут другой трабл. при монтировании раздела (не важно с какой системой) фс подключается в режиме чтения, изменить права доступа не удается. Система просто не реагирует на ключи данных команд и говорит все впорядке, операция выполнена успешно.

    Вывод могу забрать файлы с любого носителя, отдать файлы не могу. Прочитал статью с fstab. Переписал файл ручками. Изменений в нем больше не делал. Но попытка смонтировать диск с правами записи и исполнения по прежнему заканчивалась неудачей. После того как я снес gparted и перегрузил систему правленный мной файлик fstab стал корректно работать и команды монтирования восстановились.

    Внимание вопрос: С чем связано такое поведение gparted и как он это делал? Ну и как с этим бороться не удаляя gparted?

  • Агата
    21 Январь, 23:07

    Отличные, вразумительные статьи: эта, “.. SWAP в Linux”,”..что такое fstab?”!
    Уважаемый автор, напишите пожалуйста еще пару, осветив такие темы, как: разбивка, разметка диска, слияние разделов, перенос home на другой раздел.
    Отличная была-бы коллекция!

  • Александр
    7 Апрель, 00:35

    А можно как то исходный код сей чудо программы получить

  • sbp
    29 Июнь, 01:27

    Подскажите, что делать?
    Поставил Ubuntu12.04 неделю назад. После некоторых неосторожных действий система упала. На диске 250ГБ информации. LiveCD ЖД видит, но не запускает (выдает ошибку). И присоединить его никак не получается. Вот результат (даже в таком варианте) –
    root@ubuntu:~# sudo mount -t ext4 -o force /dev/sda1 /
    mount: wrong fs type, bad option, bad superblock on /dev/sda1, missing codepage or helper program, or other error В некоторых случаях полезная информация может быть найдена в syslog – попробуйте dmesg | tail или что-то в этом роде

    Пробовал восстановить работоспособность системы по рекомендациям с сайтов, но безуспешно. При загрузке с диска указывает, что менеджер загрузки не обнаружил операционную систему.
    Подскажите, что делать?, куда “бежать”?.

  • kino
    25 Октябрь, 23:50

    Добрый день. Есть сервер для кинопроектора на linux. отличается от обычных тем что в него вшита программа Digital Cinema для показа фильмов через проектор. Недавно умерла материнка, поменяли, поставили другую. Все загрузили по новой. Теперь сервер не видит переносной жесткий диск SATA . он подключается с помощью салазок для перекачки фильмов на сервер (1 фильм весит от 90 до 300 Гб). Скажите плз через команду mount можно сделать так что бы он его увидел? (питание на диск идет, все шлейфы подключены, но все равно не видит диск)

  • Поддержку сетевых дисков Windows в Linux обеспечивает пакет cifs-utils. Если он у вас еще не установлен, в командной строке от имени суперпользователя введите

    apt-get install cifs-utils

    Эта команда проверит, установлен ли указанный пакет и, если нет, установит его.

    Создайте в /mnt (или любом другом месте) папку, в которую мы будем подключать сетевой диск Windows:

    mkdir /mnt/winshare

    И наконец само подключение сетевой папки Windows в Linux выполняется с помощью команды mount.cifs

    mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD

    Такая команда выполнит присоединение к фаловой системе Linux сетевого диска Windows с именем SHARE_NAME, расположенного на сервере с IP-адресом SERVER_IP от имени WIN_USER_NAME с паролем WIN_USER_PASSWORD. Следует понимать, что на стороне Windows уже логичным образом указанная папка должна быть расшарена и права на доступ к ней должны принадлежать указанному пользователю.

    В большинстве случаев этого достаточно, если вы работаете от лица суперпользователя. Если же вы от лица суперпользователя производите только подключение сетевой папки Windows, а работать с ней планируете от лица обычного, непривелегированного пользователя, то в качестве опции команде mount.cifs необходимо передать значения UID и GID этого пользователя, иначе, скорее всего, вам не будут доступны операции редактирования файлов и каталогов. Получить UID и GID пользователя можно командой:

    grep MY_USER_NAME /etc/passwd

    Подставив вместо MY_USER_NAME имя пользователя, под которым вы работаете в Linux, вы получите примерно следующую строчку:

    MY_USER_NAME:x:1000:1000:user,:/home/user:/bin/bash

    где 3-е и 4-е поле как раз указывают на UID и GID пользователя MY_USER_NAME. Теперь просто подставим полученные значения в качестве дополнительных аргументов команды mount.cifs:

    mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD,uid=1000,gid=1000

    где uid=1000,gid=1000 - uid и gid, полученные из примера выше.

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

    mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o guest

    И наконец, чтобы в Linux автоматически подключать сетевую папку после перезагрузки, вносим соответствующую информацию в /etc/fstab (дописываем в конец файла):

    //SERVER_IP/SHARE_NAME /MOUNT_POINT_PATH cifs ALL_OPTIONS 0 0

    Т.е. должно получиться что-то вроде

    //192.168.0.1/share /mnt/winshare cifs user=WIN_USER_NAME,password=WIN_USER_PASSWORD,uid=1000,gid=1000 0 0

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

    nano /etc/credentials #имя файла может быть любым

    Username=WIN_USER_NAME

    Password=WIN_USER_PASSWORD

    Domail=WIN_WORKGROUP

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

    chmod 600 /etc/credentials #указывайте файл, который создавали вы

    и вместо всей обвязки из имен и паролей просто пишем в опциях credentials=/etc/credentials (или тот файл, который вы создали). Эта опция работает как при ручном монтировании сетевого диска Windows

    mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o credentials=/etc/credentials,uid=1000,gid=1000

    так и автоматическом, при внесении записи в /etc/fstab (из примера выше):

    //192.168.0.1/share /mnt/winshare cifs credentials=/etc/credentials,uid=1000,gid=1000 0 0

    Примечание. Если вы используете дистрибутив, основанный на SystemD (Debian версии 8 и выше, Ubuntu версии 15.04 и выше, Fedora, ArchLinux...), применение файла /etc/fstab для автоматического монтирования файловых систем является нежелательным, так как SystemD использует несколько другой механизм для монтирования файловых систем, хотя он и обратно совместим с /etc/fstab. Узнать, как можно использовать возможности SystemD для монтирования файловых систем можно в статье SystemD Automount

    Монтирование сетевого диска windows (samba) в linux.

    Для того чтобы примонтировать сетевой диск samba необходимо отредактировать файл /etc/fstab

    например в терминале — sudo gedit /etc/fstab

    добавляем строку после всего

    //192.168.0.76/obmen /media/obmen cifs _netdev,noauto,users,user=human,password=04-fadetoblack,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

    Где

    //192.168.0.76/obmen- место шары в сети.

    в поле user -пишем вашего пользователя (вместо human)

    в поле password — ваш пароль, вместо 04-fadetoblack

    В папке media создаем каталог share,сделать это можно командой

    sudo mkdir /media/obmen

    Затем получаем права на него

    sudo chmod 777 -R -v /media/share

    Пробуем монтировать

    sudo mount /media/share

    После перезагрузки должен монтироваться по клику на папку

    Команда 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

    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-устройство
    Этого же результата можно достигнуть посмотрев содержимое файла /etc/mtab (в некоторых системах Linux файл называется /etc/mnt/tab)

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

    Наверх

    Из приведенного примера видно, что жесткий диск /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.