Как изменить uuid диска linux

Если вы много экспериментируете с вашей системой, целесобразно иметь клон вашей системы в соседнем разделе того же диска. Но при создании такого клона необходимо изменить UUID (Universally Unique IDentifier - Универсальный Уникальный ИДентификатор) и метку тома.
Ошибка базы данных: Table ‘a111530_forumnew.rlf1_users’ doesn’t exist

Алексей Дмитриев, 18 августа 2011

А зачем?

Если вы много экспериментируете со своей системой Linux, постоянно пробуете всякие новые программы,
частый гость в репозиториях testing и Sid, пробуете удалить GRUB2 и поставить Grub
Legacy и т.д. и т.п., то у вас, без сомнения, есть запасной клон вашей системы, спрятанный
где-нибудь в надежном месте. О изготовлении таких клонов
я писал в конце 2010 года.

Но, если вы «убили» систему, а клон еще не занял ее место, вы, лишенные привычного рабочего окружения,
некоторое время испытываете определенные неудобства. Поэтому предлагаю для экспериментов иметь клон
вашей системы в соседнем разделе того же диска.

Все эксперименты сначала проводятся на клоне ≈ подопытном кролике, и в случае удачи переносятся
в основной вариант системы.

Как делается клон

Сделать это просто: сначала нужно создать раздел такого же размера, как и образец. Как это сделать,
зависит от ваших навыков и вашего дистрибутива. Программы Gparted и Fdisk доступны
каждому. Раздел можно даже не форматировать, так как он будет полностью переписан.

Затем клонируем систему в новый раздел:

$ sudo dd if=/dev/исходный_раздел of=/dev/целевой_раздел bs=10M

(bs=10M ≈ это величина блока (в данном случае ≈ 10 мегабайт), которыми будет происходить копирование на уровне секторов диска. Чем больше блок, тем быстрее копируется, но и меру нужно знать).

Полученный клон является побайтовой копией оригинала, поэтому он имеет ту же файловую систему со всеми своими суперблоками на тех же местах. Дублируется также и нулевой сектор, недоступный при обычном копировании. Кроме того, при копировании командой cp данные записываются на свободное место, а при клонировании ≈ на то же самое, что и в оригинале. Это приводит к тому, что оригинал и клон имеют абсолютно идентичные файловые системы, одинаковые UUID’ы и метки тома.

Так как мы собираемся пользоваться обеими копиями одновременно, то наличие у них одинаковых UUID’ов и меток (LABEL), неудобно в работе, так как приводит к путанице. Почему и нужно изменить UUID клона и дать ему новую метку.

Изменение UUID раздела

UUID (Universally Unique IDentifier ≈ Универсальный Уникальный ИДентификатор) дается разделу автоматически при его форматировании. UUID записан в суперблоках файловой системы.

Чтобы узнать UUID’ы всех разделов вашей системы нужно применить команду:

$ sudo blkid -c /dev/null

Такой синтаксис команды предпочтителен. Подробное объяснение в статье
«Как узнать UUID’ы разделов?»,
там же описаны другие команды для этой цели.

$ sudo blkid -c /dev/null
...
/dev/sda7: LABEL="squeeze" UUID="96e4e816-6de4-4a18-890d-10e06c57a3b9" TYPE="ext4" 
/dev/sda8: LABEL="squeeze" UUID="96e4e816-6de4-4a18-890d-10e06c57a3b9" TYPE="ext4"

Хотя теоретически можно самостоятельно придумать новый UUID, рекомендуется пользоваться командой
uuid ≈ генератором UUID’ов. Если у вас нет этой команды, то нужно установить пакет
uuid (или соответствующий ему в вашей системе) привычным вам способом.
Команда без лишних слов генерирует новый UUID при каждом запуске.

$ uuid
342724be-c948-11e0-9055-000c6e1ac553

$ uuid
46492296-c948-11e0-b30e-000c6e1ac553

Поскольку UUID есть атрибут файловой системы, то для его изменения применяется команда tune2fs, служащая для настройки файловых систем ext2, ext3, ext4.

$ sudo tune2fs /dev/sda8 -U `uuid`

tune2fs 1.42-WIP (02-Jul-2011)

Проверим, что получилось:

$ sudo blkid -c /dev/null

/dev/sda7: LABEL="squeeze" UUID="96e4e816-6de4-4a18-890d-10e06c57a3b9" TYPE="ext4" 
/dev/sda8: LABEL="squeeze" UUID="567d4886-c894-11e0-88a6-000c6e1ac553" TYPE="ext4"

Отлично! Теперь займемся меткой тома.

Как изменить метку тома

Для чего вообще нужна метка тома? Дело в том, что в современных операционных системах все определение и монтаж / демонтаж разделов происходит автоматически при помощи udev и HAL. Если раздел не имеет метки тома, то он будет примонтирован как безликий /media/disk . А если разделов много, то разобраться где какой disk можно только «методом тыка». Другое дело, если раздел имеет LABEL (метку тома). В этом случае он и будет примонтирован под понятным вам именем. Кроме того, метку тома можно прописывать, как и UUID, в /etc/fstab и прочих конфигурационных файлах. Это даже удобнее, чем UUID’ы, так как сразу видно, что это за раздел.

Узнать, какой раздел кроется за данной меткой тома, можно при помощи команды:

$ sudo findfs LABEL=squeeze

/dev/sda7

Если вы часто удаляете / создаете разделы, то их имена (/dev/sdxx) могут измениться, зато UUID и LABEL останутся неизменными и никакой путаницы в конфигах не произойдет.

Итак, два раздела с одинаковой меткой тома ≈ это нонсенс! Давайте менять метку. Для этого применяется команда e2label. Она не входит в стандартный набор команд, поэтому скорее устанавливайте одноименный пакет. Пользоваться ей просто ≈ пишем имя раздела и за ним новый LABEL:

$ sudo e2label /dev/sda8 clone

Проверяем:

$ sudo blkid -c /dev/null

/dev/sda7: LABEL="squeeze" UUID="96e4e816-6de4-4a18-890d-10e06c57a3b9" TYPE="ext4" 
/dev/sda8: LABEL="clone" UUID="567d4886-c894-11e0-88a6-000c6e1ac553" TYPE="ext4"

Теперь наш основной рабочий раздел (/dev/sda7 «squeeze») и его клон (/dev/sda8 «clone») имеют свои уникальные UUID’ы и понятные метки тома.

Чего и всем желаю!

Если вам понравилась статья, поделитесь ею с друзьями:


Комментарии

Главная » Linux » Как изменить UUID оборудования в Linux

Опубликовано 24.05.2021

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

UUID обычно изменяется при форматировании или повторном разделении диска, а так же когда файловая система по какой-то причине пострадала.

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

Изменение UUID в Linux

Как изменить 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 диска, введите:

$ blkid /dev/sdb

Ответ терминала:

/dev/sdb: UUID="f2cf4598-c725-4ef1-8ab6-e2cdc6028a33" TYPE="ext4"

Чтобы изменить UUID файловой системы, вам нужно размонтировать ее.

Раздел /dev/sdb монтируется в /mnt/data. Чтобы размонтировать, введите:

$ umount /mnt/data

Как только устройство размонтировано, используйте команду tune2fs, с параметром -U. Это сгенерирует случайный UUID.

$ tune2fs -U random /dev/sdb

Ответ терминала:
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 требуется выполнить следующую команду для проверки изменений.

$ blkid | grep sdb

Ответ терминала Linux:

dev/sdb: UUID="af406bcd-cddb-4095-8456-fdf8dfe37665" TYPE="ext4"

После изменения существующего UUID обязательно обновите все ссылки на старые метки в файле /etc/fstab.

$ vi /etc/fstab

UUID="af406bcd-cddb-4095-8456-fdf8dfe37665" /mnt/data ext4 по умолчанию 0 2

Теперь смонтируйте размонтированную файловую систему обратно.

$ mount /mnt/data

Заключение

Вот и все. В этой которой статье подробно расписано, как изменить UUID в Linux с помощью команды tune2fs.

I have an unique situation where I need to change UUID of usb flash drive to previous UUID. I formatted it and obviously number changed…

I’ve ubuntu server setup with 1TB hdd, and 4GB usb flash drive to boot from. Grub on hdd is configured for UUID which changed when I formated usb drive and reinstalled ubuntu server. I’ve no external monitor, so I attach usb to laptop and install server there… than I move it to server hardware.

As I mentioned my problem is that I need usb to go back to previous UUID, otherwise server won’t boot. And I cannot get external monitor till monday! :)

I know I need these files changed afterwards:

The files for which UUID is most critical:

/boot/grub/menu.lst

/etc/fstab

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

But I cannot find anywhere on the net info about customizing UUID.

Anyone?

muru's user avatar

muru

189k52 gold badges460 silver badges711 bronze badges

asked May 5, 2012 at 13:48

If you used ext for it:

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

From man tune2fs

-U UUID

Set the universally unique identifier (UUID) of the filesystem to UUID. The format of the UUID is a series of hex digits separated by hyphens, like this: c1b9d5a2-f162-11cf-9ece-0020afc76f16. The UUID parameter may also be one of the following:

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

The UUID may be used by mount(8), fsck(8), and /etc/fstab(5) (and possibly others) by specifying UUID=uuid instead of a block special device name like /dev/hda1.

answered May 5, 2012 at 14:02

Rinzwind's user avatar

RinzwindRinzwind

288k39 gold badges561 silver badges701 bronze badges

6

I realize this is kind of an old question, but I found there was a new change, and this was what google snooped up for me, so I’ll post the answer I found here.

when I tried to change my root filesystem’s uuid (to a well known beginning and a serial number suffix) on new 14.04 ubuntu, I found to my horror tune2fs reported back: I can’t do that to mounted file systems. I depend on being able to use a template image with a well known uuid, and change each install to a serialized uuid. I found the problem wasn’t insurmountable.

There’s a flag that needs to be disabled, to allow mounted-uuid changes with the new tune2fs. this is what my process looked like:

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:~#

answered May 1, 2014 at 18:42

kvm-user420's user avatar

kvm-user420kvm-user420

5575 silver badges5 bronze badges

3

For xfs see man xfs_admin

xfs_admin -U {uuid} {device}

{uuid} can be ‘generate’ to just get a new uuid.

For reiserfs see man tunefs.reiserfs

tunefs.reiserfs -i {uuid} {device}

For btrfs it seems the uuid is used thoughout the file systems so every node have to be updated. There is no safe way to do that yet.

answered Oct 3, 2012 at 6:36

Sylwester's user avatar

SylwesterSylwester

7155 silver badges17 bronze badges

answered Aug 20, 2012 at 18:10

tetcas's user avatar

1

Just a hint: On my 20.04 system, blkid continued to report the old UUID after running:

sudo tune2fs -U "sudo tune2fs -U "4fa4fa92-8b6a-4597-8481-d0897bdf86fe" /dev/sdb1

blkid /dev/sdb1 reported the new UUID only after checking the partition with GParted. Until then, always the old UUDI was reported by blkid.
Of course, reboot would help as well.

answered Jan 15, 2021 at 10:36

Wolfgang Bosswick's user avatar

1

Besides of ext2 /ext3 / ex4 and xfs, you can also change UUID of the following filesystem or block device or PARTUUID of GPT partition.

Swap

swaplabel -U $NEW_UUID

Software RAID (md raid)

For MD RAID, you must stop the RAID first, then update the UUID when re-assembling. So if your RAID is mounted to /, you can’t stop it, you need update UUID in offline mode — use a live CD/USB to do it.

  1. mdadm --stop $RAID_DEVICE
  2. mdadm --assemble $RAID_DEVICE --update=uuid --uuid=$NEW_UUID $MEMBER_DEVICES...

Example:

  1. mdadm --stop /dev/md127
  2. mdadm --assemble /dev/md127 --update=uuid --uuid=2A1D2A1D-2A1D-2A1D-2A1D-2A1D2A1D2A1D /dev/sda2 /dev/sdb2

After UUID been updated, you may need to update grub.cfg (rd.md.uuid=$NEW_UUID in linux/linuxefi/linux16 command line) and/or fstab and/or mdadm.conf and/or update-initramfs (Debian family) and/or dracut --force (Red Hat family) so that you can boot successfully next time.

LUKS (cryptsetup)

cryptsetup luksUUID --uuid=$NEW_UUID $LUKS_DEVICE

Example:

cryptsetup luksUUID --uuid=e0c0e0c0-e0c0-e0c0-e0c0-e0c0e0c0e0c0 ~/encrypted-LUKS.loop

NTFS file system

There’s ntfslabel utility (thanks to ntfs-3g) to change UUID of NTFS file system. See abchk1234’s answer.

In case you wanna change the whole UUID of NTFS file system instead of --new-half-serial, use the --new-serial option.

Example:

ntfslabel --new-serial=1122334455667788 /dev/sda3

FAT / exFAT file system

This is another story here, currently there’re no utilities to modify the filesystem UUID of these filesystems (See reichhart’s answer — the mlabel tool), but we can modify raw data on disk to do this.

WARNING, it’s dangerous to modify raw data on disk, and could lost data without careful operation.

Here’s detail steps to modify raw data on disk using hexedit.

  1. blkid, write down the UUID of filesystem to paper, or remember it. The UUID string of FAT / exFAT looks like 1122-3344, UUID string of NTFS looks like 1122334455667788.

  2. Open partition device using hexedit

    hexedit <partition device such as /dev/sda1>

  3. Press /, enter the UUID in reverse order (if blkid reported 1234-ABCD, then search CDAB3412) to search the UUID data on disk.

  4. Once UUID is located, change them, press F2 to save and exit.

  5. blkid to verify the UUID.

  6. Once UUID is modified, you may need to update grub.cfg and/or fstab so that you can boot successfully next time.

  7. Execute fsck <partition device such as /dev/sda1> and see a «There are differences between boot sector and its backup» message. In order to solve it, select «1) Copy original to backup», and if you are asked «Perform changes ? (y/n)» you press y.


PARTUUID of GPT partition

A short story: I never thought I will need to touch PARTUUID of GPT partition, until now, when I try to migrate Windows from a small disk to a large disk, Windows failed to boot on the large disk and it can’t even be repaired automatically. The reason is that changing UUID of NTFS file system to the original one isn’t enough for Windows + UEFI, you also need to change the PARTUUID of GPT partition — PARTUUID matter. (After changed PARTUUID to the original one, Windows successfully booted from the large disk.)

There’s already an answer here on askubuntu.com to show how to change PARTUUID of GPT partition using gdisk utility.

The current version of fdisk (2.35.2 in Fedora 32 repositories at the time of editing) from util-linux can do that too in expert mode, in fact, starting from util-linux v2.23, fdisk has been GPT-enabled.

Here’s an example of changing PARTUUID using util-linux fdisk utility:

# truncate -s 200M /tmp/file-as-a.disk 

# LANG=en_US.UTF-8 fdisk /tmp/file-as-a.disk 

Welcome to fdisk (util-linux 2.35.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xc0fc8503.

Command (m for help): g
Created a new GPT disklabel (GUID: 4CD23B97-80C5-BD42-8466-1B9476653A92).

Command (m for help): n
Partition number (1-128, default 1): 
First sector (2048-409566, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-409566, default 409566): 

Created a new partition 1 of type 'Linux filesystem' and of size 199 MiB.

Command (m for help): i
Selected partition 1
         Device: /tmp/file-as-a.disk1
          Start: 2048
            End: 409566
        Sectors: 407519
           Size: 199M
           Type: Linux filesystem
      Type-UUID: 0FC63DAF-8483-4772-8E79-3D69D8477DE4
           UUID: 7265D7C3-6277-DE4B-956C-41E3BFFF8E0D

Command (m for help): w
The partition table has been altered.
Syncing disks.

# LANG=en_US.UTF-8 fdisk /tmp/file-as-a.disk 

Welcome to fdisk (util-linux 2.35.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): x

Expert command (m for help): m

Help (expert commands):

  GPT
   i   change disk GUID
   n   change partition name
   u   change partition UUID
   l   change table length
   M   enter protective/hybrid MBR

   A   toggle the legacy BIOS bootable flag
   B   toggle the no block IO protocol flag
   R   toggle the required partition flag
   S   toggle the GUID specific bits

  Generic
   p   print the partition table
   v   verify the partition table
   d   print the raw data of the first sector from the device
   D   print the raw data of the disklabel from the device
   f   fix partitions order
   m   print this menu

  Save & Exit
   q   quit without saving changes
   r   return to main menu


Expert command (m for help): u
Selected partition 1

New UUID (in 8-4-4-4-12 format): 11223344-5566-7788-9900-AABBCCDDEEFF

Partition UUID changed from 7265D7C3-6277-DE4B-956C-41E3BFFF8E0D to 11223344-5566-7788-9900-AABBCCDDEEFF.

Expert command (m for help): w
w: unknown command

Expert command (m for help): r

Command (m for help): w

The partition table has been altered.
Syncing disks.

# losetup --partscan /dev/loop101 /tmp/file-as-a.disk

# blkid /dev/loop101*
/dev/loop101: PTUUID="4cd23b97-80c5-bd42-8466-1b9476653a92" PTTYPE="gpt"
/dev/loop101p1: PARTUUID="11223344-5566-7788-9900-aabbccddeeff"

In this short tutorial, you are going to learn how to change the UUID of a Linux partition. This can help you in a less likely to happen scenario when the UUID of two partitions are the same.

In reality, this is really hard to happen, but it is still possible, if for example you copy a partition using dd command.

What is UUID?

UUID stands for Universally Unique IDentifier of a partition. This ID is used in few different places to identify the partition. Most commonly this would be /etc/fstab.

How to Find UUID of Your Filesystems

To find the UUID of your partitions, you can use blkid command as shown.

# blkid|grep UUID

Find Partition UUID in Linux

Find Partition UUID in Linux

How to Change UUID of Your Filesystems

Changing UUID of a filesystem is fairly easy. To do this, we are going to use tune2fs. For the purpose of this tutorial, I will change the UUID on my second partition /dev/sdb1, yours may vary, thus make sure you are changing the UUID of the desired filesystem.

The partition has to be unmounted prior apply the new UUID:

# umount /dev/sdb1
# tune2fs -U random /dev/sdb1 
# blkid | grep sdb1

Change Partition UUID in Linux

Change Partition UUID in Linux

The UUID has been successfully changed. Now you can mount the filesystem back again.

# mount /dev/sdb1

You can also update your /etc/fstab if needed, with the new UUID.

Conclusion

This was a short tutorial how to change a Linux partition UUID. The scenarios to use this are very rare and chances are that you will most probably use this on a local machine.

Tutorial Feedback…

Was this article helpful? If you don’t find this article helpful or found some outdated info, issue or a typo, do post your valuable feedback or suggestions in the comments to help improve this article…

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Содержание

  1. Как изменить UUID раздела и его метку
  2. А зачем?
  3. Как делается клон
  4. Изменение UUID раздела
  5. Как изменить метку тома
  6. Изменение UUID’а
  7. Работа с файловой системой Linux
  8. Основные команды
  9. Работа с файловой системой в Linux
  10. Создание файловой системы
  11. Изменение метки файловой системы
  12. Настройка файловой системы linux
  13. Изменение размера файловой системы Linux
  14. Проверка файловой системы Linux
  15. Дефрагментация файловой системы
  16. Выводы
  17. Как изменить UUID оборудования в Linux
  18. Изменение UUID в Linux
  19. Заключение
  20. Команда fdisk в Linux
  21. Опции и синтаксис fdisk
  22. Примеры использования команды fdisk
  23. 2. Интерактивный режим
  24. 3. Просмотр таблицы разделов
  25. 4. Создание таблицы разделов
  26. 5. Создание разделов
  27. 6. Тип раздела
  28. 7. Удаление раздела
  29. 8. Загрузочный раздел
  30. 9. Применение изменений
  31. Выводы

Как изменить 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’а

Причина, подозреваю, в том, что её ранний, текстовый, инсталлятор (ныне именуемый альтернативным, и уцелевший только в Lubutu и в mini.iso) не обеспечивал корректного определения имён «верхнего уровня» в многодисковых системах с внешними накопителями. А, как известно, большую часть того, что придумывают в Ubuntu, рано или поздно, после явного периода смешков и сарказмов, втихаря обезъянничают в большинстве других дистрибутивов. Вне зависимости от того, хорошо это было придумано, или плохо.

Умолчальное именование by-uuid (в частности, в /etc/fstab ) с точки зрения применителя было придумано… скажем так, неоднозначно. Конечно, эта модель делает имена блочных устройств независимыми, например, от перетыкания кабелей в разъёмы (кто из читающих эти строки проделывает данную процедуру ежедневно перед завтраком?). Но, как это ни парадоксально, UUID’ы, вопреки своему названию, как раз уникальности имён и не обеспечивают. В частности, при копировании образа раздела командой dd (или графической утилитой Gparted) клон наследует свой UUID от оригинала. Что создаёт вполне очевидные проблемы при загрузке, если и оригинальный раздел, и его клон находятся на внутренних накопителях машины.

К слову сказать, в этом случае клоном наследуется и так называемая метка ( label ), которая тоже атрибут файловой системы. Однако о том, как присваивать и изменять метки для файловых систем различных типов, некогда уже говорилось. А вот как в таком случае быть UUID’ами?

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

uuid 001

После чего будет предложено случайным образом сгенерировать новый UUID:

uuid 002

А после согласия — и выполнить это. Что проходит для всех нативных файловых систем Linux’а, кроме btrfs. Есть подозрение — потому что раздел с btrfs по идее должен быть контейнером для её субтомов (suvolumes). Хотя в это дело я не вникал за неактуальностью (для меня). Кстати, для f2fs и nilfs я это тоже не проверял — и по той же причине.

Процедура, как видите, очень простая и не требует никаких особенных познаний, и даже сверки UUID’ов — вероятность их совпадения меньше вероятности встретить динозавра на улице Москвы. Её целесообразно проделать сразу после копирования образа раздела средствами того же Gparted’а. Однако запуск последнего только ради смены UUID’а не всегда целесообразен: только на сканирование разделов в многодисковой конфигурации может уйти немало времени. Так что есть смысл ознакомиться с утилитами CLI, служащими этой же цели.

Для начала — как можно поглядеть UUID’ы существующих разделов? В обычной жизни для этого достаточно команды

которая выведёт полный их список:

она выведет и имена «верхнего уровня», на которые ссылаются UUID’ы

она выведет UUID’ы всех разделов с файловыми системами на устройстве /dev/sdc (для неформатированных разделов будут даны только их PARTUUID’ы):

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

Чтобы этот вывод использовать, его надо приписать к соответствующей файловой системе раздела-клона. Как — зависит от файловой системы. Например, для ext4 это можно сделать, например, так (обращая внимание на форму кавычек):

После чего, повторив команду blkid с тем же фильтром, убедиться, что UUID клона стал отличаться от оригинала:

Разумеется, соответствующий файл появился и в каталоге /dev :

Сказанное относилось к смене UUID для разделов с файловой системой ext4, работа с которой и поддерживается утилитой tune2fs. Более иные файловые системы, разумеется, потребуют собственных средств. Например, для XFS это будет утилита xfs_admin, входящая в пакет xfsprogs, который и надлежит предварительно установить:

Операцию по смене пола UUID’а можно проделать и для разделов с файловыми системами reiserfs и jfs. В первом случае так:

С прочими нативными файловыми системами Linux’а (btrfs, f2fs, nilfs) предоставляю разбираться заинтересованным лицам. Ну а для ZFS определение UUID’а и тем более его изменение смысла не имеют. Так как ни z-пул, ни его datasets в обыденном смысле монтированию не подлежат.

Источник

Работа с файловой системой Linux

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

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

В этой статье мы рассмотрим как выполняется работа с файловой системой Linux в терминале. За основу возьмем семейство файловых систем ext2/3/4, так как они самые распространенные среди большого многообразия дистрибутивов Linux.

Основные команды

Для управления файловой системой ext в Linux используется целый набор команд из пакета e2progs. Сюда входят как команды для управления флагами файлов, создания и изменения файловых систем, так и утилиты для отладки файловой системы.

Рассмотрим основные утилиты, которые будем использовать:

А теперь будет рассмотрена работа с файловой системой linux на примерах.

Работа с файловой системой в Linux

Перед тем как переходить к работе с реальным жестким диском важно попрактиковаться. Если сменить метку или проверить на битые сектора можно и рабочий диск, то создавать новую файловую систему, изменять ее размер, рискуя потерять данные на реальном диске не рекомендуется. Можно отделить небольшой раздел диска для экспериментов с помощью Gparted и выполнять все действия в нем. Допустим, у нас этот раздел будет называться /dev/sda6.

Создание файловой системы

Создать файловую систему linux, семейства ext, на устройстве можно с помощью команды mkfs. Ее синтаксис выглядит следующим образом:

Доступны дополнительные параметры:

Создаем файловую систему на нашем устройстве. Будем создавать ext3:

Creating filesystem with 7847168 4k blocks and 1962240 inodes
Filesystem UUID: 3ba3f7f5-1fb2-47af-b22c-fa4ca227744a
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Изменение метки файловой системы

sudo e2label /dev/sda6

sudo e2label /dev/sda6 root1

Настройка файловой системы linux

Различные параметры файловой системы, такие как размер блока данных, иноды или зарезервированное место под данные пользователя root можно настроить. Для этого существует утилита tune2fs.

Синтаксис команды очень прост:

$ tune2fs опции устройство

Поддерживаются следующие опции:

Изменить размер зарезервированного места для суперпользователя до пяти процентов:

Setting reserved blocks percentage to 5% (392358 blocks)

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

Filesystem volume name: root
Last mounted on: /
Filesystem UUID: 3ba3f7f5-1fb2-47af-b22c-fa4ca227744a
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg spar
se_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux

Изменить счетчик количества монитрований:

Setting current mount count to 0

Думаю тут смысл понятен, нужно только немного со всем этим поэкспериментировать.

После этого действия нужно выполнить проверку файловой системы на ошибки в fsck. Подробнее об этом поговорим ниже.

Таким образом вы можете изменить файловую систему linux, и настроить по своему усмотрению любые ее параметры.

Изменение размера файловой системы Linux

Запустить утилиту очень просто. Ей нужно передать всего два параметра:

$ resize2fs [опции] устройство размер

Доступны также опции:

Размер передается, как и во многих других утилитах, целым числом с указанием единиц измерения, например, 100М или 1G.

Для примера уменьшим размер нашего раздела до 400 Мегабайт:

sudo resize2fs /dev/sda6 400M

Resizing the filesystem on /dev/sda7 to 102400 (4k) blocks.
The filesystem on /dev/sda7 is now 102400 blocks long

Проверка файловой системы Linux

При неправильном отключении носителей или неожиданном отключении питания, файловая система Linux может быть повреждена. Обычно проверка корневой файловой системы и домашнего каталога на ошибки выполняется во время загрузки. Но если эта проверка не была выполнена или нужно поверить другой носитель, придется все делать вручную. Для этого есть утилита fsck.

$ fsck [опции] устройство

Проверка файловой системы Linux выполняется такой командой, проверим диск /dev/sda6, заметьте, что диск должен быть не примонтирован:

root: clean, 11/32704 files, 37901/102400 blocks

Дефрагментация файловой системы

Хотя и фрагментация нехарактерное явление для файловых систем семейства ext, при очень интенсивном использовании может накапливаться фрагментированость, что будет замедлять работу файловой системы. Для дефрагментации можно использовать стандартную утилиту e4defrag. Просто выполните:

Total/best extents 26247/24953
Average size per extent 1432 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sda6) does not need defragmentation.
Done.

Выводы

В одной из предыдущих статей мы рассмотрели как выполняется разметка диска с помощью parted. Из этой статьи вы узнали все что нужно о работе с файловой системой. Теперь у вас не возникнет проблем если у вас вдруг не будет доступа к графическим утилитам и нужно будет исправлять ошибки или настраивать файловую систему. Если остались вопросы, спрашивайте в комментариях!

Источник

Как изменить 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.

После изменения 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.

Источник

Команда fdisk в Linux

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

Опции и синтаксис fdisk

Синтаксис утилиты ничем не отличается от других команд Linux:

$ fdisk опции устройство

Ей надо передать опции, согласно действия, которое вы хотите выполнить, а также раздел диска или устройство к которому эти действия надо применить. Давайте теперь рассмотрим опции fdisk:

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

Теперь вы знаете основные опции и команды fdisk, давайте рассмотрим использование программы.

Примеры использования команды fdisk

1. Список дисков и разделов

Snimok ekrana ot 2020 08 05 20 59 18

2. Интерактивный режим

Большинство операций fdisk по разметке дисков выполняются в интерактивном режиме. Чтобы запустить fdisk в интерактивном режиме передайте утилите блочное устройство которое надо разметить. В моём примере, это /dev/nvme0n1:

sudo fdisk /dev/nvme0n1

Snimok ekrana ot 2020 08 05 21 15 17

Вам не обязательно возвращаться к этой статье, когда вы захотите снова поработать с программой, посмотреть доступные команды можно выполнив команду m:

3. Просмотр таблицы разделов

Чтобы посмотреть текущий тип таблицы разделов, а также доступные разделы на диске используйте команду p:

Snimok ekrana ot 2020 08 05 21 16 01

В данном примере на диске уже есть несколько разделов, а таблица разделов используется MBR (dos).

4. Создание таблицы разделов

Давайте создадим новую таблицу разделов GPT. Для этого используйте команду g. Для таблицы разделов MBR нам бы понадобилась команда o.

Snimok ekrana ot 2020 08 05 21 21 23

5. Создание разделов

Чтобы создать раздел используйте команду n. Команда спросит какой номер раздела надо присвоить этому разделу, затем спросит сектор начала раздела, эти значения можно оставить по умолчанию, так как утилита предлагает минимальные доступные. Далее надо указать размер раздела. Это можно сделать тремя способами:

Давайте создадим три раздела разными способами:

Snimok ekrana ot 2020 08 05 21 24 36

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

Во втором способе укажем размер раздела в секторах. Для получения раздела размером 1 гигабайт нам понадобится примерно 2 000 000 секторов. По умолчанию размер сектора 512 байт, поэтому 2 000 000 * 512 получится примерно 1024 000 000 байт:

Snimok ekrana ot 2020 08 05 21 30 53

И в третьем способе с помощью калькулятора добавим к первому сектору раздела те же два миллиона:

Snimok ekrana ot 2020 08 05 21 36 07

На этом создание разделов fdisk завершено. А вот форматирование разделов в fdisk невозможно, для этого придется воспользоваться утилитой mkfs.

6. Тип раздела

Кроме обычных разделов для пользовательских файлов существуют и другие типы разделов, например раздел EFI, BIOS boot, Windows Recovery, Linux swap, этот тип влияет на назначение раздела, например, раздел EFI не будет использоваться пока для него не будет выбран правильный тип. Чтобы изменить тип раздела используйте команду t:

Для вывода всех доступных типов и их номеров используйте команду L:

Snimok ekrana ot 2020 08 05 21 40 52

Для выхода из списка разделов нажмите q, а затем просто наберите номер нужного типа:

Snimok ekrana ot 2020 08 05 21 41 04

7. Удаление раздела

Чтобы удалить раздел выполните команду d, а затем введите его номер:

Snimok ekrana ot 2020 08 05 21 43 40

Вот так просто выполняется удаление.

8. Загрузочный раздел

При загрузке компьютера с диска, на котором используется таблица разделов MBR, BIOS ищет раздел, отмеченный как загрузочный и начинает искать загрузчик именно на нём. Чтобы сделать раздел загрузочным если он ещё не загрузочный или наоборот сделать его не загрузочным используйте команду a:

Загрузочность отмечается звездочкой в выводе команды p. В таблице разделов GPT для записи загрузчика используется раздел с типом BIOS boot, а флага загрузочности здесь уже нет.

9. Применение изменений

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

Snimok ekrana ot 2020 08 05 21 47 29

После записи изменений программа завершится.

Выводы

В этой статье мы рассмотрели как пользоваться fdisk в Linux, как создавать разделы с помощью этой утилиты, а также как выбрать тип диска. Несмотря на все возможности утилиты намного удобнее пользоваться gparted или же cfdisk если надо разметить диск в терминале. Последнюю мы разберем в одной из следующих статей.

Источник

Понравилась статья? Поделить с друзьями:
  • Как изменить uuid виртуальной машины
  • Как изменить uuid virtualbox
  • Как изменить userprofile windows 10
  • Как изменить username twitter
  • Как изменить username spotify