Команда blkid в Linux: поиск UUID и настройка fstab

Введение

Надежная конфигурация дисковой подсистемы в Linux невозможна без использования универсальных идентификаторов разделов (UUID). Применение статических имен накопителей чревато сбоями при изменении топологии шины, поэтому системные администраторы полагаются на утилиту blkid. В этом руководстве подробно рассмотрены практические приемы извлечения метаданных блочных накопителей — от типов файловых систем и меток до интеграции полученных идентификаторов в конфигурацию /etc/fstab.

Анализ блочных устройств и базовые возможности blkid

Прежде чем приступать к детальному исследованию атрибутов разделов, целесообразно визуализировать общую схему накопителей с помощью вызова lsblk. Эта команда наглядно демонстрирует иерархию подключенных NVMe- или SATA-дисков, объемы томов и активные точки монтирования.

Просмотр структуры накопителей через lsblk

Для сбора низкоуровневых метаданных применяется специализированный инструмент blkid. Он сканирует блочные устройства и выводит ассоциированные с ними параметры: файловую систему (TYPE), уникальный идентификатор (UUID), метку раздела и другие атрибуты. Запуск с привилегиями суперпользователя (sudo) гарантирует доступ к исчерпывающим данным обо всех существующих накопителях без ограничений прав.

⚙️ [Ключевые параметры запуска]

-s <tag> : ограничивает вывод только выбранным атрибутом (например, UUID, TYPE или PARTUUID).
-o <format> : определяет структуру выдачи (value, list, device, export, full и др.).
-t <token> : фильтрует устройства по заданному условию соответствия NAME=value (например, TYPE=ext4).
-L <label> : находит том с конкретной меткой файловой системы.
-U <uuid> : выполняет поиск устройства по его шестнадцатеричному идентификатору UUID.
-p : запускает прямое низкоуровневое зондирование суперблока в обход кэша (/etc/blkid.tab).
-c <cachefile> : переопределяет файл кэширования либо отключает его использование (/dev/null).

Сканирование всех разделов утилитой blkid

Точечный опрос разделов и форматирование вывода (-s, -o)

Чтобы автоматизировать рутинные операции, сохраним имя накопителя, содержащего корневой раздел (/), в отдельную переменную окружения TARGET_DEV при помощи утилиты findmnt.

Определение корневого блочного устройства

Передавая путь к файлу устройства аргументом в blkid, можно избежать полного сканирования системы и сосредоточиться на конкретном разделе. В терминале сразу отобразятся ключевые характеристики выбранного тома: UUID, BLOCK_SIZE, TYPE и PARTUUID.

Чтение метаданных заданного раздела

В сценариях оболочки bash часто требуется получить чистый идентификатор без сопутствующих тегов и кавычек. Комбинация ключей -s UUID и -o value позволяет извлечь исключительно 36-значную строку UUID, которую удобно сразу передать переменной или скрипту развертывания.

Извлечение чистого значения UUID для скриптов

Если администратору требуется быстро оценить состояние дисковой подсистемы в удобном табличном представлении, пригодится опция -o list. Она генерирует читабельный отчет со списком накопителей, типами файловых систем, статусом монтирования и присвоенными идентификаторами.

Табличное отображение блочных устройств

Создание виртуального накопителя и поиск по метке (LABEL)

Работу с метками файловых систем удобно отработать на изолированном виртуальном образе. Для этого утилитой dd сформируем пустой файл размером 30 МБ.

Инициализация тестового файла образа диска

Чтобы операционная система воспринимала полученный файл как полноценный блочный накопитель, привяжем его к свободному loop-устройству посредством команды losetup, сохранив имя выделенного интерфейса в переменной LOOP_DEV.

Подключение виртуального диска через loop-устройство

Далее инициализируем на созданном носителе файловую систему ext4, назначив ему читаемую метку MY_BACKUP с помощью флага -L утилиты mkfs.ext4.

Форматирование виртуального раздела с меткой MY_BACKUP

Вызов blkid в отношении созданного интерфейса подтверждает успешную запись параметров: в выводе отчетливо видны присвоенная метка LABEL="MY_BACKUP", сгенерированный UUID и формат ext4.

Проверка зарегистрированных свойств нового раздела

Флаг -L позволяет решить обратную задачу: найти имя блочного устройства, зная лишь его текстовую метку MY_BACKUP. Это избавляет от необходимости вручную сопоставлять идентификаторы при работе со съемными или динамическими носителями.

Обратный поиск имени накопителя по метке

По завершении тестирования освобождаем занятые ресурсы: отключаем loop-интерфейс и удаляем временный файл образа.

Очистка временных виртуальных ресурсов

Верификация UUID (-U) и подготовка записей для fstab

Для организации постоянного монтирования извлечем идентификатор корневого раздела с помощью связки findmnt и blkid -s UUID -o value, после чего сохраним результат в переменной ROOT_UUID.

Получение UUID корневого диска для конфигурации

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

Генерация строки монтирования для fstab

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

Проверка соответствия UUID целевому устройству

Освоение утилиты blkid дает системному инженеру надежный инструмент для инспекции файловых систем и безопасного управления точками монтирования. Применение постоянных UUID вместо динамических путей в /dev — базовый стандарт стабильности любой инфраструктуры на базе Linux.