ЯдроКодаподготовка к экзаменам
Учебная платформа

Загружаем материалы

Подготавливаем материалы и навигацию по разделу.

Диски Linux: mount, fstab, fsck, swap и файловые системы

Автор: · Обновлено

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

Увидеть устройства и подключённые файловые системы

lsblk -o NAME,TYPE,SIZE,FSTYPE,UUID,MOUNTPOINTS
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS
df -hT

lsblk показывает блочные устройства, findmnt — действующие подключения, df — использование подключённых файловых систем. Пустой MOUNTPOINTS сам по себе не означает свободный диск: он может входить в LVM, RAID или использоваться напрямую. На старых версиях lsblk вместо MOUNTPOINTS доступна колонка MOUNTPOINT. UUID относится к файловой системе и обычно устойчивее меняющегося имени /dev/sdX.

Учебный образ вместо настоящего диска

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

disk_lab=$(mktemp -d)
truncate -s 64M "$disk_lab/ext4.img"
mkfs.ext4 -q -F "$disk_lab/ext4.img"
e2fsck -fn "$disk_lab/ext4.img"

Проверка должна завершиться без неисправностей. Следующий этап выполняйте только в учебной VM с sudo: mkdir "$disk_lab/mnt", затем sudo mount -o loop "$disk_lab/ext4.img" "$disk_lab/mnt". findmnt --target "$disk_lab/mnt" покажет источник loop и тип ext4. Завершите sudo umount "$disk_lab/mnt" до удаления образа. umount пишется без буквы n после u; занятый каталог нельзя отключить, пока процесс держит в нём рабочий каталог или открытые объекты.

Для USB применяется та же последовательность: сравните lsblk до и после подключения, определите файловую систему и смонтируйте конкретный раздел по UUID. Для NTFS потребуется поддерживаемый драйвер, например ntfs3 либо установленный ntfs-3g. Если Windows оставила том в гибернации, сначала корректно завершите Windows; принудительная запись поверх такого состояния опасна.

fstab и постоянное подключение

Пример строки для отдельного существующего ext4-тома:

UUID=заменить-на-проверенный-uuid /srv/data ext4 defaults,nofail 0 2

Поля задают источник, каталог, тип, параметры, использование старым dump и порядок fsck. Для корневой ext4 обычно используют последний параметр 1, для остальных проверяемых ext4 — 2. nofail допускает загрузку без необязательного диска; для обязательного каталога приложения это может скрыть проблему и привести к записи на корневой диск. Пустая точка монтирования должна существовать заранее. Пробелы внутри полей записываются специальным escape, например \040.

После подготовки и резервной копии fstab проверяют findmnt --verify --verbose; на systemd выполняют systemctl daemon-reload, затем пробуют подключить именно нужную точку. daemon-reload перечитывает units, но сам не перемонтирует диск. Массовое mount -a затрагивает другие строки, поэтому для первой проверки лучше узкая команда.

Bind mount показывает существующий каталог в другом месте: запись /srv/source /srv/view none bind 0 0 связывает два пути, не копирует файлы. Для NFS пример имеет вид server:/export /mnt/share nfs defaults,_netdev 0 0; для SMB нужен cifs и отдельно защищённый файл credentials. _netdev отмечает сетевую зависимость, но не гарантирует доступность сервера. Имена, учётные данные и права согласуют с владельцем сетевого ресурса.

Что означает просьба run fsck manually

Строка fsck from util-linux — название оболочки запуска, а не диагноз. Последующие сообщения укажут конкретное устройство, тип и ошибку. В Astra Linux и других системах проверяйте их из recovery/live-окружения, когда проблемный том не смонтирован. Для ext4 применяется e2fsck; проверять и исправлять активно записываемый том нельзя. Сначала сохраняют доступные данные, затем выбирают процедуру по ошибке. -y автоматически принимает исправления и не является универсальным лечением.

У XFS проверка и восстановление выполняются своими средствами, включая xfs_repair на отключённой файловой системе; Btrfs имеет scrub и отдельные диагностические инструменты. ext4 — привычная журналируемая система, XFS подходит для масштабируемых нагрузок и расширяется онлайн, Btrfs предлагает контрольные суммы и snapshots. Эти возможности не заменяют независимую резервную копию.

Создать swap-файл осознанно

Пример для учебной VM на обычной ext4/XFS без особых ограничений CoW. Сначала убедитесь, что /swap-lab отсутствует и места достаточно:

(
  set -eu
  sudo test ! -e /swap-lab
  sudo install -m 600 /dev/null /swap-lab
  sudo dd if=/dev/zero of=/swap-lab bs=1M count=256 status=progress
  sudo mkswap /swap-lab
  sudo swapon /swap-lab
  swapon --show
)

dd заполняет файл, избегая sparse-пропусков; права 600 ограничивают чтение. В Btrfs используйте документированную btrfs filesystem mkswapfile, учитывая её ограничения. Для постоянного swap строка fstab: /swap-lab none swap sw 0 0. Завершая тренировку, сначала выполните swapoff при достаточной RAM, уберите учебную запись fstab и только затем удалите файл. Swap уменьшает риск нехватки памяти, но не заменяет RAM и способен усилить задержки.

Ошибка и диагностика

Если после монтирования «пропали» файлы в каталоге, новый том закрыл прежнее содержимое точки; оно снова видно после umount. При ошибке загрузки после изменения fstab сравните UUID через lsblk и проверьте опечатки из консоли восстановления. Не запускайте mkfs для исправления монтирования: это создание новой файловой системы с потерей прежней структуры.

Практика

Создайте и проверьте образ без sudo, затем нарисуйте его отличие от раздела реального диска. В учебной VM подключите образ, получите findmnt и отключите. Подготовьте строку fstab отдельно, объясните каждое поле и последствия отсутствующего устройства. Для swap составьте последовательность удаления так, чтобы активный файл не исчез до swapoff. Сверьте результат с исходным списком подключений.

Что важно запомнить

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

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

Почему df не показывает новый диск?

df описывает подключённые файловые системы. Новый диск может ещё не иметь раздела, файловой системы или точки монтирования; его исходное состояние покажет lsblk.

Можно ли смонтировать папку через fstab?

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

Почему swap-файл не включается?

Проверьте сообщение swapon, права, сигнатуру и тип файловой системы. Sparse-файлы и некоторые CoW-размещения не поддерживаются; применяйте процедуру именно для своей ФС.

Источники