Строка вида UUID=xxxx /mnt/data ext4 nosuid,nodev,nofail,noauto,x-gvfs-show 0 2 в файле /etc/fstab означает, что раздел не будет монтироваться автоматически при загрузке, но появится в боковой панели файлового менеджера (Nautilus, Nemo, Thunar на GTK-окружениях) для ручного монтирования одним кликом. Именно комбинация noauto + x-gvfs-show чаще всего становится причиной вопросов: пользователь видит диск в интерфейсе, но система не подключает его при старте, и это воспринимается как ошибка, хотя на самом деле так задано явно.

В этой статье разберём каждую опцию по отдельности, покажем рабочие примеры строк fstab и объясним, какие сочетания безопасны, а какие способны привести к зависанию загрузки системы.

Что означает каждая опция

Опции монтирования перечисляются в четвёртом поле строки /etc/fstab через запятую, без пробелов. Каждая из них меняет поведение ядра или подсистемы монтирования по конкретному аспекту.

  • 🔒 nosuid — запрещает исполнение файлов с битами setuid и setgid, что снижает риск эскалации привилегий через исполняемые файлы на этом разделе.
  • 🛡️ nodev — запрещает интерпретировать файлы блочных и символьных устройств на смонтированной файловой системе.
  • ⏭️ nofail — загрузка системы продолжается даже если устройство отсутствует или монтирование завершилось ошибкой.
  • 🖱️ noauto — раздел не монтируется автоматически командой mount -a и при загрузке, только вручную.
  • 📂 x-gvfs-show — указывает GVfs (виртуальной файловой системе GNOME/GTK) отображать этот том в файловом менеджере, даже если он не смонтирован.

Первые две опции относятся к безопасности, следующие две — к логике загрузки, а последняя — чисто к пользовательскому интерфейсу. Обратите внимание: x-gvfs-show сама по себе ничего не монтирует и не скрывает, она лишь подсказывает графической оболочке, как показывать запись.

Зачем нужны nosuid и nodev

Опции nosuid и nodev традиционно добавляют к разделам, на которых пользовательские данные не должны давать повышенных прав: съёмные диски, /tmp, /home в hardened-конфигурациях, сетевые хранилища. Логика проста: если злоумышленник или ошибочный скрипт разместит на таком разделе исполняемый файл с битом setuid root, ядро проигнорирует этот бит при запуске.

Для обычного домашнего ПК с одним пользователем эти опции не критичны, но и вреда от них нет на разделах с данными. А вот на системном корневом разделе и на /usr применять nosuid нельзя — там setuid нужен легитимным утилитам вроде sudo и passwd.

⚠️ Внимание: не добавляйте nosuid и nodev к корневому разделу (/) и разделам с системными исполняемыми файлами — это нарушит работу sudo, polkit и других механизмов повышения прав.

nofail и noauto: защита от зависания при загрузке

Классическая проблема: пользователь прописал внешний диск или сетевую папку в fstab без nofail, затем загрузил систему без этого диска — и получил аварийный режим (emergency mode) вместо нормального рабочего стола. Systemd по умолчанию считает записи fstab обязательными зависимостями загрузки.

Опция nofail решает это: если устройство недоступно, загрузка продолжается, а ошибка просто фиксируется в журнале. Для любых несистемных разделов — второй диск, NTFS-раздел Windows, сетевая шара — nofail следует считать обязательной опцией, если только вы не хотите осознанно блокировать загрузку при отсутствии диска.

Опция noauto работает иначе: она полностью отключает автоматическое монтирование. Раздел появится в системе только после явной команды mount /mnt/data или клика в файловом менеджере. Это удобно для резервных дисков, редко используемых разделов и дисков с другой ОС.

📊 Как вы обычно монтируете второй диск в Linux?