Узнать uuid раздела linux

Как узнать UUID разделов в Linux

В новых дистрибутивах Linux вместо названий дисков из /dev каталога часто указывают UUID — Уникальные Идентификаторы. Выглядят они абсолютно нечитаемо для человека, например: UUID=»5a179614-0415-48c6-a9ad-3f6ad9596619″.

Когда возникает необходимость перенести содержимое с одного носителя на другой, потом встает большая проблема правильно внести изменения в файл /etc/fstab вручную. С UUID’ами же ядро, при помощи специальных программ, автоматически находит и размечает разделы по соответствующим носителям. Это экономит много сил и времени.

Возможно иногда целесообразнее «старая школа» — именование устройств в стиле /dev/sda.

При клонировании разделов командой dd возникают два раздела с одинаковыми UUID.

Команда blkid

Программа blkid, используя библиотеку libblkid, умеет читать содержимое файлов блочных устройств типа /dev/hda2. Эти специальные файлы, находящиеся в директории /dev иначе называются нодами устройств, имеют весьма специфичную структуру, и не могут быть прочитаны обычными средствами (скажем, командой cat).

Однако программа blkid по умолчанию не считывает информацию о разделах непосредственно из соответствующих нод устройств, а считывает ее из файла /etc/blkid.tab. Этот файл зачем-то называется в мане команды blkid кэш файлом, а всем известно, что слово cache имеет множесто значений, а потому совершенно бессмысленно. Должен вас сразу предупредить, что в файле /etc/blkid.tab со временем накапливается устаревшая информация о давно несуществующих разделах, поэтому не думайте читать сам файл в поисках UUID’ов, можете жестоко обмишулиться. Пользуйтесь командой blkid с соответсвующими опциями.

Команда blkid без опций

Команда blkid без опций, запущенная с правами суперпользоателя, выведет на экран дисплея информацию, содержащуюся в файле /etc/blkid.tab:

# blkid /dev/disk/by-id/scsi-SATA_Hitachi_HTS5416_SB344CHRJT80JD-part7: UUID="465e53f5-a682-4fde-8e0c-4c77a533aca7" TYPE="ext3" SEC_TYPE="ext2" LABEL="Common" /dev/sda2: UUID="02E4E3A0E4E39467" LABEL="Vista" TYPE="ntfs" /dev/sda5: UUID="5a179614-0415-48c6-a9ad-3f6ad9596619" TYPE="ext3" SEC_TYPE="ext2" /dev/sda6: TYPE="swap" /dev/sda7: UUID="465e53f5-a682-4fde-8e0c-4c77a533aca7" TYPE="ext3" LABEL="Common" /dev/disk/by-uuid/5a179614-0415-48c6-a9ad-3f6ad9596619: UUID="5a179614-0415-48c6-a9ad-3f6ad9596619" TYPE="ext3" SEC_TYPE="ext2" /dev/sda8: UUID="41825dd5-d866-45f6-bcfd-c4c9aa4de045" SEC_TYPE="ext2" TYPE="ext3" LABEL="lenny" /dev/sda9: UUID="e6758566-4e3b-4cf0-be5e-37949b52c64f" SEC_TYPE="ext2" TYPE="ext3" LABEL="deb2" /dev/sda1: UUID="5408E10E08E0F042" LABEL="WinRE" TYPE="ntfs"

Я предупреждал. Тут, конечно, можно разобраться при желании, но непонятно, откуда может взяться такое желание, когда можно поступить проще. А именно запустить команду blkid с опцией -c.

Команда blkid с опцией -c

Вообще-то опция -c заставляет blkid читать не из файла blkid.tab, а из любого указанного файла. Скажем, /dev/null. Не имея никакой информации из данного файла, команда вынуждена будет прочитать информацию из нод устройств, то есть выдать нам реальную картину на текущий момент:

# blkid -c /dev/null /dev/sda1: UUID="5408E10E08E0F042" LABEL="WinRE" TYPE="ntfs" /dev/sda2: UUID="02E4E3A0E4E39467" LABEL="Vista" TYPE="ntfs" /dev/sda5: UUID="5a179614-0415-48c6-a9ad-3f6ad9596619" TYPE="ext3" /dev/sda6: TYPE="swap" /dev/sda7: LABEL="Common" UUID="465e53f5-a682-4fde-8e0c-4c77a533aca7" TYPE="ext3" /dev/sda8: LABEL="lenny" UUID="41825dd5-d866-45f6-bcfd-c4c9aa4de045" SEC_TYPE="ext2" TYPE="ext3" /dev/sda9: LABEL="deb2" UUID="e6758566-4e3b-4cf0-be5e-37949b52c64f" SEC_TYPE="ext2" TYPE="ext3"

Советую сохранить старые файлы blkid.tab и blkid.tab.old под другими именами, тогда при следующей загрузке будет создан новенький чистенький файлик blkid.tab, где все будет как в выводе команды blkid -c /dev/null . Стоит после этого проверить /etc/fstab и /boot/grub/menu.lst.

Читайте также:  Kyocera fs 1040 linux filter failed

Остальные опции команды крайне невыразительны и бесполезны. Чем трудиться запоминать их, проще запустить команду вовсе без опций или с опцией -c /dev/null. Тем не менее:

Опция

# blkid /dev/sda5 /dev/sda5: UUID="5a179614-0415-48c6-a9ad-3f6ad9596619" TYPE="ext3" SEC_TYPE="ext2"

Выдает сведения об указанном устройстве.

Опция -t

# blkid -t TYPE=ntfs /dev/sda2: UUID="02E4E3A0E4E39467" LABEL="Vista" TYPE="ntfs" /dev/sda1: UUID="5408E10E08E0F042" LABEL="WinRE" TYPE="ntfs"

Найдет все устройства, отвечающие заданному критерию, будь то TYPE, LABEL, или UUID. Можно сужать круг поиска, вводя в командную строку имена интересующих устройств:

# blkid -t TYPE=ntfs /dev/sda1 /dev/sda2 /dev/sda6 /dev/sda7 /dev/sda1: UUID="5408E10E08E0F042" LABEL="WinRE" TYPE="ntfs" /dev/sda2: UUID="02E4E3A0E4E39467" LABEL="Vista" TYPE="ntfs"

Опция -s

# blkid -s UUID /dev/sda7 /dev/sda7: UUID="465e53f5-a682-4fde-8e0c-4c77a533aca7"

Выдаст только указанный критерий нужного устройства.

Опция -o

Позволяет выбирать формат вывода из трех возможных: value (значение критерия), device (устройство), или full (полный). Например:

# blkid -o value 465e53f5-a682-4fde-8e0c-4c77a533aca7 ext3 ext2 Common 02E4E3A0E4E39467 Vista ntfs 5a179614-0415-48c6-a9ad-3f6ad9596619 ext3 ext2 swap 465e53f5-a682-4fde-8e0c-4c77a533aca7 ext3 Common 5a179614-0415-48c6-a9ad-3f6ad9596619 ext3 ext2 41825dd5-d866-45f6-bcfd-c4c9aa4de045 ext2 ext3 lenny e6758566-4e3b-4cf0-be5e-37949b52c64f ext2 ext3 deb2 5408E10E08E0F042 WinRE ntfs

Опция -l

Применяется вместе с опцией поиска -t. Но из всего найденного выдаст сведения только об одном устройстве. Обычно это первое прочитанное в файле /etc/blkid.tab устройство.

# blkid -lt TYPE=ntfs /dev/sda2: UUID="02E4E3A0E4E39467" LABEL="Vista" TYPE="ntfs"

Опция -g

В мане сказано, что убирает мусор в каком-то кэше blkid. Если имеется в виду файл /etc/blkid.tab, то не работает.

Опция -w

Записывает данные в указанный вами файл, вместо файла /etc/blkid.tab.

По моему, проще переадресовать в файл «file» вывод команды.

Опция -h

Опция -v

Вот все, что касается команды blkid. Однако существуют и другие возможности узнать UUID раздела.

Самая очевидная — заглянуть в директорию /dev:

# ls /dev/disk by-id by-label by-path by-uuid

Там четыре субдиректории, одна из которых by-uuid. Посмотрим:

total 0 drwxr-xr-x 2 root root 240 Фев 20 23:15 ./ drwxr-xr-x 6 root root 120 Фев 20 23:15 ../ lrwxrwxrwx 1 root root 10 Фев 20 23:15 1db39027-9af8-4843-ba3a-a0fee8919d5e -> ../../sdb5 lrwxrwxrwx 1 root root 10 Фев 20 23:15 39b6e6f9-fbfd-4e66-b247-64b6b72cb4d1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 Фев 20 23:15 5c336568-49c8-44fe-a513-756dd0a971dc -> ../../sdb3 lrwxrwxrwx 1 root root 10 Фев 20 23:15 698556ea-37f1-4815-960f-1fdef5c4eef8 -> ../../sda4 lrwxrwxrwx 1 root root 10 Фев 20 23:15 703bc5e3-5343-4ee3-a265-50696740cffa -> ../../sda2 lrwxrwxrwx 1 root root 10 Фев 20 23:15 8a19a3c1-cd62-48b0-b03e-6cd935339ff9 -> ../../sda1 lrwxrwxrwx 1 root root 10 Фев 20 23:15 a12aab71-f95e-48f4-9a29-028f85dcb1f2 -> ../../sda5 lrwxrwxrwx 1 root root 10 Фев 20 23:15 c1dc689c-95b2-44be-8f24-9d73b4eaad91 -> ../../sda3 lrwxrwxrwx 1 root root 10 Фев 20 23:15 e1b2febf-3b76-4dca-b480-252749fc9c06 -> ../../sdb2 lrwxrwxrwx 1 root root 10 Фев 20 23:15 e55978e2-302c-4e27-8b58-c472c6f69cfc -> ../../sdb4

Команда vol_id

Существует еще команда vol_id. Она настолько простая, и ман к ней так понятно написан, что разобраться с ней не составит труда. Например:

# vol_id /dev/sda2 ID_FS_USAGE=filesystem ID_FS_TYPE=ntfs ID_FS_VERSION=3.1 ID_FS_UUID=02E4E3A0E4E39467 ID_FS_UUID_ENC=02E4E3A0E4E39467 ID_FS_LABEL=Vista ID_FS_LABEL_ENC=Vista ID_FS_LABEL_SAFE=Vista
# vol_id --uuid /dev/sda5 5a179614-0415-48c6-a9ad-3f6ad9596619

Хорошая и удобная команда, жаль, что не во всех дистрибутивах встречается.

Читайте также:  Remove directory linux with contents

Как прописываются дискам UUID

Кто же присваивает устройствам UUID’ы? Где записаны эти самые идентификаторы?

Если говорить о разделах жесткого диска, то UUID’ы присваиваются им в процессе создания файловой системы (некоторые утверждают, что они вычисляются из характеристик раздела), и записываются где-нибудь в суперблоках. Во всяком случае, еще не отформатированный раздел не имеет UUID’а. А при клонировании раздела командой dd, раздел, в который устанавливают клон, меняет свой UUID на идентификатор клона.

При загрузке компьютера, программа udev записывает UUID раздела в его ноду — файл блочного устройства в директории /dev. В доступной пользователю части файловой системы, UUID’ы разделов можно найти в файле /etc/blkid.tab, но информация эта может оказаться устаревшей.

Источник

How to find disk partition UUIDs in Linux

A Universally Unique IDentifier (UUID) is a randomly generated 128-bit value assigned to partitions or block devices in Linux systems. UUIDs provide a more stable and reliable method of identifying partitions than traditional device names, such as /dev/sda1. UUIDs can be used for mounting filesystems via /etc/fstab by specifying the UUID value in a special block device (the first field).

UUIDs are typically symbolic links to the actual device names within the /dev directory. To retrieve a partition’s UUID, you can browse the /dev/disk/by-uuid/ directory or use various command-line utilities available in Linux.

Steps to get disk partition UUID in Linux:

$ ls -l /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 9 Feb 27 06:29 2020-10-22-14-30-30-00 -> ../../sr0 lrwxrwxrwx 1 root root 10 Feb 27 06:23 9B8B-2022 -> ../../sda2 lrwxrwxrwx 1 root root 10 Feb 27 06:23 a7d71686-0a65-4402-b6e6-b58430ef8351 -> ../../sda3
$ blkid /dev/sda3: UUID="a7d71686-0a65-4402-b6e6-b58430ef8351" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0ea90c96-1b56-4c51-b07a-02e09285f291" /dev/sr0: BLOCK_SIZE="2048" UUID="2020-10-22-14-30-30-00" LABEL="Ubuntu 20.10 amd64" TYPE="iso9660" PTTYPE="PMBR"
$ blkid /dev/sda3 /dev/sda3: UUID="a7d71686-0a65-4402-b6e6-b58430ef8351" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0ea90c96-1b56-4c51-b07a-02e09285f291"
$ blkid --help Usage: blkid --label | --uuid blkid [--cache-file ] [-ghlLv] [--output ] [--match-tag ] [--match-token ] [ . ] blkid -p [--match-tag ] [--offset ] [--size ] [--output ] . blkid -i [--match-tag ] [--output ] . Options: -c, --cache-file read from instead of reading from the default cache file (-c /dev/null means no cache) -d, --no-encoding don't encode non-printing characters -g, --garbage-collect garbage collect the blkid cache -o, --output output format; can be one of: value, device, export or full; (default: full) -k, --list-filesystems list all known filesystems/RAIDs and exit -s, --match-tag show specified tag(s) (default show all tags) -t, --match-token find device with a specific token (NAME=value pair) -l, --list-one look up only first device with token specified by -t -L, --label convert LABEL to device name -U, --uuid convert UUID to device name specify device(s) to probe (default: all devices) Low-level probing options: -p, --probe low-level superblocks probing (bypass cache) -i, --info gather information about I/O limits -S, --size overwrite device size -O, --offset probe at the given offset -u, --usages filter by "usage" (e.g. -u filesystem,raid) -n, --match-types filter by filesystem type (e.g. -n vfat,ext3) -h, --help display this help -V, --version display version For more details see blkid(8).

Источник

Читайте также:  Html редактор wysiwyg linux

Как узнать UUID в Linux

UUID (Universally Unique identifier) — это 128 битный уникальный номер, стандартизированный Open Software Foundation. UUID помогает идентифицировать разделы в системах Linux. Он генерируется с помощью библиотеки libuuid (используемой e2fsprogs), которая является частью util-linux. Доступна сразу после установки Linux начиная с версии ядра 2.15.1.

UUID создается в локальной системе и всегда уникален.

Если ваша система использует много хранилищ данных, таких как SAN, ISCSI и т. д., то у UUID появляется преимущество. Каждый раз, когда вы перемещаете хранилище, вам не нужно беспокоиться об обновлении /etc/fstab.

В этой статье вы узнаете, как найти UUID накопителей в системе Linux.

Формат UUID

UUID отображается в пяти группах, разделенных дефисами, в виде 8-4-4-4-12 в общей сложности 36 символов.

Как узнать (найти) UUID

В системах на базе Linux/Unix вы можете использовать некоторые утилиты командной строки для поиска UUID устройств. Вы можете найти UUID всех разделов диска системы Linux с помощью команды blkid. Чтобы найти UUID разделов диска, подключенных к вашей системе, выполните следующую команду.

Вы получите следующий результат:

Список подключенных UUID разделов устройств.

Использование команды lsblk

Вы можете найти UUID разделов устройств с помощью команды lsblk. Например чтобы вывести список UUID разделов устройств, выполните следующую команду lsblk.

$ sudo lsblk -o PATH,SIZE,RO,TYPE,MOUNTPOINT,UUID,MODEL

Ответ терминала будет следующим:

Вывод списка UUID с помощью команды lsblk

Использование команды ls

В системах Linux сделано так что ОС показывает все устройства как файлы. Таким образом, разделы UUID хранятся в виде файла.

Вы можете перечислить все UUID разделов с помощью команды ls. Для этого вам потребуется ввести:

Ответ в терминале вы увидите следующий.

Перечисление UUID с помощью команды ls

Заключение

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

Источник

Оцените статью
Adblock
detector