Окружение

Вопрос

Как автоматически монтировать HDD-, SSD- и USB-носители?

Ответ

В этой статье рассматривается настройка автоматического монтирования носителей путем внесения изменений в конфигурационный файл /etc/fstab.

Как правило, файл /etc/fstab используется для настройки параметров автоматического монтирования разделов устройств, постоянно присутствующих в системе, например, NVME-, HDD- и SSD-носителей. Описывать в нем параметры монтирования отчуждаемых устройств (USB-носители, карты памяти и т. д.) не рекомендуется: если носитель не будет подключен к компьютеру, а в опциях монтирования не указан параметр nofail, загрузка ОС будет прервана с сообщение об ошибке:

You are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, "systemctl default" or "exit"
to boot into default mode.

Cannon open access to console, the root account is locked.
See sulogin(8) man page for more details.

Press Enter to continue.
CODE

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


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

  1. До подключения к компьютеру нового накопителя получить список имеющихся разделов:

    lsblk
    CODE

    Например:

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda           8:0    0 232,9G  0 disk
    ├─sda1        8:1    0    94M  0 part /boot/efi
    ├─sda2        8:2    0    70G  0 part /
    └─sda3        8:4    0   3,7G  0 part [SWAP]
    CODE

    где:

    • sda — имя устройства;
    • sda1, sda2, sda3 — имена разделов на устройстве.
  2. Подключить носитель.
  3. Если на носителе еще нет таблицы разделов, разделов или файловой системы, создать их, используя, например, утилиту GParted из состава ОС. Далее для упрощения изложения считается, что неотчуждаемый носитель содержит только один раздел с файловой системой Ext4.
  4. Получить список идентификаторов разделов

    sudo blkid
    CODE

    Например:

    /dev/sda1: UUID="4ae60b6a-5093-42d4-92fd-babe9dd82d7f" TYPE="vfat" PARTUUID="e7710043-01"
    /dev/sda2: UUID="3f43345d-4d96-4800-8edd-d641a7b6e982" TYPE="ext4" PARTUUID="e7710043-02"
    /dev/sda3: UUID="7d329803-23da-23ef-0921-f4871059d18b" TYPE="swap" PARTUUID="e7710043-03"
    /dev/sdb1: UUID="f6247746-5ce3-4544-80f7-e7472869969d" TYPE="ext4" PARTUUID="d57a956d-01"
    CODE

    Здесь:

    • /dev/sdb1 — имя первого раздела на подключенном носителе;
    • f6247746-5ce3-4544-80f7-e7472869969d — UUID нового раздела;
    • ext4 — тип файловой системы нового раздела.
  5. Создать каталог для монтирования нового раздела, например:

    sudo mkdir -p /mnt/mount_point
    CODE
  6. Добавить в конец файла /etc/fstab запись для монтирования нового раздела:

    UUID=<uuid>   <mount_point>   <file_system>   <options>   <dump>   <fsck>
    CODE

    где

    ПараметрОписание
    <uuid>UUID раздела
    <mount_point>Каталог, в который должен быть смонтирован раздел. Должен существовать и быть пустым
    <file_system>Файловая система монтируемого раздела
    <options>

    Опции файловых систем, одной строкой через запятую без пробелов

    Пожалуйста, разместите таблицу или макрос, генерирующий таблицы, в макросе "Фильтр таблиц".

    ОпцияПрименимостьОписание
    syncОбщаяВсе операции ввода-вывода файловой системы должны выполняться синхронно
    asyncОбщаяВсе операции ввода-вывода файловой системы должны выполняться асинхронно
    atimeОбщаяОбновлять время последнего обращения к файлу. Используется по умолчанию
    noatimeОбщаяНе обновлять время последнего обращения к файлу
    relatimeОбщаяОбновлять время последнего обращения к файлу только при изменении файла или изменении времени доступа
    norelatimeОбщаяНе включать функцию relatime
    strictatimeОбщаяОбновление времени доступа к структуре данных при изменении файлов. Отключает noatime и relatime
    nostrictatimeОбщаяОбновлять время доступа к структуре данных, в соответствии с настройками ядра по умолчанию
    autoОбщаяАвтоматическое монтирование раздела при загрузке ОС
    noautoОбщаяОтключить автоматическое монтирование раздела при загрузке ОС
    defaultsОбщая

    Использовать настройки по умолчанию. Эквивалентно следующему набору опций:

    rw,suid,dev,exec,auto,nouser,async
    CODE
    devОбщаяИнтерпретировать блок специальных устройств на файловой системе
    nodevОбщаяНе интерпретировать блок специальных устройств на файловой системе
    diratimeОбщаяОбновлять время доступа к каталогу структуры данных. Используется по умолчанию
    nodiratimeОбщаяНе обновлять время доступа к каталогу структуры данных
    dirsyncОбщая

    Изменения каталогов в файловой системе выполняются синхронно. Относится к следующим системным командам:

    • creat 
    • link 
    • unlink 
    • symlink 
    • mkdir 
    • rmdir 
    • mknod
    • rename
    execОбщая

    Разрешить запуск бинарных файлов, хранящиеся на разделе

    noexecОбщая

    Запретить запуск бинарных файлов, хранящихся на разделе. Эта опция может быть полезна для раздела, который не содержит бинарных исполняемых файлов, например, /var/, либо содержит исполняемые файлы, которые не могут быть выполнены в системе, например, программы для ОС Windows

    groupОбщая

    Разрешить непривилегированным пользователям монтировать файловую систему раздела, если одна из групп пользователей совпадает с группой устройства. Требует указаний опций nosuid и nodev (за исключением случаев, когда пересекается с опциями suid и dev)

    encryptionОбщая

    Определяет используемый алгоритм защитного преобразования данных. Требует указания опции loop и keybits

    keybitsОбщая

    Длина в битах ключа для используемого алгоритма защитного преобразования данных. Требует указания опций loop и encryption

    nofailОбщая

    Не считать ошибкой отсутствие раздела в системе

    iversionОбщая

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

    noiversionОбщая

    Не менять номер версии структуры данных при изменении структуры данных

    mandОбщая

    Разрешить принудительную блокировку файловой системы

    nomandОбщая

    Не разрешать принудительную блокировку файловой системы

    _netdevОбщая

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

    suidОбщая

    Разрешить использование битовых идентификаторов пользователей или групп

    nosuidОбщая

    Не разрешать использование битовых идентификаторов пользователей или групп

    ownerОбщая

    Разрешить непривилегированным пользователям монтировать файловую систему раздела, если пользователь является владельцем устройства. Требует указания опций nosuid и nodev (за исключением случаев, когда пересекается с опциями suid и dev)

    roОбщая

    Монтировать раздел в режиме "только чтение"

    rw Общая

    Монтировать раздел в режиме чтения и записи

    userОбщая

    Разрешить непривилегированным пользователям монтировать файловую систему раздела

    nouserОбщая

    Запретить непривилегированным пользователям монтировать файловую систему раздела. Используется по умолчанию

    usersОбщая

    Разрешить монтирование файловой системы раздела любому пользователю. Требует указания опций nosuid, noexec и nodev (за исключением случаев, когда пересекается с опциями exec, onwer, suid и dev)

    nlsNTFS

    Кодировка. Рекомендуется использовать со значением utf-8 для включения кодировки UTF-8. Используется вместо устаревшей опции iocharset

    codepage=866NTFS

    Включить поддержку кириллицы в названиях каталогов на разделах для MS-DOS/FAT32

    utf8FAT32

    Включить поддержку кодировки UTF-8

    codepage=866FAT32

    Включить поддержку кириллицы в названиях каталогов на разделах MS-DOS/FAT32

    Для монтирования раздела с параметрами по умолчанию следует использовать опцию defaults.

    Для отчуждаемых носителей рекомендуется использовать опцию nofail

    Подробнее об опциях монтирования см. во встроенной справке:

    man mount
    CODE
    <dump>

    Создание резервных копий раздела:

    • 0 — выключено (рекомендуется);
    • 1 — включено.
    <fsck>

    Проверка файловой системы при загрузке ОС:

    • 0 — выключена.
    • 1 — проверять первым.

      Это значение следует использовать только для корневого раздела (/).

    • 2 — проверять после того, как будет проверен корневой раздел.

    Например, для монтирования обнаруженного ранее раздела /dev/sdb1 с файловой системой Ext4 в каталог /var/mount_point запись будет иметь вид:

    UUID=f6247746-5ce3-4544-80f7-e7472869969d /var/mount_point   ext4   defaults   0   2
    CODE
  7. Выполнить команду монтирования всех доступных разделов:

    sudo mount -a
    CODE
  8. Убедиться, что нужный раздел смонтирован в указанный каталог:

    sudo df -h | grep /dev/sdb1
    CODE

    Например:

    /dev/sdb1          900G          24K    900G           0% /var/mount_point
    CODE

Примеры монтирования разделов

Каждый раздел должен монтироваться в отдельный каталог.

  • NTFS:

    UUID=2eff7db1-1bec-4a2d-a4d1-af4113b5a590 /var/windows_storage ntfs defaults,noatime         0 2
    CODE
  • Ext4 с параметрами по умолчанию:

    UUID=2eff7db1-1bec-4a2d-a4d1-af4113b5a590 /var/mount_point     ext4 defaults                 0 2
    CODE
  • Ext4 с опцией nofail и режимом "только чтение" в случае ошибок:

    UUID=2eff7db1-1bec-4a2d-a4d1-af4113b5a590 /var/flash_storage   ext4 nofail,errors=remount-ro 0 2
    CODE