Каждая строчка в fstab описывает раздел, который нужно примонтировать к определённой точке монтирования. Синтаксис строки fstab выглядит так:
Устройство + Точка_монтирования + Файловая_система + Опция + Резерв + Проверка
- Устройство - раздел диска, который необходимо примонтировать. Его можно указать в формате файла устройства Linux в каталоге /dev/, например: /dev/sda1 или с помощью уникального идентификатора UUID, тогда формат записи будет таким UUID="XXXX-XXXX-XXXX-XXXX", также возможна запись с помощью метки, например: LABEL=home;
- Точка монтирования - указывается куда нужно примонтировать это устройство, например: /home, /boot, /mnt;
- Файловая система - указывает в какой файловой системе нужно монтировать это устройство (ext4, ext3, ext2, btrfs, ntfs-3g, nfsplus, vfat, udf, iso9660);
- Опции - параметры монтирования файловой системы, указаны подробнее ниже;
- Резерв - указывает нужно ли делать резервную копию раздела, может принимать значения только 0 и 1;
- Проверка - указывает в какой очереди нужно проверять устройство на ошибки, 1 - в первую очередь, 2 - вторую, 0 - не проверять.
Опции | Описание |
---|---|
atime | Производить запись времени последнего доступа к файлу. Значение по умолчанию. |
auto (noauto) | При auto устройство будет (не будет) устанавливаться автоматически при загрузке, или по команде mount. auto является вариантом по умолчанию. |
defaults | Использовать настройки по умолчанию. Эквивалентно: rw,suid,dev,exec,auto,nouser,async. |
dev (nodev) | Интерпретировать (не интерпретировать) блок специальных устройств на файловой системе. |
diratime (nodiratime) | Обновлять(не обновлять) время доступа к каталогу структуры данных. По умолчанию установлено diratime |
dirsync | Изменения каталогов в файловой системе выполняются синхронно. Это относится к следующим системным командам: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename. |
exec (noexec) | Позволяет (не позволяет) выполнять двоичные файлы, которые находятся на этом раздел. noexec может быть полезно для раздела, который не содержит бинарные файлы например /var, или содержит бинарные файлы которые вы не хотите выполнять на вашей системе, или которые не могут быть выполнены в вашей системе. Последнее может быть в случае Windows раздела. |
group | Разрешает обычным (т.е. не root) пользователям монтировать файловую систему, если одна из его групп совпадает с группой устройства. Эта опция подразумевает наличие опций nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как group,dev,suid). |
iversion (noiversion) | Номер версии структуры данных увеличивается (не увеличивается) каждый раз, когда структура данных изменяется. |
keybits | Определяет размер ключа для используемого алгоритма шифрования. Используется в сочетании с loop и encryption. |
mand (nomand) | Разрешает (не разрешать) принудительное блокирование файловой системы. |
_netdev | Используется для предотвращения попыток смонтировать файловые системы, подключённые к сети. |
noatime | Не обновлять время доступа к файлу (например, для быстрого доступа к новостным потокам, для ускорения серверов новостей). |
nofail | В случае отсутствия устройства не сообщать об ошибке. |
relatime (norelatime) | Обновлять (не обновлять) время доступа только при изменении файла или изменении времени доступа. (В отличие от noatime, необходимая опция для нормальной работы, например, почтовых клиентов или других приложений, которым необходимо точное время последнего изменения файлов) |
nostrictatime | Обновлять время доступа к структуре данных, в соответствии с настройками ядра по умолчанию. |
owner | Разрешает обычному (т.е. не root) пользователю монтировать файловую систему, если он является владельцем устройства. Эта опция подразумевает параметры nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как owner, suid и dev). |
ro | Монтировать только для чтения. |
rw | Монтирование файловой системы для чтения и записи. |
strictatime | Обновление времени доступа к структуре данных при изменении файлов. Отключает noatime и relatime. |
suid (nosuid) | Разрешает (запрещает) использование битовых идентификаторов пользователей или групп. |
sync (async) | Все операции ввода / вывода файловой системы должны выполняться синхронно (асинхронно). |
user (nouser) | Разрешает (запрещает) монтирование от лица обычного пользователя, по умолчанию это имеет право сделать только root. |
users | Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как users, exec, owner, suid и dev). |
context= fscontext= defcontext= rootcontext= | Эти опции полезны при монтировании файловой систем, которые не поддерживают дополнительные атрибуты, такие как дискеты или жесткие диски отформатирован в VFAT, или файловые системы, которые обычно не работает под SELinux (например ext3 диск отформатированный на не-SELinux рабочей станции). Вы можете также использовать *context= для файловых систем которым вы не доверяете, например на дискетах или флешках. Более подробно о контексте можно узнать прочитав о SELinux. |
Опции NTFS | Описание опций для файловой системы Microsoft NTFS |
---|---|
nls=utf8 | Включение поддержки utf-8. Поддержка «нестандартных» символов (кириллицы) в файловой системе. |
codepage=866 | Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Подробнее. |
Опции FAT 32 | Описание опций для файловой системы Microsoft FAT |
---|---|
utf8 | Включение поддержки utf-8. Поддержка «нестандартных» символов (кириллицы) в файловой системе. |
codepage=866 | Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Подробнее. |
Монтировать разделы встроенного диска стоит по UUID. Это позволит правильно монтировать разделы даже если они поменяют свой порядок, например, при добавлении новых разделов или подключении новых дисков.
Например, добавление раздела перед /dev/sda6 может превратить его в /dev/sda7. А добавление нового диска может превратить /dev/sdb в /dev/sdc, соответственно раздел /dev/sdb1 станет /dev/sdc1.
Но во всех приведенных примерах UUID раздела не изменится.
Чтобы узнать UUID раздела можно из вывода команды
sudo blkid
или
ls -l /dev/disk/by-uuid
Пример файла fstab c примонтированными Windows-дисками sda3 (С:) и sda4 (D:):
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=7211313d-8b5e-4b96-be63-5dbbeb97f590 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda2 during installation
UUID=8ef72438-830b-485f-8de5-b0f6242eff91 none swap sw 0 0
# Windows disc (FAT32) C:\
/dev/sda3 /media/D642D91542D8FAE7 vfat shortname=mixed,codepage=850,umask=002,uid=1000,gid=100,noauto,user 0 0
# Windows disc (NTFS) D:\
/dev/sda4 /media/BA1AF3B41AF36C2F ntfs-3g rw,nosuid,nodev,allow_other,default_permissions,blksize=4096 0 0
#/dev/sdb1
UUID=54AE4096AE407292 /mnt/backup ntfs-3g defaults,windows_names,locale=en_US.utf8 0 0
Для того, чтобы примонтировать диск необходимо открыть файл /etc/fstab и внести изменения.