Подобно Windows, Linux автоматически распознает подключенные к компьютеру жесткие диски, однако, если вы зайдете в раздел «На этом компьютере», то обнаружите, что подключенные носители не смонтированы. На это указывает отсутствие значка монтирования напротив диска, исключение составляют лишь те случаи, когда накопитель подключается в работающей системе. Если накопитель был подключен до загрузки Linux, чтобы произвести монтирование, вам нужно будет в него зайти.
Естественно, на диске должна быть файловая система, иначе увидеть его можно будет либо из интерфейса утилиты «Диски», либо из терминала, выполнив в нём команду sudo fdisk -l. Монтирование дисков в Linux выполняется автоматически при обращении к нему пользователя, но существует немало сценариев, в которых автомонтирование является обязательным условием. Иначе говоря, нужно, чтобы при включении компьютера устройства уже были смонтированы в системе. В Linux Ubuntu это можно сделать, отредактировав файл fstab, но сначала давайте познакомимся с самим понятием монтирования.
Что такое монтирование в Linux
В отличие от Windows, в которой каждый диск имеет свою букву и свой корень, в Linux имеется только одна корневая файловая система, обозначаемая знаком / или иначе root. В момент загрузки операционной системы к ней в буквальном смысле подключаются все имеющиеся на диске виртуальные разделы со своими файловыми системами и древом каталогов. Такое подключение и называется монтированием. Но откуда система знает, что и куда нужно монтировать? Эту информацию она берет из специальных конфигурационных файлов юнитов либо из конфигурационного файла fstab, расположенного в папке /etc.
Но если содержащая системные файлы файловая система монтируется при загрузке, то прочие файловые системы подключаются в полуавтоматическом режиме, причем точкой монтирования может служить почти что любая папка. В итоге мы получаем как бы дерево, растущее из одной ветки основного древа, причем смонтированное устройство может иметь собственную файловую систему, в том числе NTFS, для которой в Linux поддерживается как чтение, так и запись файлов. В Ubuntu дисковые устройства по умолчанию монтируются в папку /media/username/ID, где username — имя пользователя, а ID — идентификатор, но сейчас нас интересует другое — как сделать, чтобы эти самые дисковые устройства монтировались при включении компьютера.
Не путайте точки монтирования с путями
Внимательные пользователи Windows наверняка заметили, что на прилагаемом скриншоте файловая система NTFS примонтирована в папку /mnt, отсюда может возникнуть предположение, что полный путь к диску с NTFS будет выглядеть как /mnt/dev/sdb. Ничего подобного. В Linux все сущности являются файлами, даже физические устройства, которые хранятся в виде файлов в каталоге /dev. Так, обращаясь к физическому диску с установленной системой, мы обращаемся к файлу диска (блочному устройству) sda в папке /dev; обращаясь ко второму накопителю, работаем уже с файлом sdb. Если же вы видите файл sdb1 или sdb2, то такой файл является уже файлом раздела диска sdb.
Папка же монтирования служит точкой, через которую мы получаем доступ к содержимому устройства. Поэтому в строгом смысле слова в Linux нет понятия дисков и томов, по крайней мере в том смысле, в котором они употребляются в Windows. Вы где-нибудь видели в Windows файл диска С или D? Но что такое файл sda в Linux, может быть это контейнер, содержащий системные файлы? Нет, это просто символьное обозначение диска, некий аналог буквы, как С или D в Windows, только представленное отдельным файлом.
Включаем автомонтирование, редактируем файл fstab
Прежде чем приступать к редактированию указанного файла, нужно определить точку монтирования раздела. Естественно, для этого раздел или диск сначала нужно будет открыть. Для определения точки монтирования, к примеру, разделов sdc, в терминале выполняем команду mount | grep /dev/sdc и записываем пути сразу после «on».
Вместо этого можно открыть том в приложении «Диски» и посмотреть, куда он примонтирован.
После этого отмонтируйте диски тут же в приложении «Диски» или кликом по иконке монтирования в разделе «Другие места». Впрочем, можно обойтись и без размонтирования.
Теперь в терминале открываем командой sudo nano /etc/fstab конфигурационный файл fstab.
В примере мы использовали команду sudo su -, позволяющую работать с правами суперпользователя без подтверждения выполнения операций. В открывшемся окне текстового редактора nano уже имеются данные монтирования загрузочного тома и свопа, а также комментарии. Сейчас они нас особо не интересуют, обратите лучше внимание на взятые в кавычки строки, нумерованный список которых приведен ниже.
В этот файл нам нужно добавить наши блочные устройства — разделы разного типа, которых для примера мы взяли три: дополнительно созданный на диске sdc своп (sdc1), том Ext4 (sdc2) и том NTFS (sdc5).
Каждый том представлен новой строкой, в которой один за другим следуют:
- Блочное устройство <filesystem>.
- Точка монтирования <mount point>.
- Тип файловой системы <type>.
- Параметры монтирования, которых может быть несколько <options>.
- Резервное копирование <dump>.
- Проверка файловой системы на ошибки <pass>.
Начнем с раздела свопа. Вот так выглядит его строка:
/dev/sdc1 none swap sw 0 0
Первая часть строки — это блочное устройство — своп, а так как доступ к свопу не нужен, во второй части прописывается none. Далее указывается тип файловой системы — swap и параметр монтирования (для свопа это sw). Создавать его резервные копии не нужно, в проверке тоже нет необходимости, поэтому в качестве значений dump и pass выставляем 0. Для отделения параметров можно использовать как пробел, так и табуляцию.
Второй раздел отформатирован в Ext4, его строка выглядит так:
/dev/sdc2 /media/kompik/98a36276-c8d2-47ed-9d70-62e45bbdd71d auto noatine 0 2
Вот здесь уже мы указываем точку монтирования, представленную в данном примере этим длинным путем. По идее, следующим пунктом нужно было указать ext4, но мы предпочли auto, поскольку Ubuntu умеет автоматически распознавать тип файловой системы. Что касается параметров options, их много, из которых мы выбрали noatime, тем более, что он лучше всего подходит для SSD-дисков. Резервная копия раздела нам не нужна, поэтому для значения dump выставляем 0, а вот проверить Ext4 на ошибки следует. Для параметра pass выставляем значение 2, означающее, что раздел будет проверен вторым после корневого, для которого всегда указывается значение 1, за исключением файловой системы BTRFS. Для BTRFS всегда выставляется 0.
Наконец, строка раздела с файловой системой NTFS выглядит следующим образом:
/dev/sdc5 /media/kompik/23B7C6C119D80309 auto default 0 0
Здесь почти всё то же самое, кроме опции default (по умолчанию) и 0 для параметра pass. Pass выполняет проверку файловой системы линуксовой утилитой fsck, использование которой в NTFS не имеет смысла. Поэтому проверку тоже отключаем. Итого получаем следующую картину:
Чтобы сохранить отредактированный файл, жмем Ctrl + X, подтверждаем действие вводом Y и нажатием Enter.
Осталось только проверить, работает ли монтирование.
Возьмем к примеру, раздел sdc5. Для этого тут же в терминале выполняем команду mount /dev/sdc5 без указания точки монтирования.
Хотя мы и не указали точку монтирования, команда была выполнена без ошибки, взяв нужные данные из отредактированного файла fstab. Если бы точка монтирования для устройства /dev/sdc5 была не указана, мы бы получили такую ошибку.
А на этом пока всё.
Да, описанный здесь способ автомонтирования не единственный, для этих же целей можно использовать и файлы юнитов, но работа с fstab кажется нам более понятной и удобной.
Добавить комментарий