- Монтируем файловую систему
- Синтаксис утилиты mount
- Последовательность действий
- Монтируем раздел с определёнными правами доступа
- Монтируем диск с NTFS в Linux
- Монтирование папок
- Монтирование образа iso
- Размонтирование устройств в Linux
- Как монтировать нестандартные файловые системы в Linux
- NTFS
- Установка компонентов
- Ручное монтирование
- Автоматическое монтирование
- GeeseFS (Yandex Cloud диск)
- Установка компонентов
- Авторизация
- Ручное монтирование
- Автоматическое монтирование
- NTFS
- Tips and tricks
- Improving performance
- Prevent creation of names not allowed by Windows
- Known issues
- Explicit file system type required to mount
- Troubleshooting
- unknown filesystem type ‘ntfs’
- udisks support
- Unable to mount with ntfs3 with partition marked dirty
- See also
Монтируем файловую систему
Подключение дисков в 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, файловая система будет отключена немедленно, несмотря на то, что она занята:
Как монтировать нестандартные файловые системы в Linux
Обновлено: 09.07.2023 Опубликовано: 09.08.2016
Данную инструкцию можно рассматривать как шпаргалку для работы с некоторыми файловыми системами в системах Linux. По мере возможности, список примеров будет пополняться.
NTFS
Установка компонентов
Для начала необходимо установить пакет ntfs-3g. В противном случае, при попытке запустить команду на монтирование раздела NTFS мы получим ошибку mount: unknown filesystem type ‘ntfs’.
Сначала устанавливаем расширенный репозиторий:
Затем сам пакет ntfs-3g
После установки данного пакета в системе появятся дополнительные команды mount.ntfs-fuse и mount.ntfs-3g., а также команда mount распознает опцию -t ntfs.
Ручное монтирование
Монтирование NTFS на чтение и запись выполняется любой из трех команд:
mount -t ntfs-3g /dev/sdb1 /mnt
* в данном примере, примотировано устройство /dev/sdb1 в раздел /mnt. Понять, какой устройство нужно монтировать можно при помощи команды fdisk -l
Автоматическое монтирование
Чтобы раздел автоматически монтировался при перезапуске компьютера, открываем на редактирование файл:
/dev/sdb1 /mnt ntfs defaults 0 0
* в данном примере мы раздел /dev/sdb1 будем монтировать в каталог /mnt.
Чтобы применить настройку и проверить ее, вводим:
Посмотреть примонтированные разделы и файловые системы можно командой:
GeeseFS (Yandex Cloud диск)
Установка компонентов
Сначала устанавливаем утилиты fuse и wget. В зависимости
yum install fuse fuse3 wget
Скачиваем geesefs и сохраняем ее в /usr/bin/geesefs:
wget https://github.com/yandex-cloud/geesefs/releases/latest/download/geesefs-linux-amd64 -O /usr/bin/geesefs
Выставляем разрешение утилиты geesefs на запуск:
Проверяем работу утилиты, посмотрев ее версию:
Мы должны увидеть что-то на подобие:
Авторизация
Yandex Cloud для монтирования диска требует прохождение аутентификации с помощью токена. Его мы получаем в личном кабинете хостера.
Для настройки доступа создаем каталог .aws в домашней директории пользователя, под которым будем монтировать диск. В моем случае, пользователь root:
После создаем файл с токеном:
[default]
aws_access_key_id = H. D
aws_secret_access_key = H. 7
Ручное монтирование
Для монтирования используем команду geesefs:
Автоматическое монтирование
Чтобы раздел автоматически монтировался при перезапуске компьютера, открываем на редактирование файл fstab:
fuse.geesefs _netdev,allow_other,—file-mode=0666,—dir-mode=0777 0 0
Если мы хотим, чтобы точке монтирования назвачался определенный владелец и группы, указываем опции uid и gid:
fuse.geesefs _netdev,allow_other,—file-mode=0666,—dir-mode=0777,—uid=1024,—gid=1024 0 0
Чтобы применить настройку и проверить ее, вводим:
NTFS
NTFS (New Technology File System) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family.
The ntfs3 kernel driver provides read and write support for the file system.
- All officially supported kernels with versions 5.15 or newer are built with CONFIG_NTFS3_FS=m and thus support it. Before 5.15, NTFS read and write support is provided by the NTFS-3G FUSE file system. Or you can use backported NTFS3 via ntfs3-dkmsAUR .
- Paragon Software, the author of the kernel module, has not yet released userspace utilities for NTFS3. You can use NTFS-3G userspace utilities without NTFS-3G driver via ntfsprogs-ntfs3AUR .
Tips and tricks
Improving performance
You can enable the prealloc mount(8) option to decrease fragmentation in case of parallel write operations (most useful for HDD).
Prevent creation of names not allowed by Windows
NTFS itself does not have restrictions for characters and names used, but Windows does.
Since the kernel version 6.2, ntfs3 supports windows_names mount(8) option. Use it to strictly maintain compatibility.
Known issues
Explicit file system type required to mount
ntfs3 requires the file system type to mount.
To be able to mount the file system, specify its type as ntfs3 . For example, using mount(8) ‘s -t / —types option:
# mount -t ntfs3 /dev/sdxY /mnt
Troubleshooting
unknown filesystem type ‘ntfs’
When mounting NTFS, you can encounter an error such as:
mount: /mnt: unknown filesystem type 'ntfs'
If you want to use ntfs3 as the default driver for ntfs partitions, such udev rule does the trick:
/etc/udev/rules.d/ntfs3_by_default.rules
SUBSYSTEM=="block", ENV=="ntfs", ENV="ntfs3"
Although, this method is not recommended and can confuse some 3rd party tools.
udisks support
This article or section is out of date.
Reason: The described problems have been fixed. Since kernel version 6.2, ntfs3 supports windows_names option. (Discuss in Talk:NTFS)
udisks supports NTFS3, but has some issues at the moment. See udisks ntfs3 PR and issue 932.
Issues can manifest as the following errors, when the NTFS3 driver is used because NTFS-3G is not installed, but with mount options that it does not recognize:
ntfs3: Unknown parameter 'windows_names'
Filesystem type ntfs3,ntfs not configured in kernel
The second error in particular can be encountered with Dolphin. Nautilus can also report the same error message in the case of a dirty NTFS partition (see #Unable to mount with ntfs3 with partition marked dirty).
As a workaround, add a such option to /etc/udisks2/mount_options.conf in [defaults] section:
ntfs_defaults=uid=$UID,gid=$GID,prealloc
Unable to mount with ntfs3 with partition marked dirty
When trying to mount a good NTFS partition (i.e. which successfully mounts with NTFS-3G and for which ntfsfix —no-action does not report any error), you may get the following error:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error. dmesg(1) may have more information after failed mount system call.
ntfs3 will not mount a partition where the volume is marked dirty without the force option. dmesg explicitly helps recognizing the situation, saying:
sdb1: volume is dirty and "force" flag is not set!
You can try passing the —clear-dirty argument to ntfsfix to clean it. [1]