Создание файла fstab⚓︎
При загрузке системы, исходя из данных в файле /etc/fstab
, монтируются различные разделы и диски, в том числе - корневой раздел.
Fstab
(сокр. от англ. file systems table) — один из конфигурационных файлов, который содержит информацию о различных файловых системах и устройствах хранения информации компьютера, описывает, как диск будет использоваться или как будет интегрирован в систему. Файл /etc/fstab
делает возможным автоматическое монтирование определенных файловых систем, что особенно нужно при загрузке системы. Он содержит ряд строк, описывающих файловые системы, их точки монтирования и другие параметры.
Строки содержат, по порядку:
- устройство монтируемой файловой системы;
- точку монтирования;
- тип файловой системы;
- параметры монтирования;
- флаг для dump, утилиты создания резервных копий;
- порядок проверки для
fsck
(File System ChecK).
Здесь всегда есть запись о корневой файловой системе. Раздел swap является специальным, поэтому его не видно в древовидной структуре, и в поле точки монтирования для таких разделов всегда содержится ключевое слово swap.
cat > /etc/fstab << "EOF"
# file system mount-point type options dump fsck
# order
/dev/sdX / ext4 defaults 1 1
EOF
Замените sdX
на нужное значение.
Если вы используете SysVInit, выполните:
echo "proc /proc proc nosuid,noexec,nodev 0 0
sysfs /sys sysfs nosuid,noexec,nodev 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /run tmpfs defaults 0 0
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0" >> /etc/fstab
Для использования UEFI выполните:
echo "/dev/sdN /boot/efi vfat umask=0077 0 0" >> /etc/fstab
Заменив sdN
на нужное значение.
Для использования swap
выполните:
echo "/dev/sdY swap swap pri=1 0 0" >> /etc/fstab
Заменив sdY
на нужное значение.
При необходимости можете добавить другие разделы в данный файл, руководствуясь примером выше.
Файловым системам MS-DOS или Windows (vfat, ntfs, smbfs, cifs, iso9660, udf) требуется специальный параметр utf8, чтобы символы, не входящие в ASCII, в именах файлов интерпретировались должным образом. Для языковых стандартов, отличных от UTF-8, значение iocharset должно быть установлено таким же, как набор символов языкового стандарта, настроенного таким образом, чтобы ядро его понимало. Это работает, если соответствующее определение набора символов (находится в File systems -> Native Language Support
при настройке ядра) было скомпилировано в ядро или построено как модуль. Однако, если набор символов локали - UTF-8, соответствующий параметр iocharset = utf8 сделает файловую систему чувствительной к регистру. Чтобы исправить это, используйте специальный параметр utf8 вместо iocharset = utf8 для локалей UTF-8. Параметр «codepage» также необходим для файловых систем vfat и smbfs. Он должен быть установлен на номер кодовой страницы, используемый в MS-DOS в вашей стране. Например, чтобы смонтировать USB-накопители, пользователю ru_RU.KOI8-R потребуется следующее в части параметров его строки монтирования в /etc/fstab
:
noauto,user,quiet,showexec,codepage=866,iocharset=koi8r
Соответствующий фрагмент опций для пользователей ru_RU.UTF-8:
noauto,user,quiet,showexec,codepage=866,utf8
Обратите внимание, что использование iocharset
является значением по умолчанию для iso8859-1
(что делает файловую систему нечувствительной к регистру), а опция utf8
указывает ядру преобразовать имена файлов с использованием UTF-8
, чтобы их можно было интерпретировать в локали UTF-8.
Можно сделать файловую систему ext4 надежной при сбоях питания для некоторых типов жёстких дисков. Для этого добавьте параметр монтирования barrier=1
в соответствующую запись в /etc/fstab
. Чтобы проверить, поддерживает ли диск этот параметр, запустите hdparm
на соответствующем диске:
hdparm -I /dev/sda | grep NCQ
Если результат будет пустой - данная опция не поддерживается.
Мы настоятельно советуем использовать вместо метки раздела диска (например, /dev/sda1
, /dev/hdc2
, etc.) его UUID. Если метка диска, прописанного в /etc/fstab
изменится, то могут возникнуть проблемы с загрузкой ОС, либо же она не загрузится вообще.
Узнать UUID для нужного раздела можно, выполнив:
blkid /dev/sdX
Заменив sdX
на нужное значение, например, sda2
.
Для того чтобы использовать вместо метки UUID, запись должна иметь следующий вид:
UUID=93c7b617-7558-4d1b-ab4b-a56880811037 / ext4 defaults 1 1
Т. е. вместо метки /dev/sdX
используется UUID нужного раздела: UUID="нужное_значение"
. Всё остальное без изменений.
Предупреждение
После выполнения данных инструкций внимательно проверьте данный файл на наличие ошибок.