- Как изменить UUID раздела и его метку
- А зачем?
- Как делается клон
- Изменение UUID раздела
- Как изменить метку тома
- Как изменить UUID файловой системы (2 одинаковых UUID)?
- Обновление 2017-01-25
- Предполагая файловую систему ext-family
- Предполагая файловую систему btrfs
- Поменять местами
- Программный RAID (MD Raid)
- ЛУКС (cryptsetup)
- FAT / NTFS / exFAT
- Как изменить UUID раздела в файловой системе Linux
- Что такое UUID?
- Как найти UUID ваших файловых систем
- Как изменить UUID ваших файловых систем
- Заключение
- Как изменить UUID оборудования в Linux
- Изменение UUID в Linux
- Заключение
- Изменение UUID’а
Как изменить UUID раздела и его метку
А зачем?
Если вы много экспериментируете со своей системой Linux, постоянно пробуете всякие новые программы, частый гость в репозиториях testing и Sid, пробуете удалить GRUB2 и поставить Grub Legacy и т.д. и т.п., то у вас, без сомнения, есть запасной клон вашей системы, спрятанный где-нибудь в надежном месте. О изготовлении таких клонов я писал в конце 2010 года.
Но, если вы «убили» систему, а клон еще не занял ее место, вы, лишенные привычного рабочего окружения, некоторое время испытываете определенные неудобства. Поэтому предлагаю для экспериментов иметь клон вашей системы в соседнем разделе того же диска.
Все эксперименты сначала проводятся на клоне ≈ подопытном кролике, и в случае удачи переносятся в основной вариант системы.
Как делается клон
Затем клонируем систему в новый раздел:
(bs=10M ≈ это величина блока (в данном случае ≈ 10 мегабайт), которыми будет происходить копирование на уровне секторов диска. Чем больше блок, тем быстрее копируется, но и меру нужно знать).
Полученный клон является побайтовой копией оригинала, поэтому он имеет ту же файловую систему со всеми своими суперблоками на тех же местах. Дублируется также и нулевой сектор, недоступный при обычном копировании. Кроме того, при копировании командой cp данные записываются на свободное место, а при клонировании ≈ на то же самое, что и в оригинале. Это приводит к тому, что оригинал и клон имеют абсолютно идентичные файловые системы, одинаковые UUID’ы и метки тома.
Так как мы собираемся пользоваться обеими копиями одновременно, то наличие у них одинаковых UUID’ов и меток (LABEL), неудобно в работе, так как приводит к путанице. Почему и нужно изменить UUID клона и дать ему новую метку.
Изменение UUID раздела
Чтобы узнать UUID’ы всех разделов вашей системы нужно применить команду:
Такой синтаксис команды предпочтителен. Подробное объяснение в статье «Как узнать UUID’ы разделов?», там же описаны другие команды для этой цели.
Хотя теоретически можно самостоятельно придумать новый UUID, рекомендуется пользоваться командой uuid ≈ генератором UUID’ов. Если у вас нет этой команды, то нужно установить пакет uuid (или соответствующий ему в вашей системе) привычным вам способом. Команда без лишних слов генерирует новый UUID при каждом запуске.
Поскольку UUID есть атрибут файловой системы, то для его изменения применяется команда tune2fs, служащая для настройки файловых систем ext2, ext3, ext4.
Проверим, что получилось:
Отлично! Теперь займемся меткой тома.
Как изменить метку тома
Узнать, какой раздел кроется за данной меткой тома, можно при помощи команды:
Если вы часто удаляете / создаете разделы, то их имена (/dev/sdxx) могут измениться, зато UUID и LABEL останутся неизменными и никакой путаницы в конфигах не произойдет.
Итак, два раздела с одинаковой меткой тома ≈ это нонсенс! Давайте менять метку. Для этого применяется команда e2label. Она не входит в стандартный набор команд, поэтому скорее устанавливайте одноименный пакет. Пользоваться ей просто ≈ пишем имя раздела и за ним новый LABEL:
Теперь наш основной рабочий раздел (/dev/sda7 «squeeze») и его клон (/dev/sda8 «clone») имеют свои уникальные UUID’ы и понятные метки тома.
Источник
Как изменить UUID файловой системы (2 одинаковых UUID)?
У меня есть гостевая ОС fedora в VMware. Я хочу расширить /boot раздел, поэтому я добавляю другой виртуальный диск к этой виртуальной машине и пытаюсь клонировать диск.
После dd if=/dev/sda1 of=/dev/sdb1 этого blkid сообщите, что / dev / sda1 и / dev / sdb1 имеют одинаковый UUID / GUID.
Странно, что в юниверсе есть 2 одинаковых UUID. Как изменить одно из них на другое значение UUID?
Обновление 2017-01-25
Тема изменена, здесь UUID означает UUID файловой системы, а не UUID раздела.
Поскольку это UUID файловой системы, утилиты, специфичные для файловой системы, необходимы для изменения UUID или использования hexeditor для изменения необработанных данных на диске ( ОПАСНО, не рекомендуется, если вы не знаете, что делаете ).
Чтобы сгенерировать случайный новый UUID, можно использовать:
Фактическое изменение UUID зависит от файловой системы.
Предполагая файловую систему ext-family
Или, если вы уверены, что uuidgen будет работать:
Предполагая файловую систему btrfs
UUID хранится в суперблоке, поэтому побайтная копия файловой системы будет иметь тот же UUID.
если это файловая система ext , или
если это файловая система XFS .
Причина, по которой второй раздел имеет такой же UUID, заключается в том, что dd просто копирует данные из одного файла в другой ( dd if=/dev/sda1 of=/dev/sdb1 = cat /dev/sda1 > /dev/sdb1 ); dd не знает, что такое раздел или как генерировать UUID, поэтому он просто скопировал все данные, как есть, включая UUID, который хранится в суперблоке filysystem рядом с началом раздела.
Кстати,
я также думаю, что UUID (Universally Unique IDentifier) - странное имя. Он должен называться PGUID (возможно, глобально уникальный идентификатор) или, что еще лучше, просто ARLN (достаточно большое число).
Помимо ext2 / ext3 / ex4 и xfs, вы также можете изменить UUID следующей файловой системы или блочного устройства.
Поменять местами
swaplabel -U $NEW_UUID
Программный RAID (MD Raid)
Для MD RAID необходимо сначала остановить RAID, а затем обновить UUID при повторной сборке. Поэтому, если ваш RAID-массив подключен / , вам нужно обновить UUID в автономном режиме — для этого используйте live CD.
- mdadm —stop $RAID_DEVICE
- mdadm —assemble $RAID_DEVICE —update=uuid —uuid=$NEW_UUID $MEMBER_DEVICES.
- mdadm —stop /dev/md127
- mdadm —assemble /dev/md127 —update=uuid —uuid=2A1D2A1D-2A1D-2A1D-2A1D-2A1D2A1D2A1D /dev/sda2 /dev/sdb2
После обновления UUID вам может потребоваться обновить grub.cfg ( rd.md.uuid=$NEW_UUID в linux/linuxefi/linux16 командной строке) и / или fstab и / или / mdadm.conf и / или update-initramfs (семейство Debian), и / или dracut —force (семейство Red Hat), чтобы вы могли успешно загрузиться в следующий раз.
ЛУКС (cryptsetup)
cryptsetup luksUUID —uuid=$NEW_UUID $LUKS_DEVICE
cryptsetup luksUUID —uuid=e0c0e0c0-e0c0-e0c0-e0c0-e0c0e0c0e0c0
FAT / NTFS / exFAT
Это другая история здесь, в настоящее время нет утилит для изменения UUID файловой системы этих файловых систем. (См . Ответ Рейххарта — mlabel инструмент), но мы можем изменить необработанные данные на диске, чтобы сделать это.
ВНИМАНИЕ, изменять необработанные данные на диске опасно, и они могут быть потеряны без тщательной эксплуатации.
Вот подробные шаги, чтобы изменить необработанные данные на диске, используя hexedit .
- blkid Запишите UUID файловой системы на бумаге или запомните. Строка UUID в FAT / exFAT выглядит так 1122-3344 , как выглядит строка UUID в NTFS 1122334455667788 .
Открыть раздел устройства с помощью hexedit
и увидите сообщение «Есть различия между загрузочным сектором и его резервной копией» . Чтобы решить эту проблему, выберите «1) Копировать оригинал в резервную копию» , и, если вас спросят «Выполнить изменения? (Да / нет)» , нажмите y .
Источник
Как изменить UUID раздела в файловой системе Linux
В этом коротком руководстве вы узнаете, как изменить UUID раздела Linux.
Это может помочь вам в менее вероятном сценарии, когда UUID двух разделов одинаковы.
На самом деле это действительно сложно, но все же возможно, если, например, вы скопируете раздел с помощью команды dd.
Что такое UUID?
UUID означает универсальный уникальный идентификатор раздела.
Этот идентификатор используется в нескольких разных местах для идентификации раздела.
Чаще всего это будет /etc/fstab.
Как найти UUID ваших файловых систем
Чтобы найти UUID ваших разделов, вы можете использовать команду blkid, как показано на рисунке.
Как изменить UUID ваших файловых систем
Изменить UUID файловой системы довольно просто.
Для этого мы будем использовать tune2fs.
В целях данного руководства я изменю UUID на моем втором разделе /dev/sdb1, ваш может отличаться, поэтому убедитесь, что вы меняете UUID желаемой файловой системы.
Раздел должен быть размонтирован перед применением нового UUID:
UUID был успешно изменен.
Теперь вы можете снова смонтировать файловую систему.
При необходимости вы также можете обновить ваш /etc/fstab, используя новый UUID.
Заключение
Это было краткое руководство по изменению UUID раздела Linux.
Сценарии для использования этого очень редки, и есть вероятность, что вы, скорее всего, не будете использовать это на локальной машине.
Источник
Как изменить UUID оборудования в Linux
Для подключения устройств и хранения данных необходимо использовать UUID. Особенно если система использует много дисков, которые регулярно переключаются или перемещаются. UUID интегрирован с файловой системой и помогает однозначно идентифицировать диски.
UUID обычно изменяется при форматировании или повторном разделении диска, а так же когда файловая система по какой-то причине пострадала.
В этой статье показано, как изменить UUID диска в Linux.
Изменение UUID в Linux
В зависимости от типа файловой системы у нас есть несколько инструментов для изменения UUID. Для изменения UUID потребуется использовать утилиты Linux, такие как tune2fs (для ext2 или ext3 или ext3), xfs_admin (для xfs), btrfstune (для btrfs).
В этом примере я буду использовать tune2fs и изменю UUID disk /dev/sdb.
Для начала я узнаю UUID. Существует несколько способов проверить UUID запоминающего устройства. Мы будем использовать команду blkid для поиска UUID.
Сначала найдите UUID диска, введите:
/dev/sdb: UUID=»f2cf4598-c725-4ef1-8ab6-e2cdc6028a33″ TYPE=»ext4″
Чтобы изменить UUID файловой системы, вам нужно размонтировать ее.
Раздел /dev/sdb монтируется в /mnt/data. Чтобы размонтировать, введите:
Как только устройство размонтировано, используйте команду tune2fs, с параметром -U. Это сгенерирует случайный UUID.
Ответ терминала:
tune2fs 1.45.5 (07-Jan-2020) Setting the UUID on this filesystem could take some time. Proceed anyway (or wait 5 seconds to proceed) ? (y,N) y
После изменения UUID требуется выполнить следующую команду для проверки изменений.
Ответ терминала Linux:
dev/sdb: UUID=»af406bcd-cddb-4095-8456-fdf8dfe37665″ TYPE=»ext4″
После изменения существующего UUID обязательно обновите все ссылки на старые метки в файле /etc/fstab.
UUID=»af406bcd-cddb-4095-8456-fdf8dfe37665″ /mnt/data ext4 по умолчанию 0 2
Теперь смонтируйте размонтированную файловую систему обратно.
Заключение
Вот и все. В этой которой статье подробно расписано, как изменить UUID в Linux с помощью команды tune2fs.
Источник
Изменение UUID’а
Вот уже много лет как в Linux’е для именования блочных устройств (фигурально выражаясь, дисков и их разделов) используются разные модели их именования: традиционные имена «верхнего уровня» (вида /dev/sd?# ), по фабричному идентификатору ( by-id ), по метке ( by-label ), по так называемому универсальному уникальному идентификатору ( by-uuid ). Зачем и почему — говорилось ранее. Здесь же замечу только, по однозначно блочное устройство идентифицируется только в модели by-id . Однако на практике, с лёгкой руки разработчиков Ubuntu, распространение получила модель by-uuid .
Причина, подозреваю, в том, что её ранний, текстовый, инсталлятор (ныне именуемый альтернативным, и уцелевший только в Lubutu и в mini.iso) не обеспечивал корректного определения имён «верхнего уровня» в многодисковых системах с внешними накопителями. А, как известно, большую часть того, что придумывают в Ubuntu, рано или поздно, после явного периода смешков и сарказмов, втихаря обезъянничают в большинстве других дистрибутивов. Вне зависимости от того, хорошо это было придумано, или плохо.
Умолчальное именование by-uuid (в частности, в /etc/fstab ) с точки зрения применителя было придумано… скажем так, неоднозначно. Конечно, эта модель делает имена блочных устройств независимыми, например, от перетыкания кабелей в разъёмы (кто из читающих эти строки проделывает данную процедуру ежедневно перед завтраком?). Но, как это ни парадоксально, UUID’ы, вопреки своему названию, как раз уникальности имён и не обеспечивают. В частности, при копировании образа раздела командой dd (или графической утилитой Gparted) клон наследует свой UUID от оригинала. Что создаёт вполне очевидные проблемы при загрузке, если и оригинальный раздел, и его клон находятся на внутренних накопителях машины.
К слову сказать, в этом случае клоном наследуется и так называемая метка ( label ), которая тоже атрибут файловой системы. Однако о том, как присваивать и изменять метки для файловых систем различных типов, некогда уже говорилось. А вот как в таком случае быть UUID’ами?
Как обычно, по разному. Во-первых, изменить UUID можно с помощью программы Gparted. Для этого достаточно в разделе с существующей файловой системой вызвать контекстное меню и в выбрать в нём соответствующий пункт:
После чего будет предложено случайным образом сгенерировать новый UUID:
А после согласия — и выполнить это. Что проходит для всех нативных файловых систем Linux’а, кроме btrfs. Есть подозрение — потому что раздел с btrfs по идее должен быть контейнером для её субтомов (suvolumes). Хотя в это дело я не вникал за неактуальностью (для меня). Кстати, для f2fs и nilfs я это тоже не проверял — и по той же причине.
Процедура, как видите, очень простая и не требует никаких особенных познаний, и даже сверки UUID’ов — вероятность их совпадения меньше вероятности встретить динозавра на улице Москвы. Её целесообразно проделать сразу после копирования образа раздела средствами того же Gparted’а. Однако запуск последнего только ради смены UUID’а не всегда целесообразен: только на сканирование разделов в многодисковой конфигурации может уйти немало времени. Так что есть смысл ознакомиться с утилитами CLI, служащими этой же цели.
Для начала — как можно поглядеть UUID’ы существующих разделов? В обычной жизни для этого достаточно команды
которая выведёт полный их список:
она выведет и имена «верхнего уровня», на которые ссылаются UUID’ы
Однако в нашем случае это не пройдёт: UUID клона в выводе команды ls будет потерян, так как имя соответствующей ссылки совпадает с именем её в оригинале. И тогда следует обратиться к специальной утилите blkid , запускаемой обязательно от лица администратора. Например, данная в форме
она выведет UUID’ы всех разделов с файловыми системами на устройстве /dev/sdc (для неформатированных разделов будут даны только их PARTUUID’ы):
В списке присутствует раздел /dev/sdc10 , являющийся клоном раздела /dev/sd5 . Отфильтровав должным образом вывод предыдущей команды, можно убедиться в идентичности их идентификаторов и меток:
Как ликвидировать безобразие с совпадением меток — я уже писал. А для смены UUID’а существует утилита uuid . Соответствующий пакет в установке в mini-установке Ububntu отсутствует, поэтому для начала:
Это не какая-то таинственная штука, а просто генератор случайных последовательностей символов того формата, который используется в качестве универсальных уникальных идентификаторов. И поэтому запуск её (можно — от лица обычного пользователя) ничего, кроме вывода набора цифр и букв, разделённых в нужных местах дефисами, не даёт:
Чтобы этот вывод использовать, его надо приписать к соответствующей файловой системе раздела-клона. Как — зависит от файловой системы. Например, для ext4 это можно сделать, например, так (обращая внимание на форму кавычек):
После чего, повторив команду blkid с тем же фильтром, убедиться, что UUID клона стал отличаться от оригинала:
Разумеется, соответствующий файл появился и в каталоге /dev :
Впрочем, опция -U утилиты tune2fs имеет и собственные значения, позволяющие сгенерировать UUID, произвольный или привязанный к временной метке — random и time , соответственно. С этой целью нечувствительно для применителя вызывается команда uuidgen , которая входит в стандартный пакет util-linux , что имеется в любой системе, и потому никаких дополнительных средств не требует. Правда, мне встречалось мнение, что её рэндомизатор «недостаточно рэндомный». Однако думаю, что для десктопных целей он вполне сгодится:
Кроме того, опция -U утилиты tune2fs может принимать значение clear — при этом UUID устройства, заданного в качестве аргумента команды, ликвидируется как класс. Правда, есть подозрение, что того же результата можно добиться просто удалением соответствующего симлинка из каталога /dev/disk/by-uuid/ .
Сказанное относилось к смене UUID для разделов с файловой системой ext4, работа с которой и поддерживается утилитой tune2fs. Более иные файловые системы, разумеется, потребуют собственных средств. Например, для XFS это будет утилита xfs_admin, входящая в пакет xfsprogs, который и надлежит предварительно установить:
Она имеет аналогичную опцию -U, в качестве значения которой надо подставить вывод команд uuid или uuidgen, для последней, например, так:
Операцию по смене пола UUID’а можно проделать и для разделов с файловыми системами reiserfs и jfs. В первом случае так:
А во втором — так:
Конечно же, предварительно установивши инструментальные пакеты — reiserfsprogs и jfsutils , соответственно.
С прочими нативными файловыми системами Linux’а (btrfs, f2fs, nilfs) предоставляю разбираться заинтересованным лицам. Ну а для ZFS определение UUID’а и тем более его изменение смысла не имеют. Так как ни z-пул, ни его datasets в обыденном смысле монтированию не подлежат.
Источник