Автоматическое монтирование дисков в Linux с fstab

Разделы дисков в операционной системе Linux подключены совершенно иным способом, если сравнивать с ОС Windows. Здесь имеется специальная корневая файловая система. Именно к ней присоединяются всевозможные разделы и устройства, которые планирует эксплуатировать пользователь ПК в последующем.

Что такое монтирование в Linux

В отличие от Windows, в которой каждый диск имеет свою букву и свой корень, в Linux имеется только одна корневая файловая система, обозначаемая знаком / или иначе root. В момент загрузки операционной системы к ней в буквальном смысле подключаются все имеющиеся на диске виртуальные разделы со своими файловыми системами и древом каталогов. Такое подключение и называется монтированием. Но откуда система знает, что и куда нужно монтировать? Эту информацию она берет из специальных конфигурационных файлов юнитов либо из конфигурационного файла fstab, расположенного в папке /etc.

Что такое монтирование в Linux

Но если содержащая системные файлы файловая система монтируется при загрузке, то прочие файловые системы подключаются в полуавтоматическом режиме, причем точкой монтирования может служить почти что любая папка. В итоге мы получаем как бы дерево, растущее из одной ветки основного древа, причем смонтированное устройство может иметь собственную файловую систему, в том числе NTFS, для которой в Linux поддерживается как чтение, так и запись файлов. В Ubuntu дисковые устройства по умолчанию монтируются в папку /media/username/ID, где username — имя пользователя, а ID — идентификатор, но сейчас нас интересует другое — как сделать, чтобы эти самые дисковые устройства монтировались при включении компьютера.

Монтирование что это?

Монтирование — это подключение диска, раздела, каталога или файла в корневую систему Linux.

Как уже сказано было выше, в ОС «Линукс» имеется общая корневая система. Именно к ней подключаются все устройства и ресурсы, которыми пользуется владелец ПК. Если углубиться в эту сферу более подробно, Windows выполняет процедуры аналогично, но все процесс скрыты от пользователя.

После монтирования определённый раздел становится частью корневой системы, которая всяческими способами пытается сделать свою работу максимально прозрачной. К примеру, после монтирования оперативной памяти или удаленной системной папки пользователь может изучить ее в файловом менеджере. Допускается работа с такими разделами. Она будет аналогична работе, которая касается локального диска.

Читайте также:  Презентация "Apple. История и изобретения".

Монтирование дисков

Данное руководство монтирования дисков применимы к любому дистрибутиву Linux. Для монтирования дисков необходимо отредактировать файл /etc/fstab. Для этого будем использовать текстовой редактор nano, о котором вы можете прочитать в данной статье. И так, переходим в терминал и открываем файл fstab:

sudo nano /etc/fstab

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

“/dev/nvme0n1 /home ext4 defaults 0 0”

Давайте разберемся что тут написано, первой строчкой идет диск, который мы хотим смонтировать “/dev/sda1”, узнать названия вашего диска можно выполнив команду “fdisk -l”. Далее указываем папку, куда хотим монтировать диск, в данном случае это “/home”. В примере же я буду монтировать в директорию “/Общедоступные”. Далее указываем файловую систему диска, в данном случае это “ext4”, указываем опции, в данном случае они по дефолту “defaults”, список опций будет ниже. И последние строчки “0 0” первый ноль отключает создание резервных копий, а второй отключает проверку диска:

Теперь сохраняем отредактированный файл fstab сочетанием клавиш “ctrl + o” нажимаем “Enter” и выходим из текстового редактора сочетанием клавиш “ctrl + x”. Проверяем правильность указанных настроек в файле fstab, для этого можно смонтировать диск вручную выполнив команду “mount”:

sudo mount /dev/nvme0n1p1 /home/cyber-x/Общедоступные

Где “/dev/nvme0n1p1” ваш жесткий диск, а “/home/cyber-x/Общедоступные” каталог куда вы монтируете диск.

Монтирование файловой системы

Чтобы смонтировать файловую систему в указанном месте (точке монтирования), используйте команду mount в следующей форме:

mount [OPTION…] DEVICE_NAME DIRECTORY

После присоединения файловой системы точка монтирования становится корневым каталогом смонтированной файловой системы.

Например, чтобы смонтировать файловую систему /dev/sdb1 каталог /mnt/media вы должны использовать:

sudo mount /dev/sdb1 /mnt/media

Обычно при монтировании устройства с общей файловой системой, такой как ext4 или xfs команда mount автоматически определяет тип файловой системы. Однако некоторые файловые системы не распознаются и требуют явного указания.

Используйте параметр -t чтобы указать тип файловой системы:

mount -t TYPE DEVICE_NAME DIRECTORY

Чтобы указать дополнительные параметры монтирования , используйте параметр -o :

mount -o OPTIONS DEVICE_NAME DIRECTORY

Несколько вариантов могут быть представлены в виде списка, разделенного запятыми (не вставляйте пробел после запятой).

Вы можете получить список всех вариантов монтирования, набрав в терминале man mount .

Монтирование файловой системы с помощью / etc / fstab

Предоставляя только один параметр (каталог или устройство) команде mount , она будет читать содержимое файла конфигурации /etc/fstab чтобы проверить, указана ли указанная файловая система в списке или нет.

Читайте также:  Apple iOS 14 эмодзи — какие будут новые смайлики iPhone

Если /etc/fstab содержит информацию о данной файловой системе, команда mount использует значение другого параметра и параметры монтирования, указанные в fstab .

Файл /etc/fstab содержит список записей в следующем виде:

/etc/fstab

[File System] [Mount Point] [File System Type] [Options] [Dump] [Pass]

Используйте команду mount в одной из следующих форм, чтобы присоединить файловую систему, указанную в /etc/fstab :

mount [OPTION…] DIRECTORY mount [OPTION…] DEVICE_NAME

Установка USB-накопителя

В большинстве современных дистрибутивов Linux, таких как Ubuntu, USB-накопители автоматически монтируются, когда вы их вставляете, но иногда вам может потребоваться вручную смонтировать диск.

Чтобы вручную подключить USB-устройство, выполните следующие действия:

  1. Создайте точку монтирования:

    sudo mkdir -p /media/usb

  2. Предполагая, что USB-накопитель использует устройство /dev/sdd1 вы можете /dev/sdd1 его к каталогу /media/usb , набрав:

    sudo mount /dev/sdd1 /media/usb

    Чтобы узнать тип устройства и файловой системы, вы можете использовать любую из следующих команд:

    fdisk -l ls -l /dev/disk/by-id/usb* dmesg lsblk

Чтобы смонтировать USB-накопители в формате exFAT, установите бесплатный модуль и инструменты FUSE exFAT .

Монтирование файлов ISO

Вы можете смонтировать файл ISO с помощью устройства loop, которое представляет собой специальное псевдоустройство, которое делает файл доступным как блочное устройство.

  1. Начните с создания точки монтирования, это может быть любое место, которое вы хотите:

    sudo mkdir /media/iso

  2. Подключите ISO-файл к точке монтирования, введя следующую команду:

    sudo mount /path/to/ /media/iso -o loop

    Не забудьте заменить /path/to/ путем к вашему файлу ISO.

Монтирование NFS

Чтобы смонтировать общий ресурс NFS, в вашей системе должен быть установлен клиентский пакет NFS.

  • Установите клиент NFS в Ubuntu и Debian:

    sudo apt install nfs-common

  • Установите клиент NFS на CentOS и Fedora:

    sudo yum install nfs-utils

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

  1. Создайте каталог, который будет точкой монтирования для удаленной файловой системы:

    sudo mkdir /media/nfs

  2. Как правило, вам нужно автоматически монтировать удаленный общий ресурс NFS при загрузке. Для этого откройте файл /etc/fstab текстовом редакторе :

    sudo nano /etc/fstab

    Добавьте в файл следующую строку, заменив :/dir IP-адресом сервера NFS или именем хоста и экспортированным каталогом:

    / etc / fstab

    # <file system> <dir> <type> <options> <dump> <pass> :/dir /media/nfs nfs defaults 0 0

  3. Подключите общий ресурс NFS, выполнив следующую команду:

    sudo mount /media/nfs

Как примонтировать Iso образ в Linux Astra или привод CD/DVD в терминале?

ISO образы  — это  архивные файлы в формате файловой системы ISO 9660, разработанной для компакт /DVD дисков. Содержимое ISO может потребоваться, если у вас к примеру установочная флешка с операционной системой и Вы хотите скопировать установочные файлы для настройки установки ОС по сети.

Как примонтировать Iso образ в Linux Astra или привод CD/DVD в терминале?

Иногда нужно срочно примонтировать привод CD/DVD для копирования содержимого  настоящего компакт диска.  Давайте с этого и начнем. Чтобы определить, под каким именем в системе прописано устройство для чтения компакт дисков введем команду lsblk

Затем создаем точку монтирования:

Как примонтировать Iso образ в Linux Astra или привод CD/DVD в терминале?

sudo mount -t iso9660 /dev/sr0 /mnt/

  • где -t iso9660 тип файловой системы;
  • /dev/sr0 — адрес DVD привода;
  • / mnt  папка куда будет смонтировано содержимое.
Как примонтировать Iso образ в Linux Astra или привод CD/DVD в терминале?

C iso файлами все чуть  проще. Нужно знать папку где лежит iso файл и папку, в которой он  будет смонтирован.

sudo mount /папка где лежит образ/ /mnt -t iso9660 -o loop

Как примонтировать Iso образ в Linux Astra или привод CD/DVD в терминале?

Размонтировать образ можно так:

sudo umount /папка где лежит iso файл/ /mnt

Как примонтировать Iso образ в Linux Astra или привод CD/DVD в терминале?

Восстановление дисков через терминал

Восстановление файловой системы

Если ваша файловая система находится на разделе с адресом /dev/sda1 выполните:

sudo fsck -y /dev/sda1

Данная команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.

Восстановление поврежденного суперблока

Обычно эта команда справляется со всеми повреждениями на ура. Но если вы сделали что-то серьезное и повредили суперблок, то тут fsck может не помочь. Суперблок — это начало файловой системы. Без него ничего работать не будет.

Но не спешите прощаться с вашими данными, все еще можно восстановить. С помощью такой команды смотрим куда были записаны резервные суперблоки:

sudo mkfs -t ext4 -n /dev/sda1

На самом деле эта команда создает новую файловую систему. Вместо ext4 подставьте ту файловую систему, в которую был отформатирован раздел, размер блока тоже должен совпадать иначе ничего не сработает. С опцией -n никаких изменений на диск не вноситься, а только выводится информация, в том числе о суперблоках.

Теперь у нас есть резервные адреса суперблоков и мы можем попытаться восстановить файловую систему с помощью каждого из них, например:

sudo fsck -b 98304 /dev/sda

Данные команды сработают только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.

Битые сектора

Или еще мы можем найти битые сектора и больше в них ничего не писать:

sudo fsck -c /dev/sda1

Данная команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.