Як змінити UUID диска на те, що я хочу?


29

У мене є унікальна ситуація, коли мені потрібно змінити UUID флеш-накопичувача на попередній UUID. Я відформатував його і, очевидно, число змінилося ...

У мене налаштування сервера ubuntu з 1TB hdd і 4 Гб флеш-накопичувачем для завантаження. Grub on hdd налаштований для UUID, який змінився, коли я сформував USB-накопичувач і перевстановив сервер ubuntu. У мене немає зовнішнього монітора, тому я приєдную usb до ноутбука і встановлюю там сервер ... ніж я переміщую його на серверне обладнання.

Як я вже згадував, моя проблема полягає в тому, що мені потрібен usb, щоб повернутися до попереднього UUID, інакше сервер не завантажиться. І я не можу отримати зовнішній монітор до понеділка! :)

Я знаю, що мені потрібно змінити ці файли згодом:

Файли, для яких UUID є найважливішим:

/boot/grub/menu.lst

/etc/fstab

/etc/initramfs-tools/conf.d/resume

Але я не можу знайти в Інтернеті інформацію про налаштування UUID.

Хтось?

Відповіді:


37

Якщо ви використовували ext для цього:

tune2fs /dev/{device} -U {uuid}

З man tune2fs

-У UUID

Встановіть універсально унікальний ідентифікатор (UUID) файлової системи на UUID. Формат UUID є ряд шістнадцяткових цифр , розділених дефісом, наприклад: c1b9d5a2-f162-11cf-9ece-0020afc76f16. Параметр UUID також може бути одним із наступних:

clear  clear the filesystem UUID
random generate a new randomly-generated UUID
time   generate a new time-based UUID

UUID може використовуватися mount (8), fsck (8) та / etc / fstab (5) (і, можливо, інші), вказавши UUID = uuid замість імені спеціального пристрою блоку типу / dev / hda1.


Це спрацювало! Але я не можу знайти: /etc/initramfs-tools/conf.d/resume я виявив, що /boot/grub/menu.lst було перетворено на /boot/grub/grub.cfg

У мене в системі /etc/initramfs-tools/conf.d/resume. І grub.cfg - це справді нове menu.lst (я думаю, що хтось вступив у гру з новим grub2.
Rinzwind

Незалежно від того, що я намагаюся, я отримую помилку при спробі встановити власний UUID (tune2fs: Недійсний формат UUID). Чи є конкретний порядок до речей?
Андрій,

tun2fs не працює на моєму GF диску ZFS, що я там роблю?
Брайан Томас

Дивлячись на відповідь на XFS (xfs_admin), я б запропонував шукати zfs_admin Але не zfs Solaris ?! Як ви бачите, що Ubuntu може допомогти тут?
Rinzwind

14

Я усвідомлюю, що це якесь давнє запитання, але я виявив, що відбулася нова зміна, і саме це google заглянуло до мене, тому я опублікую відповідь, яку я знайшов тут.

коли я спробував змінити uuid моєї кореневої файлової системи (на добре відомий початок і суфікс із серійним номером) на новому ubuntu 14.04, я виявив, що мої жахи tune2fs повідомили про те: я не можу цього зробити на встановленій файловій системі. Я залежу від можливості використання шаблонного зображення з добре відомим uuid та змінити кожну установку на серіалізований uuid. Я виявив, що проблема була непереборною.

Існує прапор, який потрібно вимкнути, щоб дозволити зміни встановленого інтерфейсу з новими настройками. ось як виглядав мій процес:

root@ubuntu1404:~# blkid
/dev/sda1: UUID="2ec827b0-72be-4c73-b58a-102a37aa24a3" TYPE="ext4"
root@ubuntu1404:~# uuid="deafcafe-abba-daba-deca-fc0ffee05065"
root@ubuntu1404:~# root_disk=$(df /|grep /|cut -d' ' -f1)
root@ubuntu1404:~# echo $root_disk
/dev/sda1
root@ubuntu1404:~# tune2fs -U $uuid $root_disk
tune2fs 1.42.9 (4-Feb-2014)
The UUID may only be changed when the filesystem is unmounted.
root@ubuntu1404:~# tune2fs -O ^uninit_bg $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# tune2fs -U $uuid $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# tune2fs -O +uninit_bg $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       7.3G  3.9G  3.0G  58% /
root@ubuntu1404:~# blkid
/dev/sda1: UUID="deafcafe-abba-daba-deca-fc0ffee05065" TYPE="ext4"
root@ubuntu1404:~#

Спасибі. Може бути корисним у майбутньому, але я все ще на 12.04 :)

1
Ви можете використовувати root_disk=$(findmnt -n -o SOURCE /)замість трубопроводів, щоб зібрати та вирізати.
mivk

НЕ РОБИТИ, ЧИ АБО Ви НЕ ВИКОРИСТУєте СВОЮ ФІЛІСИСТЕМУ. Я видалений, потім доданий назад, uninit_bgце призводить до пошкодження метаданих та автоматичного перезапису лише для читання при наступному завантаженні ( ext4_mb_generate_buddy:757: group 1, block bitmap and bg descriptor inconsistent: 3701 vs 3700 free clustersтип повідомлень про помилки). Причина полягає в тому, що tune2fsбезпосередньо змінюється диск, під ногами ядра, і коли ядро ​​потрапляє на оновлення bgметаданих, у половині разів воно фактично пошкоджує метадані! нижня лінія: UUID файлового файлу неможливо безпечно змінити без належного відключення файлової системи.
Ерік

6

Для xfs див man xfs_admin

xfs_admin -U {uuid} {device}

{uuid} можна "створити", щоб просто отримати новий uuid.

Про реізерфи див man tunefs.reiserfs

tunefs.reiserfs -i {uuid} {device}

Для btrfs здається, що uuid використовується, хоча і файлові системи, тому кожен вузол повинен бути оновлений. Ще немає безпечного способу зробити це.


0

5
Ласкаво просимо до Ask Ubuntu! Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Персик
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.