Как узнать uuid диска в windows

serdce kniga yarkiy stranicy zhurnal chuvstva 54203 1280x720 Windows
Содержание
  1. Системный номер раздела диска UUID / GUID / serial number
  2. В чем отличие UUID от GUID
  3. Как вытащить дату и время из GUID?
  4. Использование UUID / GUID как номера раздела (тома) на диске
  5. 7 методов для определения раздела диска / UUID файловой системы в Linux
  6. Что такое UUID?
  7. Как проверить UUID раздела диска / файловой системы в Linux с помощью команды blkid?
  8. Как проверить UUID раздела диска / файловой системы в Linux с помощью команды lsblk?
  9. Как проверить UUID раздела диска / файловой системы в Linux, используя путь byUUID?
  10. Как проверить UUID раздела диска / файловой системы в Linux с помощью команды hwinfo?
  11. Как проверить UUID раздела диска / файловой системы в Linux с помощью команды udevadm?
  12. Как проверить UUID раздела диска / файловой системы в Linux с помощью команды tune2fs?
  13. Как проверить UUID раздела диска / файловой системы в Linux с помощью команды dumpe2fs?
  14. Как узнать UUID диска в Linux
  15. Как узнать UUID диска в Linux
  16. 2. blkid
  17. 3. lsblk
  18. 4. Графический интерфейс
  19. Выводы
  20. Как генерируются UUID
  21. Теория
  22. Версия
  23. Вариант
  24. Версия 1 (время + уникальный или случайный идентификатор хоста)
  25. Версия 2 (безопасность распределённой вычислительной среды)
  26. Версия 3 (имя + MD5-хэш)
  27. Версия 4 (ГПСЧ)
  28. Версия 5 (имя + SHA-1-хэш)
  29. Практика
  30. Уникальность
  31. Как узнать UUID’ы разделов? Команды blkid и vol_id
  32. Статья из серии «HuMan»
  33. Предисловие
  34. Команда blkid
  35. Команда blkid без опций
  36. Опция
  37. Команда vol_id
  38. Заключение

Системный номер раздела диска UUID / GUID / serial number

На чистом диске нет никаких разделов и соответственно нет никаких номеров раздела.

uuid guid

В чем отличие UUID от GUID

UUID (Universally unique identifier «универсальный уникальный идентификатор») – UUID представляет собой 16-байтный (128-битный) номер. В каноническом представлении UUID изображают в виде числа в шестнадцатеричной системе счисления, разделённого дефисами на пять групп в формате 8-4-4-4-12.

GUID (Globally Unique Identifier) – это так называется у Microsoft – фактически это последняя реализация UUID (да, там были свои предыдущие версии и свой зоопарк).

Именно по этому актуальная разметка диска от Microsoft называется GPT (GUID Partition Table), читаем статью

В целом используется как идентификатор (в составе также закодирована дата и время создания):

Почему такая загадочная запись?

Очень удобно переводить двоичные числа в шестнадцатеричный формат (а в десятичный формат – очень неудобно).

Помним, что для половинки байта (4 бита):

Bin Hex Dec
0000
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 A 10
1011 B 11
1100 C 12
1101 D 13
1110 E 14
1111 F 15

Т.е. один байт (8 бит) вида 11111111 легко представляется в виде FF = т.е. каждая половинка байта – это F (15 в десятичной системе).

Поэтому 128 бит легко превращаются в номер из 32 цифр в шестнадцатеричной системе счисления, 128/4 = 32

В номере UUID <8e44ac32-40e2-11ea-93a4-bff4e4da2abb> каждые два разряда фактически кодируют один байт.

Посмотрим на структуру номера

adv

xxxxxxxx-xxxx-MxxxNxxx-xxxxxxxxxxxx

4 бита M обозначают версию (“version”) UUID, а 1-3 старших бита N обозначают вариант (“variant”) UUID.

Первые две цифры кодируют дату и время создания.

Такое разделение на группы основано на структуре UUID:

Название поля Длина (в байтах) Длина (число 16-ричных цифр) Содержимое
time_low 4 8 целое число, обозначающее младшие 32 бита времени
time_mid 2 4 целое число, обозначающее средние 16 бит времени
time_hi_and_version 2 4 4 старших бита обозначают версию UUID, младшие биты обозначают старшие 12 бит времени
clock_seq_hi_and_res clock_seq_low 2 4 1-3 старших бита обозначают вариант UUID, остальные 13-15 бит обозначают clock sequence
node 6 12 48-битный идентификатор узла

Как вытащить дату и время из GUID?

bdb62d89-cede-11e4-b12b-d4ae52b5e909

дата содержится в первых символах, bdb62d89-cede-11e4 которые нужно переставить задом наперед: 11e4-cede-bdb62d89

первый символ отбрасываем, убираем “лишние” знаки “-“(тире)

интервал в десятых долях микросекунд (HEX) получается равным: интервал 16= 1E4CEDEBDB62D89

переводим его в десятичный интервал интервал 10 = HexToDec(интервал 16);в результате получаем: интервал 10 = 136 461 344 788 852 105

находим интервал в секундах: интервал Сек = интервал 10 / 10 000 000;

Делаем сдвиг даты от 15.10.1582 г. + 13 646 134 478 + сдвиг на часовой пояс (Московское время) от “мирового времени” (GMT) = 20.03.2015 16:54:38

Использование UUID / GUID как номера раздела (тома) на диске

В LInux изначально используется UUID как системный номер раздела.

2020 02 07 13 38

В Windows свой зоопарк.

Для FAT 32 – серийный номер из 4 байт = 8 символов в шестнадцатеричной системе

Для NTFS – серийный номер из 8 байт = 16 символов в шестнадцатеричной системе

Системный номер раздела записан непосредственно на диске – создается при форматировании диска. В серийном номер также закодирована дата и время создания раздела.

ВАЖНО: каждый диск “помнит” дату и время создания на нем конкретного раздела, это фактически записано в номере созданного раздела (при форматировании). Нужна шапочка из фольги…

Этот номер мы можем увидеть в свойствах раздела, который показывают программы для управления разделами.

serial part

Номер 4610e64f 10e64611 – 16 цифр в шестнадцатеричной системе

Правую половинку номера тома мы также можем увидеть через команду DIR в режиме командной строки

serial dir

10e6-4611

Он используется Windows уже для регистрации (например раздела) – как устройства, подключенного к системе, вот на фото ниже (как это красиво называется – “точка монтирования” – Mount point).

part aomei uuid

Этот номер уже записан в недрах реестра – в отличии от серийного номера раздела, записанного в заголовке тома на диске.

Этот же номер мы можем увидеть в bcdedit – как номер основного диска С для работы системы

Читайте также:  Драйвер gpt для windows

guid bcdedit

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

Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла

Источник

7 методов для определения раздела диска / UUID файловой системы в Linux

fstab

Как администратор Linux, вы должны знать, как проверить UUID раздела или UUID файловой системы.

Потому что большинство систем Linux монтируют разделы с UUID.

То же самое было может проверено в файле /etc/fstab.

Есть много утилит для проверки UUID.

В этой статье мы покажем вам, как проверить UUID разными способами, и вы сможете выбрать тот, который подходит именно вам.

Что такое UUID?

UUID расшифровывается как Universally Unique Identifier, который помогает системе Linux идентифицировать раздел жесткого диска вместо файла блочного устройства.

libuuid является частью пакета util-linux-ng начиная с версии ядра 2.15.1 и по умолчанию устанавливается в системе Linux.

Можно предположить, что идентификаторы UUID, сгенерированные этой библиотекой, будут уникальными в системе и уникальными во всех системах.

Это 128-битное число, используемое для идентификации информации в компьютерных системах.

UUID первоначально использовались в сетевой вычислительной системе Apollo (NCS), а более поздние UUID стандартизируются Open Software Foundation (OSF) как часть распределенной вычислительной среды (DCE).

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

Пример моего файла /etc/fstab.

Мы можем проверить тоже самое, используя следующие семь команд.

Как проверить UUID раздела диска / файловой системы в Linux с помощью команды blkid?

blkid – это утилита командной строки для поиска / вывода атрибутов блочных устройств.

Он использует библиотеку libblkid для получения UUID раздела диска в системе Linux.

Как проверить UUID раздела диска / файловой системы в Linux с помощью команды lsblk?

lsblk выводит информацию обо всех доступных или указанных блочных устройствах.

Команда lsblk читает файловую систему sysfs и базу данных udev для сбора информации.

Если база данных udev недоступна или lsblk скомпилирован без поддержки udev, он пытается прочитать метки LABEL, UUID и типы файловых систем с блочного устройства.

В этом случае необходимы права суперпользователя.

По умолчанию команда выводит все блочные устройства (кроме дисков RAM) в древовидном формате.

Как проверить UUID раздела диска / файловой системы в Linux, используя путь byUUID?

Каталог содержит UUID и файлы реальных блочных устройств, UUID были символическими ссылками с файлами реальных блочных устройств.

Как проверить UUID раздела диска / файловой системы в Linux с помощью команды hwinfo?

hwinfo расшифровывается как инструмент информации об оборудовании.

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

Как проверить UUID раздела диска / файловой системы в Linux с помощью команды udevadm?

udevadm содержит команду и специфичные для команды опции.

Он управляет поведением systemd-udevd во время выполнения, запрашивает события ядра, управляет очередью событий и предоставляет простые механизмы отладки.

Как проверить UUID раздела диска / файловой системы в Linux с помощью команды tune2fs?

tune2fs позволяет системному администратору настраивать различные настраиваемые параметры файловой системы в файловых системах Linux ext2, ext3 или ext4.

Как проверить UUID раздела диска / файловой системы в Linux с помощью команды dumpe2fs?

dumpe2fs печатает суперблок и блокирует информацию о группе для файловой системы, представленной на устройстве.

Источник

Как узнать UUID диска в Linux

Но у этого метода есть и недостаток. UUID рассчитывается на основе метаданных раздела или диска, поэтому если вы измените его размер, UUID тоже изменится, что приведет к поломке системы и вы не сможете загрузится. Исправить ситуацию можно только указав правильный UUID.

Как узнать UUID диска в Linux

Давайте разберем как узнать UUID диска в Linux. Все диски и разделы перечислены в виртуальном каталоге /dev/. Здесь есть подкаталог /dev/disk/by-uuid/ в котором вы можете посмотреть UUID идентификаторы всех подключенных к системе дисков. Для этого выполните:

Snimok ekrana ot 2019 02 16 14 52 35

Строки состоящие из большого количества цифр и букв, подсвеченные бирюзовым цветом и есть UUID.

2. blkid

Ещё для просмотра UUID можно использовать утилиту blkid. Её необходимо запускать от имени суперпользователя, но она показывает информацию только по нужному вам разделу. Например, чтобы посмотреть UUID раздела /dev/sda6 выполните:

sudo blkid /dev/sda6

Snimok ekrana ot 2019 02 16 14 55 19

Здесь UUID выводится в таком формате:

Эту строчку уже можно целиком вставлять в /etc/fstab или настройки загрузчика grub. Утилита позволяет посмотреть информацию для нескольких устройств:

Snimok ekrana ot 2019 02 16 14 57 27

3. lsblk

Snimok ekrana ot 2019 02 16 14 58 00

4. Графический интерфейс

Если вы не хотите использовать терминал, то всегда можете посмотреть UUID в графическом интерфейсе. Для этого используйте утилиту Gnome Disks. Её можно найти в главном меню операционной системы:

Snimok ekrana ot 2019 02 16 15 06 06

Для просмотра UUID просто выберите нужный жесткий диск и кликните по разделу, для которого нужно посмотреть информацию:

Snimok ekrana ot 2019 02 16 14 59 59

Выводы

UUID довольно часто используется при работе с разделами в Linux несмотря на то, что обычные имена разделов намного удобнее и проще запоминаются. Надеюсь, эта информация была полезной для вас.

Источник

Как генерируются UUID

v5gpf c 7 njkpgjosroinvowos

Вы наверняка уже использовали в своих проектах UUID и полагали, что они уникальны. Давайте рассмотрим основные аспекты реализации и разберёмся, почему UUID практически уникальны, поскольку существует мизерная возможность возникновения одинаковых значений.

Читайте также:  Виндовс 10 виснет на ноутбуке

Современную реализацию UUID можно проследить до RFC 4122, в котором описано пять разных подходов к генерированию этих идентификаторов. Мы рассмотрим каждый из них и пройдёмся по реализации версии 1 и версии 4.

Теория

UUID (universally unique IDentifier) — это 128-битное число, которое в разработке ПО используется в качестве уникального идентификатора элементов. Его классическое текстовое представление является серией из 32 шестнадцатеричных символов, разделённых дефисами на пять групп по схеме 8-4-4-4-12.

Информация о реализации UUID встроена в эту, казалось бы, случайную последовательность символов:

Значения на позициях M и N определяют соответственно версию и вариант UUID.

Версия

Номер версии определяется четырьмя старшими битами на позиции М. На сегодняшний день существуют такие версии:

c418a8236aac78fffbf9d85310b5ffcc

Вариант

Это поле определяет шаблон информации, встроенной в UUID. Интерпретация всех остальных битов в UUID зависит от значения варианта.

Мы определяем его по первым 1-3 старшим битам на позиции N.

8faf92b805ef4d723093379fddaf3ac9

1 0 0 0 = 8
1 0 0 1 = 9
1 0 1 0 = A
1 0 1 1 = B

Так что если вы видите UUID с такими значениями на позиции N, то это идентификатор в варианте 1.

Версия 1 (время + уникальный или случайный идентификатор хоста)

В этом случае UUID генерируется так: к текущему времени добавляется какое-то идентифицирующее свойство устройства, которое генерирует UUID, чаще всего это MAC-адрес (также известный как ID узла).

Идентификатор получают с помощью конкатенации 48-битного МАС-адреса, 60-битной временной метки, 14-битной «уникализированной» тактовой последовательности, а также 6 битов, зарезервированных под версию и вариант UUID.

Тактовая последовательность — это просто значение, инкрементируемое при каждом изменении часов.

Временная метка, которая используется в этой версии, представляет собой количество 100-наносекундных интервалов с 15 октября 1582 года — даты возникновения григорианского календаря.

Возможно, вы знакомы с принятым в Unix-системах исчислением времени с начала эпохи. Это просто другая разновидность Нулевого дня. В сети есть сервисы, которые помогут вам преобразовать одно временное представление в другое, так что не будем на этом останавливаться.

Хотя эта реализация выглядит достаточно простой и надёжной, однако использование MAC-адреса машины, на которой генерируется идентификатор, не позволяет считать этот метод универсальным. Особенно, когда главным критерием является безопасность. Поэтому в некоторых реализациях вместо идентификатора узла используется 6 случайных байтов, взятых из криптографически защищённого генератора случайных чисел.

Сборка UUID версии 1 происходит так:

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

Помните, что главная цель использования тактовой последовательности — внести долю случайности в наше уравнение. Биты тактовой последовательности помогают расширить временную метку и учитывать ситуации, когда несколько UUID генерируются ещё до того, как изменяются процессорные часы. Так мы избегаем создания одинаковых идентификаторов, когда часы переводятся назад (устройство выключено) или меняется идентификатор узла. Если часы переведены назад, или могли быть переведены назад (например, пока система была отключена), и UUID-генератор не может убедиться, что идентификаторы сгенерированы с более поздними временными метками по сравнению с заданным значением часов, тогда нужно изменить тактовую последовательность. Если нам известно её предыдущее значение, его можно просто увеличить; в противном случае его нужно задать случайным образом или с помощью высококачественного ГПСЧ.

Версия 2 (безопасность распределённой вычислительной среды)

Главное отличие этой версии от предыдущей в том, что вместо «случайности» в виде младших битов тактовой последовательности здесь используется идентификатор, характерный для системы. Часто это просто идентификатор текущего пользователя. Версия 2 используется реже, она очень мало отличается от версии 1, так что идём дальше.

Версия 3 (имя + MD5-хэш)

Если нужны уникальные идентификаторы для информации, связанной с именами или наименованием, то для этого обычно используют UUID версии 3 или версии 5.

Они кодируют любые «именуемые» сущности (сайты, DNS, простой текст и т.д.) в UUID-значение. Самое важное — для одного и того же namespace или текста будет сгенерирован такой же UUID.

Обратите внимание, что namespace сам по себе является UUID.

В этой реализации UUID namespace преобразуется в строку байтов, конкатенированных с входным именем, затем хэшируется с помощью MD5, и получается 128 битов для UUID. Затем мы переписываем некоторые биты, чтобы точно воспроизвести информацию о версии и варианте, а остальное оставляем нетронутым.

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

При одних и тех же входных данных генерируемые UUID версий 3 и 5 будут детерминированными.

Версия 4 (ГПСЧ)

Самая простая реализация.

6 битов зарезервированы под версию и вариант, остаётся ещё 122 бита. В этой версии просто генерируется 128 случайных битов, а потом 6 из них заменяется данными о версии и варианте.

Такие UUID полностью зависят от качества ГПСЧ (генератора псевдослучайных чисел). Если его алгоритм слишком прост, или ему не хватает начальных значений, то вероятность повторения идентификаторов возрастает.

В современных языках чаще всего используются UUID версии 4.

Её реализация достаточно простая:

Версия 5 (имя + SHA-1-хэш)

Единственное отличие от версии 3 в том, что мы используем алгоритм хэширования SHA-1 вместо MD5. Эта версия предпочтительнее третьей (SHA-1 > MD5).

Читайте также:  Как сменить язык в виндовс виста

Практика

Одним из важных достоинств UUID является то, что их уникальность не зависит от центрального авторизующего органа или от координации между разными системами. Кто угодно может создать UUID с определённой уверенностью в том, что в обозримом будущем это значение больше никем не будет сгенерировано.

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

UUID можно использовать в качестве первичных ключей в базах данных, в качестве уникальных имён загружаемых файлов, уникальных имён любых веб-источников. Для их генерирования вам не нужен центральный авторизующий орган. Но это обоюдоострое решение. Из-за отсутствия контролёра невозможно отслеживать сгенерированные UUID.

Есть и ещё несколько недостатков, которые нужно устранить. Неотъемлемая случайность повышает защищённость, однако она усложняет отладку. Кроме того, UUID может быть избыточным в некоторых ситуациях. Скажем, не имеет смысла использовать 128 битов для уникальной идентификации данных, общий размер которых меньше 128 битов.

Уникальность

Может показаться, что если у вас будет достаточно времени, то вы сможете повторить какое-то значение. Особенно в случае с версией 4. Но в реальности это не так. Если бы вы генерировали один миллиард UUID в секунду в течение 100 лет, то вероятность повторения одного из значений была бы около 50 %. Это с учётом того, что ГПСЧ обеспечивает достаточное количество энтропии (истинная случайность), иначе вероятность появления дубля будет выше. Более наглядный пример: если бы вы сгенерировали 10 триллионов UUID, то вероятность появления двух одинаковых значений равна 0,00000006 %.

А в случае с версией 1 часы обнулятся только в 3603 году. Так что если вы не планируете поддерживать работу своего сервиса ещё 1583 года, то вы в безопасности.

Впрочем, вероятность появления дубля остаётся, и в некоторых системах стараются это учитывать. Но в подавляющем большинстве случаев UUID можно считать полностью уникальными. Если вам нужно больше доказательств, вот простая визуализация вероятности коллизии на практике.

Источник

Как узнать UUID’ы разделов? Команды blkid и vol_id

Статья из серии «HuMan»

Предисловие

Удобство понимания и заполнения таких конфигурационных файлов как, скажем, /etc/fstab «значительно повысилось». Стало невозможным понять о каком разделе идет речь. Хорошо если у вас всего пять-шесть разделов, еще можно помнить, на каком своп, а на каком корень. А если разделов в три раза больше? Да если еще и постоянно удаляешь одни, и создаешь другие? Мода требует жертв.

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

Простым же смертным, имеющим два компьютера с тремя винчестерами на обоих, эти UUID’ы нужны как зайцу стоп-сигнал. Я лично первым делом безжалостно удаляю все эти номера из файлов /etc/fstab и /boot/grub/menu.lst. Это позволяет мне избежать головной боли при клонировании разделов, когда возникают два раздела с одинаковыми «Уникальными номерами».

Но многим почему-то нравятся UUID’ы, и они озабочены, если какой-нибудь раздел, например подкачки, вдруг прописан по «имени-отчеству». В Сети иногда встречаются такие вопли о помощи: «Мой раздел своппига не имеет UUID’а. Как мне узнать его и вписать в /etc/fstab?». Для вас, любители UUID’ов, эта статья.

Команда blkid

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

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

Совсем другое дело, не правда ли?

Опция

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

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

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

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

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

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

Вот поди, догадайся, что к чему относится! Нет, это не метод.

Команда vol_id

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

Заключение

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

Нравится мне это или нет, но UUID’ы прочно вошли в повседневный быт линуксоида. И нет в них никакой мистики.

Источник

Оцените статью
Мои наблюдения
Adblock
detector