Как примонтировать диск в Linux: разбор по шагам

Как примонтировать диск в Linux и не сломать загрузку

Марина
Марина
📅 30 сентября 2026
Как примонтировать диск в Linux и не сломать загрузку

Чтобы подключить дополнительный диск в Linux, нужно пройти четыре шага: увидеть устройство командой lsblk, разметить его через fdisk, создать файловую систему командой mkfs.ext4 и смонтировать в каталог через mount. Пятый шаг делают реже всего, и именно из-за него диск «пропадает» после перезагрузки: запись в /etc/fstab по UUID. Всё это одинаково работает и на домашней машине, и на арендованной виртуалке — например, на VPS с большим хранилищем, куда диск на 500 ГБ добавляют отдельным заказом.

Материал для тех, кто впервые видит в панели провайдера кнопку «добавить диск» и не понимает, почему после её нажатия свободного места в системе не прибавилось. Разберём каждую команду построчно: что она делает, что выводит и как понять по выводу, что шаг прошёл успешно. Отдельно — таблица разбора ошибок монтирования, полный сценарий из десяти шагов и правила, которые не дадут серверу зависнуть при загрузке из-за одной опечатки.

Что значит «примонтировать диск» и почему новое устройство не видно сразу

В Windows каждый диск получает свою букву: C, D, E. В Linux букв нет — есть одно дерево каталогов, которое растёт от корня /. Любое хранилище должно быть встроено в это дерево, то есть привязано к какому-то каталогу. Такая привязка и называется монтированием, а каталог — точкой монтирования.

Когда провайдер добавляет виртуальной машине второй диск, ядро сразу создаёт для него файл устройства — /dev/sdb, /dev/vdb или /dev/nvme1n1, в зависимости от типа виртуализации. Диск физически присутствует, но команда df -h его не показывает: система не знает, куда его подключить и какая на нём файловая система.

Точка монтирования — обычный каталог, чаще всего пустой. Если смонтировать диск в каталог, где уже лежали файлы, они никуда не денутся, но станут недоступны: поверх них ляжет содержимое нового устройства. Поэтому под данные создают отдельный каталог вроде /mnt/data или /srv/backup, а не монтируют диск в /home с уже заведёнными пользователями.

Монтирование бывает разовым — командой mount, до ближайшей перезагрузки — и постоянным, через строку в файле /etc/fstab, которую система читает при каждом старте. Нужны оба: первым проверяют работу, вторым закрепляют результат.

Шаг первый: находим новый диск командой lsblk

Команда lsblk (list block devices) рисует список блочных устройств деревом. Она не требует прав root и ничего не меняет, поэтому с неё безопасно начинать на любом сервере.

lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk
└─sda1   8:1    0   20G  0 part /
sdb      8:16   0  100G  0 disk

Читаем вывод построчно. sda размером 20 ГБ — системный диск, у него есть дочерний раздел sda1, и этот раздел смонтирован в корень /. Ниже sdb на 100 ГБ: у него нет ни разделов, ни точки монтирования — это и есть новый пустой диск, с которым предстоит работать.

Расширенный вариант lsblk -f добавляет столбцы FSTYPE, LABEL и UUID. Если напротив устройства пусто во всех трёх, файловой системы на нём нет. Если там написано ext4 и указан UUID, диск уже размечен — возможно, на нём лежат чужие данные, и форматировать его нельзя.

Главная ошибка на этом шаге — перепутать новый диск с системным. Ориентир простой: системный уже смонтирован в /, а его размер совпадает с тарифом — обычно 10, 20 или 40 ГБ. Если неразмеченных устройств одинакового объёма два, сверьтесь с панелью провайдера по серийному номеру: lsblk -o NAME,SIZE,SERIAL.

Разметка диска: fdisk для типичных случаев, parted — для томов больше 2 ТБ

Таблица разделов — это оглавление диска: где начинается и заканчивается каждый кусок пространства. Формально её можно не создавать и отформатировать устройство целиком, но раздел удобнее: с ним понятнее, что диск подготовлен осознанно, и проще менять схему в будущем.

Утилита fdisk работает в диалоговом режиме: вы вводите однобуквенные команды, она задаёт вопросы. Ничего не записывается на диск, пока вы не нажмёте w — до этого момента можно выйти клавишей q без последствий.

fdisk /dev/sdb

g   # создать новую таблицу разделов GPT (старое содержимое таблицы стирается)
n   # новый раздел
    # три раза Enter: номер 1, начало по умолчанию, конец — весь диск
w   # записать изменения и выйти

partprobe /dev/sdb   # заставить ядро перечитать таблицу разделов без перезагрузки

Форматов таблицы два. MBR — старый, держит максимум 4 основных раздела и не адресует тома больше 2 ТБ. GPT — современный, допускает до 128 разделов и объёмы, которых не будет ни у одной виртуалки. Для дисков от 2 ТБ и выше MBR просто не сработает: там берут GPT, а если fdisk ведёт себя странно — утилиту parted с командой mklabel gpt, которая создаёт таблицу разделов нужного формата.

После w повторный lsblk должен показать под sdb дочернюю строку sdb1 типа part. Если её нет, помогает partprobe — она сообщает ядру об изменениях, не трогая данные.

Файловая система: чем ext4 отличается от XFS и что выбрать новичку

Раздел — это пока просто размеченное пространство, писать в него нельзя. Нужна файловая система: структура, которая хранит имена файлов, их размеры, права и расположение блоков. Создают её командой семейства mkfs.

mkfs.ext4 -L data /dev/sdb1

Здесь mkfs.ext4 создаёт файловую систему ext4 на разделе sdb1, а флаг -L data присваивает ей метку — короткое имя, по которому диск потом легко узнать в выводе lsblk -f. Команда выполняется за 1–5 секунд на дисках до 100 ГБ и уничтожает всё, что было на разделе. Если есть хоть малейшее сомнение в содержимом устройства, сначала снимите копию — как это делается регулярно, разобрано в гайде про настройку бэкапов VPS.

Файловая система Команда создания Уменьшение тома Где стоит по умолчанию Особенность
ext4 mkfs.ext4 /dev/sdb1 Да, через resize2fs Ubuntu, Debian Резервирует 5% места под root
XFS mkfs.xfs /dev/sdb1 Нет, только увеличение AlmaLinux, Rocky Linux Быстрее на файлах от 1 ГБ
Btrfs mkfs.btrfs /dev/sdb1 Да Опционально Снимки состояния средствами ФС

Для диска под файлы, бэкапы и базы новичку подходит ext4: она есть в любом дистрибутиве, умеет и расти, и сжиматься, и по ней найдётся ответ на любой вопрос. XFS берут, когда сервер уже на RHEL-совместимой системе и там это формат по умолчанию.

Подключение диска в Linux: разметка, файловая система и монтирование
Диск на 100 ГБ показывает 93 ГБ доступных: часть уходит на служебные структуры и пятипроцентный резерв ext4 для процессов root.

Ручное монтирование: mkdir, mount и проверка через df -h

Каталог для будущего диска создают заранее. Флаг -p у mkdir означает «создать все недостающие уровни пути и не ругаться, если каталог уже есть».

mkdir -p /mnt/data
mount /dev/sdb1 /mnt/data
df -h /mnt/data

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1        98G   24K   93G   1% /mnt/data

Команда df -h показывает свободное место в человекочитаемом виде (флаг -h — human-readable). Появившаяся строка с /dev/sdb1 и точкой /mnt/data означает успех. Обратите внимание на цифры: диск на 100 ГБ показывает 98 ГБ общего объёма и 93 ГБ доступного — разница уходит на служебные структуры и тот самый пятипроцентный резерв ext4.

Отключают диск командой umount /mnt/data. Если система отвечает target is busy, значит, какой-то процесс держит открытым файл на этом диске или чей-то текущий каталог находится внутри. Найти виновника помогает lsof +D /mnt/data — она выводит список процессов, работающих с каталогом.

Такое монтирование живёт до перезагрузки: сервер перезапустится — и /mnt/data снова станет пустым каталогом на системном диске. Приложение при этом продолжит писать по тому же пути, данные лягут на корневой раздел и незаметно съедят его за несколько дней.

Постоянное монтирование: строка в /etc/fstab по UUID

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

Сначала узнаём UUID — уникальный идентификатор файловой системы длиной 36 символов, который присваивается при форматировании и не меняется никогда.

blkid /dev/sdb1

/dev/sdb1: LABEL="data" UUID="6f1a2c3d-4b5e-4a71-9c83-2d0e7f41ab55" TYPE="ext4"

Теперь добавляем строку в конец /etc/fstab любым редактором, например nano /etc/fstab:

UUID=6f1a2c3d-4b5e-4a71-9c83-2d0e7f41ab55  /mnt/data  ext4  defaults,nofail  0  2

Поля по порядку: устройство (UUID), точка монтирования, тип файловой системы, опции, флаг резервного копирования утилитой dump (ставим 0, она давно не используется) и порядок проверки диска при загрузке. В последнем поле у корневого раздела стоит 1, у дополнительных дисков — 2, а 0 означает «не проверять вовсе».

Почему UUID, а не привычное /dev/sdb1? Имена sda, sdb, sdc выдаются в порядке обнаружения устройств при загрузке. Добавили третий диск или провайдер мигрировал виртуалку на другой гипервизор — и вчерашний sdb стал sdc, а строка в fstab указывает на чужое устройство. UUID привязан к самой файловой системе и переезжает вместе с ней.

Опция nofail: страховка от того, что сервер не загрузится

Ошибка в fstab — самая дорогая в этой теме. По умолчанию система считает каждую строку обязательной: если устройство недоступно, загрузка останавливается и машина уходит в аварийный режим с приглашением ввести пароль root. На домашнем компьютере это неприятно, на удалённом сервере — это потеря доступа: SSH не поднимется, останется только консоль в панели провайдера.

Опция nofail меняет поведение: если диска нет, система пропускает строку и продолжает грузиться. Для всех дополнительных дисков она обязательна. Вторая полезная опция — x-systemd.device-timeout=10: она сокращает ожидание устройства с 90 секунд по умолчанию до 10, чтобы загрузка не подвисала на полторы минуты.

UUID=6f1a2c3d-4b5e-4a71-9c83-2d0e7f41ab55  /mnt/data  ext4  defaults,nofail,x-systemd.device-timeout=10  0  2

Проверять запись нужно до перезагрузки, а не после. Команда mount -a монтирует всё, что описано в fstab и ещё не смонтировано. Если она отработала молча — синтаксис верен. Любая ошибка на экране означает, что перезагружаться пока нельзя.

umount /mnt/data     # отключаем ручное монтирование
mount -a             # монтируем по записям fstab
findmnt --verify     # дополнительная проверка синтаксиса файла
df -h /mnt/data      # убеждаемся, что диск на месте

Связка из четырёх команд занимает 10 секунд и заменяет рискованную перезагрузку боевого сервера.

Полный сценарий: десять шагов от пустого диска до рабочего хранилища

Ниже собран весь путь целиком, с конкретными путями и параметрами. Схема рассчитана на один новый диск, который целиком отдаётся под каталог /mnt/data. Все команды выполняются от root или через sudo.

  1. Посмотреть список устройств: lsblk -f. Найти диск без разделов и без UUID — например, /dev/sdb на 100 ГБ.
  2. Создать таблицу разделов и раздел: fdisk /dev/sdb, далее g, n, три Enter, w.
  3. Сообщить ядру об изменениях: partprobe /dev/sdb, затем убедиться, что lsblk показывает sdb1.
  4. Создать файловую систему: mkfs.ext4 -L data /dev/sdb1.
  5. Создать точку монтирования: mkdir -p /mnt/data.
  6. Смонтировать вручную и проверить: mount /dev/sdb1 /mnt/data, затем df -h /mnt/data.
  7. Узнать идентификатор: blkid /dev/sdb1 и скопировать значение UUID без кавычек.

Оставшиеся три шага касаются закрепления результата. Восьмой — добавить в /etc/fstab строку с UUID, точкой монтирования, типом ext4 и опциями defaults,nofail. Девятый — выполнить umount /mnt/data и mount -a, чтобы проверить запись без перезагрузки. Десятый — назначить владельца каталога, если с диском будет работать не root: команда chown -R www-data:www-data /mnt/data передаёт каталог и всё его содержимое пользователю веб-сервера.

После этого перезагрузите машину командой reboot и убедитесь, что df -h по-прежнему показывает нужную строку. Порядок остальных базовых шагов — доступ, обновления, файрвол — разобран в инструкции по настройке VPS с нуля.

Сколько места реально доступно: df -h, du -sh и резерв в 5%

Две команды закрывают почти все вопросы про место. df -h отвечает, сколько свободно на смонтированных файловых системах. du -sh отвечает, сколько занимает конкретный каталог: флаг -s даёт суммарное число вместо списка всех вложений, -h переводит байты в удобные единицы — килобайты, мегабайты и гигабайты.

df -h                # свободное место по всем разделам
du -sh /mnt/data     # сколько занял каталог целиком
du -sh /mnt/data/*   # разбивка по вложенным каталогам
df -i                # свободные inode, а не гигабайты

Цифры df и du почти никогда не сходятся точь-в-точь, и это нормально. Первая причина — резерв ext4: 5% объёма отдаются процессам root, чтобы при переполнении диска система осталась управляемой. На томе в 500 ГБ это 25 ГБ, которые обычному пользователю не видны. Для диска под данные резерв уменьшают: tune2fs -m 1 /dev/sdb1 оставит 1% вместо пяти.

Вторая причина — удалённые файлы, которые держит работающий процесс: место освободится после его перезапуска. Третья — inode: так называются служебные записи, по одной на каждый файл или каталог. Их количество задаётся при форматировании, и на разделе с миллионами мелких файлов они кончаются раньше гигабайтов: система пишет No space left on device при свободных 40 ГБ, а df -i показывает 100% в столбце IUse%.

Ошибки монтирования диска и что делать с каждым сообщением mount
Опечатку в fstab ловит команда mount -a за десять секунд, иначе она обнаружится уже в аварийном режиме, куда сервер уйдёт без nofail.

Разбор ошибок монтирования по слоям

Диагностику ведут сверху вниз: сначала проверяют, что устройство существует, затем — что на нём есть файловая система, и только потом разбираются с точкой монтирования и опциями. Каждое сообщение mount указывает на конкретный слой.

Сообщение Что произошло Что сделать
special device /dev/sdb1 does not exist Раздел не создан или опечатка в имени lsblk, при отсутствии sdb1 — вернуться к fdisk
mount point does not exist Нет каталога для монтирования mkdir -p /mnt/data
wrong fs type, bad option, bad superblock Файловая система не создана или тип в fstab указан неверно blkid /dev/sdb1 и сверить TYPE со строкой fstab
target is busy при umount Процесс держит файл внутри каталога lsof +D /mnt/data, закрыть или остановить процесс
No space left on device при свободном месте Закончились inode df -i, удалить мелкие файлы или пересоздать ФС
Сервер в аварийном режиме после перезагрузки Ошибка в fstab, у строки нет nofail В консоли провайдера: mount -o remount,rw /, исправить строку, добавить nofail

Если машина всё равно не грузится, посмотрите журнал: journalctl -xb покажет, на каком юните (так называют отдельную службу systemd) остановилась загрузка. Строку в fstab можно временно закомментировать символом # — сервер поднимется без дополнительного диска, а разбираться получится уже по SSH.

На каком сервере имеет смысл держать отдельный диск под данные

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

Тип носителя выбирают по задаче. NVMe и SSD дают отклик в доли миллисекунды и нужны базам данных — разница между ними разобрана в материале про NVMe и SSD для сервера. Под архив, куда пишут раз в сутки, дешевле взять VPS с HDD: гигабайт там обходится в разы дешевле, чем на SSD-конфигурациях.

Провайдер Цена от Диск базового тарифа Локации Тарифов
Cloudcore 59 ₽/мес 10 ГБ NVMe Москва, Нидерланды 12
Hosting-Russia 99 ₽/мес По конфигурации Россия Под заказ
4VPS 110 ₽/мес 5 ГБ NVMe 35 стран 568
HostVDS 127 ₽/мес 10 ГБ NVMe Россия, Германия, Нидерланды 12

Данные проверены 04.09.2026.

Обратите внимание на объём базового диска: 5–10 ГБ хватает на систему и пару служб, но не на данные. Дополнительный том либо докупают отдельно, либо сразу берут тариф старше. В каталоге собраны 44 площадки, и фильтр по размеру диска помогает не переплачивать за лишние ядра.

Частые ошибки при монтировании

Почти все проблемы с дисками сводятся к пяти-шести повторяющимся сюжетам. Они одинаково выглядят и у новичка, и у администратора, который делает это раз в год и забывает детали.

Ниже — то, что чаще всего приводит к потере данных или к недоступному серверу. Каждый пункт проверяйте перед перезагрузкой машины.

  • Форматирование не того устройства: mkfs.ext4 /dev/sda1 вместо sdb1 уничтожает систему за секунды.
  • Запись в fstab по имени /dev/sdb1 вместо UUID — после смены порядка дисков сервер монтирует не то устройство.
  • Отсутствие опции nofail у дополнительного диска — при недоступности тома загрузка останавливается.
  • Перезагрузка без предварительной проверки mount -a: опечатка обнаруживается уже в аварийном режиме.
  • Монтирование в непустой каталог — старые файлы становятся невидимы, и их принимают за пропавшие.
  • Приложение оставили писать в путь, который смонтирован только вручную: после ребута данные уходят на корневой раздел.

Частые вопросы

Обязательно ли создавать раздел, или можно форматировать весь диск? Можно и без раздела: mkfs.ext4 /dev/sdb отработает на всём устройстве, и такой диск монтируется как обычно. Раздел удобнее тем, что оставляет пространство для манёвра и понятнее выглядит в выводе lsblk, поэтому в инструкциях по умолчанию делают его.

Как расширить диск, если провайдер увеличил его объём? Порядок такой: расширить раздел утилитой growpart /dev/sdb 1, затем растянуть файловую систему — resize2fs /dev/sdb1 для ext4 или xfs_growfs /mnt/data для XFS. Обе команды работают на смонтированном диске, размонтировать его не нужно.

Что делать, если после перезагрузки сервер не поднялся из-за fstab? Зайдите в консоль через панель провайдера, выполните mount -o remount,rw /, чтобы корень стал доступен для записи, откройте /etc/fstab, закомментируйте проблемную строку символом # и перезагрузитесь. Дальше разбирайтесь по SSH: почти всегда причина — неверный UUID или отсутствие nofail.

Нужен ли LVM для одного дополнительного диска? Для одного тома под данные — нет, обычного раздела достаточно. LVM имеет смысл, когда дисков несколько и вы хотите объединять их в общий пул, менять размеры логических томов на лету или делать снимки состояния. За гибкость платят усложнением схемы восстановления.

Почему df показывает меньше, чем указано в тарифе? Складываются три вещи: разница между гигабайтом производителя (1000 в кубе байт) и гибибайтом системы (1024 в кубе), служебные структуры файловой системы и резерв ext4 в 5%. На диске 100 ГБ реально доступными оказываются около 93 ГБ, и это ожидаемое поведение, а не обман провайдера.

Как смонтировать диск только для чтения? Добавьте опцию ro: mount -o ro /dev/sdb1 /mnt/data или укажите ro,nofail в fstab. Режим полезен, когда нужно снять данные с подозрительного диска, ничего на нём не изменив, — например, перед проверкой файловой системы командой fsck.

Отличается ли порядок действий для NVMe-дисков? Отличаются только имена устройств: вместо /dev/sdb будет /dev/nvme1n1, а раздел получит имя /dev/nvme1n1p1 с буквой p перед номером. Все команды — fdisk, mkfs.ext4, mount, blkid — работают одинаково.

Итог

Подключение диска в Linux укладывается в шесть команд: lsblk, fdisk, mkfs.ext4, mkdir, mount и запись в /etc/fstab. Критичны в этой цепочке две вещи: указывать UUID вместо имени устройства и добавлять опцию nofail дополнительным дискам. Перед перезагрузкой всегда прогоняйте mount -a — это единственная проверка, которая ловит опечатку до того, как сервер уйдёт в аварийный режим.

Если диск нужен под растущее хранилище, разумнее сразу выбирать тариф с запасом по объёму, а не докупать тома каждые два месяца. Конфигурации и цены от 59 ₽/мес по 44 площадкам собраны в разделе VPS на Linux — там же фильтры по типу накопителя, размеру диска и локации.

Поделиться:
👁 66 просмотров
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.