Я следовал процедуре на форумах Raspberry Pi, чтобы заставить мой Raspberry Pi 3 использовать USB-ключ вместо SD-карты в качестве корневой файловой системы в надежде сделать ее более устойчивой к потере питания.
Процесс работал, но я потерял время, потому что перепутал UUID и PARTUUID для раздела (используйте blkid и посмотрите, как они могут отличаться). Какова цель обоих? Проще было исправить мою путаницу, используя повсеместно UUID вместо PARTUUID, но это не помогло, мне пришлось использовать PARTUUID (я думаю, что было бы возможно использовать микс, но я не пытался его искать).
Обратите внимание, что на цитируемой странице указывается, что UUID для диска является PARTUUID для раздела, но тогда я ожидаю, что UUID будет одинаковым для всех разделов диска, это не так.
Ответы:
О разнице между UUID и PARTUUID
Вы можете получить несколько подсказок о разнице между
UUID
иPARTUUID
, указав-p
опцию.или какое-либо устройство / раздел вы смотрите. Возможно, вы заметили, что если на одном
UUID
устройстве несколько разделов , то ониPARTUUID
в основном совпадают с добавленным номером раздела.А
UUID
гарантированно будет уникальным. Насколько я знаю, столкновения не произойдут в течение жизни Вселенной. Тем не менее, вы заметите, чтоPARTUUID
намного короче. Предполагается, что они являются «локально» уникальными, и наиболее вероятны конфликты между всеми известнымиPARTUUIDs
.На UUID
UUID - это просто уникальный идентификатор. Они используются для самых разных целей. Вы можете генерировать их с помощью
uuidgen
функции.Для дальнейшего чтения о UUID:
Или интернет:
man-страница для uuidgen
Еще несколько примеров использования UUID
Для более новых систем GNU / Linux у вас будет список всех разделов и их UUID. Новый UUID генерируется для каждого нового раздела. Таким образом, если переразметить данный диск, все UUID blkid для этого диска будут изменены.
Одна из причин, по которой идентификаторы UUID используются в качестве идентификаторов разделов и дисков, заключается в том, что они поддерживают идентификаторы, даже если диски добавлены или смонтированы в другом порядке. Раньше
fstab
у таких идентификаторов были бы такие, как/dev/sda1
... Недостатком было то, что ониsda1
могли иметь физически другой диск или раздел, если каким-то образом порядок монтирования был изменен.По партуидам
PARTUUIDs
являются компонентом таблиц разделов GUID (GPT), которые являются заменой разделов диска, связанных с основной загрузочной записью (MBR).Для дальнейшего чтения смотрите Linux.com - Использование новой таблицы разделов GUID в Linux
Linux.com говорит:
источник
blkid
.blkid -p
общем, есть UUID диска, который вы можете получить с помощью которого он называется PTUUID, есть UUID раздела, которыйblkid
вызывает PARTUUID, и некоторые файловые системы имеют UUID, который blkid вызывает UUID. Мне все еще неясно, почему мне пришлось использовать PARTUUID вместо UUID, по крайней мере, в некоторых местах, при перемещении корневой файловой системы на USB-ключ на малине, когда моя система Linux только ссылается на UUID, но я не работаю добровольно сделать еще несколько тестов и проверить, где действительно нужен PARTUUID и где я все еще могу использовать UUID, если захочу, но, думаю, этоcmdline.txt
нужно только .Как я понимаю.
Термин UUID в целом относится к «универсально уникальному идентификатору», известному в мире окон как GUID. Существует несколько различных схем, но по большей части современные UUID / GUID по существу представляют собой большое случайное число или хэш и несколько битов флага.
В конкретном случае монтирования файловых систем в Linux «UUID» ссылается на уникальный идентификатор, который является частью метаданных, хранящихся в файловой системе. «PARTUUID» относится к уникальному идентификатору раздела, хранящегося в таблице разделов или получаемой из нее.
Эти уникальные идентификаторы могут быть или не быть фактическими UUID. Насколько я могу сказать.
Обратите внимание, что поддержка монтирования корневой файловой системы с помощью «UUID» и «PARTUUID» различается. IIRC ядро, работающее без initrd, может монтироваться с помощью "PARTUUID", но не с помощью "UUID". Более старые версии initramfs-tools могут монтироваться с помощью «UUID», но не «PARTUUID», последние initramfs-tools поддерживают оба.
источник