blkid — UUID, метка и тип файловой системы
Команда blkid печатает UUID, метку и тип файловой системы на устройстве — то, что пишут в /etc/fstab.
Шпаргалка
7 команд Версия для печати-
sudo blkidвсе устройства с ФС -
sudo blkid /dev/vdb1одно устройство -
sudo blkid -s UUID -o value /dev/vdb1только UUID — для скриптов -
sudo blkid -L dataкакое устройство с меткой data -
sudo blkid -U 5d1c0f4e-…какое устройство с этим UUID -
sudo blkid -p /dev/vdbчто на самом диске: таблица -
lsblk -fто же деревом
Обзор
blkid читает начало устройства и сообщает, что на нём записано. Для раздела с
файловой системой это одна строка пар: /dev/vdb1: LABEL="data" UUID="…" TYPE="ext4" ….
С -o export те же пары идут по одной на строку:
| Поле | Чьё | Откуда |
|---|---|---|
UUID |
файловой системы | выдаёт mkfs, меняется при повторном mkfs |
LABEL |
файловой системы | mkfs.ext4 -L, e2label |
TYPE |
файловой системы | ext4, xfs, swap, vfat |
PARTUUID |
раздела в таблице | выдаёт fdisk или parted при создании раздела |
PARTLABEL |
раздела в GPT | имя из mkpart data … |
В /etc/fstab раздел пишут по UUID или
метке: UUID=… или LABEL=data. Имя /dev/vdb1
зависит от порядка подключения дисков и после перезагрузки может достаться другому.
Подробнее о строке fstab — в mount.
Запускай blkid через sudo. Без прав root он не читает устройства и
печатает только то, что запомнил раньше, — иногда ничего.
Ключи
5Полный список — man blkid.
| Ключ | Что делает | Пример |
|---|---|---|
-s --match-tag TAG |
Печатать только это поле — UUID, LABEL, TYPE; можно несколько раз. | sudo blkid -s UUID /dev/vdb1 |
-o --output value|export|list |
Формат вывода; value — одни значения, export — ИМЯ=значение построчно. | sudo blkid -s UUID -o value /dev/vdb1 |
-L --label LABEL |
Напечатать устройство с этой меткой. | sudo blkid -L data |
-U --uuid UUID |
Напечатать устройство с этим UUID. | sudo blkid -U 3f6c1a2e-9b7d-4c55-8e21-6d0b9a4f7c13 |
-p --probe |
Прочитать устройство заново, мимо кэша; на целом диске покажет таблицу PTTYPE. | sudo blkid -p /dev/vdb |
Ничего не найдено. Попробуй запрос короче.
Рецепты
4Сверить строку fstab с устройством
Не совпадает — правят fstab. mkfs здесь не нужен: он сотрёт данные.
Найти устройство по метке или UUID
Что на диске без файловой системы
Неполадки
5blkid ничего не выводит
На устройстве нет ни файловой системы, ни таблицы разделов — новый диск. Код
выхода в этом случае — 2. Или blkid запущен без sudo. Что на диске на самом
деле, покажет sudo blkid -p.
В выводе только PARTLABEL и PARTUUID
Раздел есть в таблице, а файловой системы на нём нет: UUID, LABEL и TYPE
появятся после mkfs.
UUID в fstab не находится
После повторного mkfs у ФС новый UUID. Возьми его из sudo blkid и поправь
строку fstab. findmnt --verify проверит таблицу до перезагрузки.
У двух разделов одинаковый UUID
Раздел скопировали целиком (dd, клон диска). Смени UUID копии:
sudo tune2fs -U random /dev/vdc1 для ext4 — см. Файловые системы.
В fstab записан PARTUUID вместо UUID
Обе строки рабочие, но это разные значения: PARTUUID= ищет раздел в таблице,
UUID= — файловую систему. Ключ в fstab должен совпадать с полем blkid.
Термины
2- UUID файловой системы filesystem UUID
- Идентификатор файловой системы, позволяющий ссылаться на неё независимо от текущего имени устройства. Ещё встречается в: mkfs
- метка файловой системы filesystem label
- Короткое имя файловой системы, заданное при создании (mkfs.ext4 -L) или позже (e2label). По нему находят раздел: LABEL=data в fstab, blkid -L data. Ещё встречается в: mkfs
См. также
- mount — записать раздел в fstab и смонтировать.
- mkfs — создать ФС; от неё UUID и метка.
- lsblk —
lsblk -fпоказывает те же поля деревом. - fdisk-parted — разделы, их PARTUUID и PARTLABEL.
- filesystems — сменить метку и UUID через tune2fs.
- loop-device — учебный диск из файла.
Есть неточность? Сообщить об ошибке в статье