Как изменить метку тома 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’ы и понятные метки тома.

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

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


Комментарии

Содержание

  1. Работа с файловой системой Linux
  2. Основные команды
  3. Работа с файловой системой в Linux
  4. Создание файловой системы
  5. Изменение метки файловой системы
  6. Настройка файловой системы linux
  7. Изменение размера файловой системы Linux
  8. Проверка файловой системы Linux
  9. Дефрагментация файловой системы
  10. Выводы
  11. Persistent block device naming (Русский)
  12. Contents
  13. Методы постоянного именования
  14. by-label
  15. by-uuid
  16. by-id и by-path
  17. by-partlabel
  18. by-partuuid
  19. Постоянные имена устройств с использованием udev
  20. Использование постоянных имён
  21. fstab
  22. Параметры ядра

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

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

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

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

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

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

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

  • badblocks — если у вас старый жесткий диск и на нем накопилось много битых блоков, вы можете с помощью этой утилиты пометить их все на уровне файловой системы, чтобы больше не использовать.
  • e2label — позволяет изменить метку раздела с файловой системой ext.
  • fsck — проверка файловой системы linux и исправление найденных ошибок
  • mkfs — позволяет создать файловую систему Linux.
  • resize2fs — изменить размер раздела с файловой системой
  • tune2fs — позволяет изменить файловую систему Linux, настроить ее параметры.

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

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

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

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

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

sudo mkfs -t тип устройство

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

  • — проверить устройство на наличие битых секторов
  • -b — размер блока файловой системы
  • -j — использовать журналирование для ext3
  • -L — задать метку раздела
  • -v — показать подробную информацию о процессе работы
  • -V — версия программы

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

sudo mkfs -t ext4 -L root /dev/sda6

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

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

Утилита e2label позволяет изменить или посмотреть метку раздела диска. Принимает всего два параметра — устройство и новую метку если нужно.

sudo e2label /dev/sda6

sudo e2label /dev/sda6 root1

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

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

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

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

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

  • -j — создать файл журнала. Позволяет превратить файловую систему ext2 в ext3.
  • -J — настроить параметры журнала
  • -l — получить содержимое суперблока
  • -L — изменить метку раздела
  • -m — изменить процент дискового пространства, зарезервированного для суперпользователя
  • -M — изменить последнюю папку монтирования
  • -U — задать UUID файловой системы
  • -C — изменить значение счетчика монтирования
  • -T — изменить последнюю дату проверки файловой системы
  • — изменить периодичность проверок файловой системы с помощью fsck
  • -O — изменить опции файловой системы.

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

sudo tune2fs -m 5 /dev/sda6

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

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

tune2fs -C 0 /dev/sda6

Setting current mount count to 0

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

С помощью опции -O мы вообще можем превратить нашу ext3 в ext4 следующей командой:

sudo tune2fs -O extents,uninit_bg,dir_index

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

sudo fsck -np /dev/sda6

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

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

Раньше такая функция поддерживалась в утилите parted, но потом ее убрали и для этого действия приходится использовать утилиту из набора e2fsprogs — resize2fs.

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

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

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

  • -M уменьшить файловую систему до минимального размера
  • -f — принудительное изменение, не смотря на потерю данных
  • -F — очистить буфер файловой системы

Размер передается, как и во многих других утилитах, целым числом с указанием единиц измерения, например, 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 [опции] устройство

  • -p — автоматическое восстановление
  • -n — только проверка, без восстановления
  • -y — ответить да на все запросы программы
  • — проверить на битые сектора (аналог badblocks
  • -f — принудительная проверка, даже если раздел помечен как чистый
  • -j — внешний журнал файловой системы

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

sudo fsck -a /dev/sda6

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

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

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

Чтобы проверить нужна ли дефрагментация в Linux выполните эту же команду с опцией -c:

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.

В поле Fragmentation score отображен процент фрагментации, как видите, у меня 0, нормой считается до 30, 31-55 небольшие проблемы, и больше 56 — нужна дефрагментация.

Выводы

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

Источник

Persistent block device naming (Русский)

Эта статья описывает, как использовать постоянные имена для ваших блочных устройств. Это стало возможным благодаря введению udev и имеет переимущества перед именами, основанными на используемых шинах. Если на вашем компьютере несколько контроллеров дисков SATA, SCSI или IDE, порядок добавления устройств может быть любым. Это может привести к тому, что устройства наподобие /dev/sda и /dev/sdb будут меняться местами при каждой загрузке, что может привести к невозможности загрузки системы, панике ядра или исчезновению блочного устройства. Использование постоянных имён решает подобные проблемы.

Contents

Методы постоянного именования

Подкаталоги внутри /dev/disk/ создаются и удаляются автоматически в соответствии с подключенными в данный момент устройствами.

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

Можно использовать команду lsblk для просмотра первых постоянных схем:

Для GPT используйте команду blkid . Она более удобна для скриптов, но читается труднее.

by-label

Почти каждый тип файловой системы позволяет задать метку. Все разделы с метками есть в каталоге /dev/disk/by-label .

Большинство файловых систем поддерживают установку метки при создании файловой системы; смотрите справочные страницы соответствующих утилит mkfs.* . Для некоторых файловых систем также возможно изменение меток. Ниже приведены некоторые методы изменения меток в распространённых файловых системах:

swap swaplabel -L «новая метка» /dev/XXX с помощью util-linux ext2/3/4 e2label /dev/XXX «новая метка» с помощью e2fsprogs btrfs btrfs filesystem label /dev/XXX «новая метка» с помощью btrfs-progs reiserfs reiserfstune -l «новая метка» /dev/XXX с помощью reiserfsprogs jfs jfs_tune -L «новая метка» /dev/XXX с помощью jfsutils xfs xfs_admin -L «новая метка» /dev/XXX с помощью xfsprogs fat/vfat fatlabel /dev/XXX «новая метка» с помощью dosfstools mlabel -i /dev/XXX ::»новая метка» с помощью mtools exfat tune.exfat -L «новая метка» /dev/XXX с помощью exfatprogs exfatlabel /dev/XXX «новая метка» с помощью exfatprogs или exfat-utils ntfs ntfslabel /dev/XXX «новая метка» с помощью ntfs-3g udf udflabel /dev/XXX «новая метка» с помощью udftools crypto_LUKS (LUKS2 only) cryptsetup config —label=»новая метка» /dev/XXX с помощью cryptsetup

Узнать метку устройства можно с помощью lsblk:

by-uuid

UUID — это механизм присвоения каждой файловой системе уникального идентификатора. Эти идентификаторы генерируются утилитами файловой системы (например, mkfs.* ) при форматировании устройства и разработаны таким образом, что случайные совпадения разных идентификаторов маловероятны. Все файловые системы GNU/Linux (включая подкачку и LUKS-заголовки устройств с шифрованием) поддерживают UUID. Файловые системы FAT, exFAT и NTFS не поддерживают UUID, но отображаются в /dev/disk/by-uuid/ с более коротким UID (уникальным идентификатором):

Узнать UUID устройства можно с помощью lsblk:

Преимущество использования метода UUID в том, что вероятность возникновения конфликтов гораздо меньше, чем при использовании меток. Кроме того, он генерируется автоматически при создании файловой системы. Например, он останется уникальным, даже если устройство подключено к другой системе (которая может иметь собственное устройство с такой же меткой).

Недостатком является то, что UUID затрудняют чтение длинных строк кода и нарушают форматирование во многих файлах конфигурации (например, fstab или crypttab). Кроме того, каждый раз при форматировании создаётся новый UUID, и файлы конфигурации придётся обновлять вручную.

by-id и by-path

by-id создаёт уникальное имя по серийному номеру оборудования, by-path по кратчайшему физическому пути (согласно sysfs). Оба содержат строки, указывающие, к какой подсистеме они принадлежат (т. е. pci- для by-path и ata- для by-id ), поэтому они связаны с аппаратным обеспечением, управляющим устройством. Это подразумевает разные уровни постоянности: by-path изменится при подключении устройства к другому порту контроллера, by-id изменится при подключении устройства к порту аппаратного контроллера, связанного с другой подсистемой. [1] Таким образом, оба не подходят для достижения постоянного именования, устойчивого к аппаратным изменениям.

Однако оба они предоставляют важную информацию для поиска конкретного устройства в большой аппаратной инфраструктуре. Например, если вы не назначаете постоянные метки вручную ( by-label или by-partlabel ) и сохраняете каталог с использованием аппаратного порта, by-id и by-path можно использовать для поиска определённого устройства. [2] [3]

by-id также создаёт ссылки World Wide Name для устройств, которые его поддерживают. В отличие от других ссылок by-id , WWN полностью постоянны и не изменяются в зависимости от используемой подсистемы.

by-partlabel

GPT позволяет указывать метки для разделов.

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

Все разделы, имеющие метки разделов, указаны в каталоге /dev/disk/by-partlabel .

Узнать метку раздела можно с помощью lsblk:

by-partuuid

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

MBR не поддерживает UUID разделов, но Linux[4] и программы, использующие libblkid[5] (например, udev[6]), способны генерировать псевдо-PARTUUID для разделов MBR. Формат — SSSSSSSSPP , где SSSSSSSS — дополненная нулями 32-битная сигнатура диска MBR, а PP — дополненный нулями номер раздела в шестнадцатеричной форме. В отличие от обычного PARTUUID раздела GPT, псевдо-PARTUUID MBR может измениться при изменении номера раздела.

Динамический каталог аналогичен другим методам и, как в случае с UUID файловой системы, использование UUID разделов предпочтительнее, чем меток.

Узнать UUID раздела можно с помощью lsblk:

Постоянные имена устройств с использованием udev

Использование постоянных имён

Существуют различные приложения, которые можно настроить с использованием постоянных имён. Ниже приведены некоторые примеры их настройки.

fstab

Параметры ядра

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

  • Используется образ initramfs, в котором есть udev.
  • Для mkinitcpio включен хук udev или systemd в /etc/mkinitcpio.conf .

Расположение корневой файловой системы задаётся параметром root в командной строке ядра. Командная строка ядра настраивается из загрузчика, смотрите Параметры ядра#Настройка. Чтобы перейти к использованию постоянных имён устройств, измените те параметры, которые определяют блочные устройства, например root и resume , оставив остальные параметры как есть. Поддерживаются различные схемы именования:

C использованием метки и формата LABEL= , в этом примере Arch Linux — это метка корневой файловой системы.

С использованием UUID и формата UUID= , в этом примере 0a3407de-014b-458b-b5c1-848e92a327a3 — это UUID корневой файловой системы.

С использованием id диска и пути в /dev , в данном примере wwn-0x60015ee0000b237f-part2 — это id корневого раздела.

С использованием UUID разделов GPT и формата PARTUUID= , в данном примере 98a81274-10f7-40db-872a-03df048df366 — это PARTUUID корневого раздела.

С использованием меток разделов GPT и формата PARTLABEL= , в данном примере GNU/Linux — это метка корневого раздела.

Источник

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

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

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

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

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

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

  • badblocks — если у вас старый жесткий диск и на нем накопилось много битых блоков, вы можете с помощью этой утилиты пометить их все на уровне файловой системы, чтобы больше не использовать.
  • e2label — позволяет изменить метку раздела с файловой системой ext.
  • fsck — проверка файловой системы linux и исправление найденных ошибок
  • mkfs — позволяет создать файловую систему Linux.
  • resize2fs — изменить размер раздела с файловой системой
  • tune2fs — позволяет изменить файловую систему Linux, настроить ее параметры.

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

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

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

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

sudo mkfs -t тип устройство

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

  • — проверить устройство на наличие битых секторов
  • -b — размер блока файловой системы
  • -j — использовать журналирование для ext3
  • -L — задать метку раздела
  • -v — показать подробную информацию о процессе работы
  • -V — версия программы

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

 sudo mkfs -t ext4 -L root /dev/sda6

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

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

Утилита e2label позволяет изменить или посмотреть метку раздела диска. Принимает всего два параметра — устройство и новую метку если нужно.

Смотрим метку:

sudo e2label /dev/sda6

root

Устанавливаем новую:

sudo e2label /dev/sda6 root1

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

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

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

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

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

  • -j — создать файл журнала. Позволяет превратить файловую систему ext2 в ext3.
  • -J — настроить параметры журнала
  • -l — получить содержимое суперблока
  • -L — изменить метку раздела
  • -m — изменить процент дискового пространства, зарезервированного для суперпользователя
  • -M — изменить последнюю папку монтирования
  • -U — задать UUID файловой системы
  • -C — изменить значение счетчика монтирования
  • -T — изменить последнюю дату проверки файловой системы
  • — изменить периодичность проверок файловой системы с помощью fsck
  • -O — изменить опции файловой системы.

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

sudo tune2fs -m 5 /dev/sda6

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

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

tune2fs -C 0 /dev/sda6

Setting current mount count to 0

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

С помощью опции -O мы вообще можем превратить нашу ext3 в ext4 следующей командой:

sudo tune2fs -O extents,uninit_bg,dir_index

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

sudo fsck -np /dev/sda6

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

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

Раньше такая функция поддерживалась в утилите parted, но потом ее убрали и для этого действия приходится использовать утилиту из набора e2fsprogs — resize2fs.

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

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

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

  • -M уменьшить файловую систему до минимального размера
  • -f — принудительное изменение, не смотря на потерю данных
  • -F — очистить буфер файловой системы

Размер передается, как и во многих других утилитах, целым числом с указанием единиц измерения, например, 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:

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

Опции программы:

  • -p — автоматическое восстановление
  • -n — только проверка, без восстановления
  • -y — ответить да на все запросы программы
  • — проверить на битые сектора (аналог badblocks
  • -f — принудительная проверка, даже если раздел помечен как чистый
  • -j — внешний журнал файловой системы

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

sudo fsck -a /dev/sda6

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

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

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

e4defrag /dev/sda6

Чтобы проверить нужна ли дефрагментация в Linux выполните эту же команду с опцией -c:

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.

В поле Fragmentation score отображен процент фрагментации, как видите, у меня 0, нормой считается до 30, 31-55 небольшие проблемы, и больше 56 — нужна дефрагментация.

Выводы

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

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

I know I can set the volume name when I format the partition with the -n option of mkfs.vfat. But how to just change the name without formatting?

I especially want to be able to use lower and uppercase letters. In worst case, I can use a windows tool, but windows by default transforms all letters to uppercase (but works fine with lowercase letters in volumes created with mkfs.vfat).

jw013's user avatar

jw013

49.1k9 gold badges132 silver badges141 bronze badges

asked Jul 27, 2012 at 2:51

Den's user avatar

1

Dosfstools, which provides mkfs.vfat and friends, also provides fatlabel (called dosfslabel in older versions) to change the label.

answered Jul 28, 2012 at 0:39

Gilles 'SO- stop being evil''s user avatar

5

For my USB drive mlabel did not work, but fatlabelworked!

fatlabel /dev/device

gives you label

fatlabel /dev/device NEW_LABEL

sets new label

answered Aug 17, 2017 at 19:42

Grzegorz Wierzowiecki's user avatar

1

The solution is to use mkdosfs (mkfs.vfat) : it lets the user specify the volume label using the -n flag, and lowercase letters are kept lowercase, but this tool recreates the filesystem, so all data will be lost.

The non-destructive solution below is a combination of the mlabel and dosfslabel command-line tools.

  1. Connect the device to the computer if not already connected.
  2. Open a terminal window.
  3. Run blkid | grep ' TYPE="vfat"' and </proc/mounts grep ' vfat ' to figure out the name of the device (e.g. /dev/sdb1). Look around
    in /media etc. to confirm you have picked the right device. If unsure,
    unplug it, run the commands again, see it disappear, plug it back, and
    run the commands again.
  4. Unmount the device by running umount /dev/sdb1 (substituting /dev/sdb1 with the name of the device found above). If it was mounted,
    and the unmount failed, then close some windows, kill some programs
    (e.g. fuser -m /dev/sdb1), and try unmounting again.
  5. Run sudo env MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdb1 ::x (substituting /dev/sdb1 with the name of the device found above). If
    the system can’t find mlabel, then install it by running sudo apt-get
    install mtools , and try again.
  6. Run sudo dosfslabel /dev/sdb1 MyLabel (substituting MyLabel with the desired label and /dev/sdb1 with the name of the device found
    above). Ignore any warnings about boot sector differences. If the
    system can’t find dosfslabel, then install it by running sudo apt-get
    install dosfstools , and try again.
  7. Run blkid | grep ' TYPE="vfat"', and examine its output to verify that the label has been changed properly. Optionally, unplug
    the device, and then plug it back in. The system will recognize it,
    and mount it under /media/MyLabel, without converting lowercase
    letters in the volume label to uppercase.

Please note that there is an 11 character limit on the length of a VFAT volume label. If you specify a longer label, it will be truncated. There is another restriction: the label can contain only (some) ASCII characters: accented letters etc. won’t work.

peterh's user avatar

peterh

9,07216 gold badges53 silver badges85 bronze badges

answered Jan 25, 2016 at 12:15

The Beast's user avatar

The BeastThe Beast

2712 gold badges4 silver badges10 bronze badges

1

So far the only way I found to change FAT volume name whit lower cases is to edit it whit a hex-editor (copy the first few sectors whit dd to a temp file, edit it and copy it back). It works well so far (even whit FAT16) and neither fsck nor CHKDSK from Win7 complained. But no guarantee of course ;-)

answered Sep 20, 2012 at 2:47

Den's user avatar

DenDen

8771 gold badge8 silver badges13 bronze badges

The above commands didn’t worked for me on Rasberry Pi / Rasbian Jessie 8.
I decided to go with gparted.

Go to the Menu: Partition / Label. Write your desired name and then click on the green pipe (apply).

After the procedure you can see the details hided under the «multiple» + sign.
There is a command total other:

 mlabel ::"LABEL_NAME" -i/dev/sda1

Stephen Rauch's user avatar

answered Jun 26, 2017 at 14:38

user237794's user avatar

For a GUI alternative, gparted has a Label File System menu item for many file systems, including VFAT. It becomes available after unmounting the file system.

answered Nov 10, 2018 at 16:33

liori's user avatar

lioriliori

5922 silver badges12 bronze badges

An update :
Since now, the FAT32 file system has been superseded by the new exFAT for most flash devices, you my find that fatlabel do not work on many cards. you should the try exfatlabel instead of fatlabel

answered Oct 13, 2020 at 1:05

Camion's user avatar

CamionCamion

2642 silver badges10 bronze badges

Apologies for coming back to this 7 years later, but this is a top answer on google for the question, and I didn’t have any of the tools suggested in the existing answers on the system I was using.

As a last resort,

if [ "`dd if=/dev/hda1 bs=1 count=7 skip=54 2>/dev/null`" = 'FAT16  ' ] ; then
  echo -n 'MYNEWLABEL1' | dd of=/dev/hda1 seek=43 count=11 bs=1 conv=notrunc
elif [ "`dd if=/dev/hda1 bs=1 count=7 skip=82 2>/dev/null`" = 'FAT32  ' ] ; then
  echo -n 'MYNEWLABEL1' | dd of=/dev/hda1 seek=71 count=11 bs=1 conv=notrunc
fi

ought to work.

answered Jul 1, 2020 at 14:02

Whinger's user avatar

5

I know I can set the volume name when I format the partition with the -n option of mkfs.vfat. But how to just change the name without formatting?

I especially want to be able to use lower and uppercase letters. In worst case, I can use a windows tool, but windows by default transforms all letters to uppercase (but works fine with lowercase letters in volumes created with mkfs.vfat).

jw013's user avatar

jw013

49.1k9 gold badges132 silver badges141 bronze badges

asked Jul 27, 2012 at 2:51

Den's user avatar

1

Dosfstools, which provides mkfs.vfat and friends, also provides fatlabel (called dosfslabel in older versions) to change the label.

answered Jul 28, 2012 at 0:39

Gilles 'SO- stop being evil''s user avatar

5

For my USB drive mlabel did not work, but fatlabelworked!

fatlabel /dev/device

gives you label

fatlabel /dev/device NEW_LABEL

sets new label

answered Aug 17, 2017 at 19:42

Grzegorz Wierzowiecki's user avatar

1

The solution is to use mkdosfs (mkfs.vfat) : it lets the user specify the volume label using the -n flag, and lowercase letters are kept lowercase, but this tool recreates the filesystem, so all data will be lost.

The non-destructive solution below is a combination of the mlabel and dosfslabel command-line tools.

  1. Connect the device to the computer if not already connected.
  2. Open a terminal window.
  3. Run blkid | grep ' TYPE="vfat"' and </proc/mounts grep ' vfat ' to figure out the name of the device (e.g. /dev/sdb1). Look around
    in /media etc. to confirm you have picked the right device. If unsure,
    unplug it, run the commands again, see it disappear, plug it back, and
    run the commands again.
  4. Unmount the device by running umount /dev/sdb1 (substituting /dev/sdb1 with the name of the device found above). If it was mounted,
    and the unmount failed, then close some windows, kill some programs
    (e.g. fuser -m /dev/sdb1), and try unmounting again.
  5. Run sudo env MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdb1 ::x (substituting /dev/sdb1 with the name of the device found above). If
    the system can’t find mlabel, then install it by running sudo apt-get
    install mtools , and try again.
  6. Run sudo dosfslabel /dev/sdb1 MyLabel (substituting MyLabel with the desired label and /dev/sdb1 with the name of the device found
    above). Ignore any warnings about boot sector differences. If the
    system can’t find dosfslabel, then install it by running sudo apt-get
    install dosfstools , and try again.
  7. Run blkid | grep ' TYPE="vfat"', and examine its output to verify that the label has been changed properly. Optionally, unplug
    the device, and then plug it back in. The system will recognize it,
    and mount it under /media/MyLabel, without converting lowercase
    letters in the volume label to uppercase.

Please note that there is an 11 character limit on the length of a VFAT volume label. If you specify a longer label, it will be truncated. There is another restriction: the label can contain only (some) ASCII characters: accented letters etc. won’t work.

peterh's user avatar

peterh

9,07216 gold badges53 silver badges85 bronze badges

answered Jan 25, 2016 at 12:15

The Beast's user avatar

The BeastThe Beast

2712 gold badges4 silver badges10 bronze badges

1

So far the only way I found to change FAT volume name whit lower cases is to edit it whit a hex-editor (copy the first few sectors whit dd to a temp file, edit it and copy it back). It works well so far (even whit FAT16) and neither fsck nor CHKDSK from Win7 complained. But no guarantee of course ;-)

answered Sep 20, 2012 at 2:47

Den's user avatar

DenDen

8771 gold badge8 silver badges13 bronze badges

The above commands didn’t worked for me on Rasberry Pi / Rasbian Jessie 8.
I decided to go with gparted.

Go to the Menu: Partition / Label. Write your desired name and then click on the green pipe (apply).

After the procedure you can see the details hided under the «multiple» + sign.
There is a command total other:

 mlabel ::"LABEL_NAME" -i/dev/sda1

Stephen Rauch's user avatar

answered Jun 26, 2017 at 14:38

user237794's user avatar

For a GUI alternative, gparted has a Label File System menu item for many file systems, including VFAT. It becomes available after unmounting the file system.

answered Nov 10, 2018 at 16:33

liori's user avatar

lioriliori

5922 silver badges12 bronze badges

An update :
Since now, the FAT32 file system has been superseded by the new exFAT for most flash devices, you my find that fatlabel do not work on many cards. you should the try exfatlabel instead of fatlabel

answered Oct 13, 2020 at 1:05

Camion's user avatar

CamionCamion

2642 silver badges10 bronze badges

Apologies for coming back to this 7 years later, but this is a top answer on google for the question, and I didn’t have any of the tools suggested in the existing answers on the system I was using.

As a last resort,

if [ "`dd if=/dev/hda1 bs=1 count=7 skip=54 2>/dev/null`" = 'FAT16  ' ] ; then
  echo -n 'MYNEWLABEL1' | dd of=/dev/hda1 seek=43 count=11 bs=1 conv=notrunc
elif [ "`dd if=/dev/hda1 bs=1 count=7 skip=82 2>/dev/null`" = 'FAT32  ' ] ; then
  echo -n 'MYNEWLABEL1' | dd of=/dev/hda1 seek=71 count=11 bs=1 conv=notrunc
fi

ought to work.

answered Jul 1, 2020 at 14:02

Whinger's user avatar

5

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"

Содержание

  1. Как изменить UUID раздела и его метку
  2. А зачем?
  3. Как делается клон
  4. Изменение UUID раздела
  5. Как изменить метку тома
  6. Работа с файловой системой Linux
  7. Основные команды
  8. Работа с файловой системой в Linux
  9. Создание файловой системы
  10. Изменение метки файловой системы
  11. Настройка файловой системы linux
  12. Изменение размера файловой системы Linux
  13. Проверка файловой системы Linux
  14. Дефрагментация файловой системы
  15. Выводы
  16. 8 способов определить тип файловой системы в Linux (Ext2, Ext3 или Ext4, FAT32, NTFS)
  17. 1. Использование команды df
  18. 2. Использование команды fsck
  19. 3. Использование команды lsblk
  20. 4. Использование команды mount
  21. 5. Использование команды blkid
  22. 6. Использование команды file
  23. 7. Использование findmnt
  24. 8. Использование файла fstab
  25. Русские Блоги
  26. управление дисками linux
  27. Подробное объяснение общих параметров дд
  28. Работа с файловой системой Linux
  29. Основные команды
  30. Работа с файловой системой в Linux
  31. Создание файловой системы
  32. Изменение метки файловой системы
  33. Настройка файловой системы linux
  34. Изменение размера файловой системы Linux
  35. Проверка файловой системы Linux
  36. Дефрагментация файловой системы
  37. Выводы

Как изменить 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’ы и понятные метки тома.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы

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

Источник

8 способов определить тип файловой системы в Linux (Ext2, Ext3 или Ext4, FAT32, NTFS)

Файловая система — это способ, которым файлы именуются, хранятся, извлекаются, а также обновляются на диске или разделе хранения; это способ организации файлов на диске.

Файловая система разделена на два сегмента, которые называются: данные пользователя и метаданные (имя файла, время его создания, время изменения, его размер и расположение в иерархии каталогов и т. д.).

В этом руководстве мы расскажем о семи способах определения типа файловой системы Linux, например Ext2, Ext3, Ext4, BtrFS, GlusterFS и многих других.

1. Использование команды df

Команда df сообщает об использовании дискового пространства файловой системой, чтобы включить тип файловой системы в конкретный раздел диска, используйте флаг -T, как показано ниже:

df

Полное руководство по использованию команды df можно найти в наших статьях:

2. Использование команды fsck

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

Флаг -N отключает проверку файловой системы на наличие ошибок, он просто показывает, что будет сделано (но нам нужен только тип файловой системы):

fsck

3. Использование команды lsblk

lsblk отображает блочные устройства, при использовании с параметром -f он также печатает тип файловой системы на разделах:

lsblk 1

Вариант этой команды, выводящей краткие сведение об имени и файловой системе:

lsblk fstype

4. Использование команды mount

Команда mount используется для монтирования файловой системы в Linux, её также можно использовать для монтирования образа ISO, монтирования удалённой файловой системы Linux и многого другого.

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

mount

5. Использование команды blkid

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

blkid

6. Использование команды file

Команда file определяет тип файла, флаг -s разрешает чтение блочных или символьных файлов, а -L разрешает переход по символическим ссылкам:

file

7. Использование findmnt

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

findmnt 1

8. Использование файла fstab

Файл /etc/fstab — это файл статической информации о файловой системе (такой, как точка монтирования, тип файловой системы, параметры монтирования и т. д.):

fstab

Всё готово! В этом руководстве мы объяснили восемь способов определить тип файловой системы Linux. Вы знаете какой-либо метод, не упомянутый здесь? Поделитесь с нами в комментариях.

Источник

Русские Блоги

управление дисками linux

1. Команда df для просмотра информации о смонтированном диске

-i Проверить состояние inode: если используется 100%, появится сообщение о том, что дисковое пространство заполнено, даже если на диске еще есть место.

-h Использовать дисплей устройства.

-m отображается в МБ.

** du команда, просмотр каталога или информации о файле; **

2.1 Увеличить диск виртуальной машины

Выберите «Виртуальная машина», «Изменить параметры виртуальной машины», «Жесткий диск», «Добавить», оставьте значение по умолчанию в мастере установки оборудования, укажите емкость диска и задайте размер жесткого диска. Выберите, чтобы сохранить виртуальный диск в виде одного файла, для завершения добавления виртуального диска.

658c612e4a77e0061c0f535db5c90db4

14a94b591b2019881d28f67ae2585298

2.2 команда fdisk Команда разделов диска может разделять только разделы размером менее 2T;

Диск / dev / sda: 32,2 ГБ, 32212254720 байт, 62914560 секторов

Единицы = сектор 1 * 512 = 512 байт

Размер сектора (логический / физический): 512 байт / 512 байт

Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт

Система Идентификатора начала и конца загрузки устройства

/dev/sda1 *2048 411647 204800 83 Linux

/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris

/dev/sda3 46059526291455929154304 83 Linux

Диск / dev / sdb: 10,7 ГБ, 10737418240 байт, 20971520 секторов

Единицы = сектор 1 * 512 = 512 байт

Размер сектора (логический / физический): 512 байт / 512 байт

Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт

Список недавно добавленной информации о диске

Диск / dev / sdb: 10,7 ГБ, 10737418240 байт, 20971520 секторов

Единицы = сектор 1 * 512 = 512 байт

Размер сектора (логический / физический): 512 байт / 512 байт

Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт

Если fdisk не добавляет параметры, он перейдет в другой режим, который может разбить диск;

Изменения останутся в памяти, пока вы не решите записать изменения на диск.

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

Device does not contain a recognized partition table

Используйте идентификатор диска 0x47a75227, чтобы создать новую метку диска DOS.

Команда (введите m для справки): m списки часто используемых w

c toggle the dos compatibility flag

g create a new empty GPT partition table

G create an IRIX (SGI) partition table

l list known partition types

o create a new empty DOS partition table

q quit without saving changes

s create a new empty Sun disklabel

t change a partition’s system id

v verify the partition table

w write table to disk and exit

x extra functionality (experts only)

Команда (введите m для справки):

Обычно используемые команды:

p: список информации о разделах;

Команда (введите m для справки): n

3. Форматирование диска

mke2fs: команда форматирования

-t: указать файловую систему

-b: указать размер блока

-m: указать размер зарезервированного пространства раздела

-i: указать размер inode

mkfs.xfs определяет формат файла xfs

4. Монтаж диска ** mount Просмотр текущего монтируемого раздела и типа файловой системы раздела **

umount: размонтировать подключенный диск

/ etc / fstab Раздел, смонтированный при запуске системы

5. Увеличьте виртуальную память: создайте файл подкачки Сначала создайте виртуальную память: swapfile

Формат как формат подкачки;

Смонтировать и включить виртуальный диск;

6, расширение lvm имеет реляционное пространство

6.1 Создать раздел, разделить его на три области и преобразовать формат в LVM

6.2 Создание физического тома: pvcreate

Не знаю имя установочного пакета, знайте команду для установки пакета следующим образом

Список текущего физического тома: pvdisplay

6.3, создать группу томов vgcreate

Просмотр информации о группе томов: vgdisplay

6.4 Создайте логический том: lvcreate

Смонтировать логический том

Расширить логический том

Уменьшить логический объем

Расширение файла XFS, сначала отформатируйте файловую систему XFS, а затем разверните

Расширенный контент:

Используйте команду dd для проверки производительности чтения и записи на диск

Тест скорости записи:

** Тест скорости чтения: **

Подробное объяснение общих параметров дд

Используйте dd для резервного копирования жесткого диска

2. Рейдовый дисковый массив (обычно 0, 0 + 1, 5)

Источник

Работа с файловой системой 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. Из этой статьи вы узнали все что нужно о работе с файловой системой. Теперь у вас не возникнет проблем если у вас вдруг не будет доступа к графическим утилитам и нужно будет исправлять ошибки или настраивать файловую систему. Если остались вопросы, спрашивайте в комментариях!

Источник

Состояние перевода: На этой странице представлен перевод статьи Persistent block device naming. Дата последней синхронизации: 9 января 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Эта статья описывает, как использовать постоянные имена для ваших блочных устройств. Это стало возможным благодаря введению udev и имеет переимущества перед именами, основанными на используемых шинах. Если на вашем компьютере несколько контроллеров дисков SATA, SCSI или IDE, порядок добавления устройств может быть любым. Это может привести к тому, что устройства наподобие /dev/sda и /dev/sdb будут меняться местами при каждой загрузке, что может привести к невозможности загрузки системы, панике ядра или исчезновению блочного устройства. Использование постоянных имён решает подобные проблемы.

Примечание:

  • Постоянные имена имеют ограничения, которые выходят за рамки данной статьи. Например, в то время как mkinitcpio может поддерживать метод, systemd может налагать свои собственные ограничения (например, FS#42884) на имена, которые он может обрабатывать во время загрузки.
  • Эта статья не относится к LVM, так как пути /dev/VolumeGroupName/LogicalVolumeName являются постоянными.

Методы постоянного именования

Есть четыре схемы создания постоянных имён: by-label, by-uuid, by-id и by-path. Для дисков, использующих таблицу разделов GUID (GPT), также доступны by-partlabel и by-partuuid. Также можно задать #Постоянные имена устройств с использованием udev.

Подкаталоги внутри /dev/disk/ создаются и удаляются автоматически в соответствии с подключенными в данный момент устройствами.

Примечание: Помните, что клонирование диска приведёт к созданию двух разных дисков с одинаковыми именами.

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

Можно использовать команду lsblk для просмотра первых постоянных схем:

$ lsblk -f
NAME        FSTYPE LABEL      UUID                                 MOUNTPOINT
sda                                                       
├─sda1      vfat              CBB6-24F2                            /boot
├─sda2      ext4   Arch Linux 0a3407de-014b-458b-b5c1-848e92a327a3 /
├─sda3      ext4   Data       b411dc99-f0a0-4c87-9e05-184977be8539 /home
└─sda4      swap              f9fe0b69-a280-415d-a03a-a32752370dee [SWAP]
mmcblk0
└─mmcblk0p1 vfat              F4CA-5D75

Для GPT используйте команду blkid. Она более удобна для скриптов, но читается труднее.

# blkid
/dev/sda1: UUID="CBB6-24F2" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="d0d0d110-0a71-4ed6-936a-304969ea36af" 
/dev/sda2: LABEL="Arch Linux" UUID="0a3407de-014b-458b-b5c1-848e92a327a3" TYPE="ext4" PARTLABEL="GNU/Linux" PARTUUID="98a81274-10f7-40db-872a-03df048df366" 
/dev/sda3: LABEL="Data" UUID="b411dc99-f0a0-4c87-9e05-184977be8539" TYPE="ext4" PARTLABEL="Home" PARTUUID="7280201c-fc5d-40f2-a9b2-466611d3d49e" 
/dev/sda4: UUID="f9fe0b69-a280-415d-a03a-a32752370dee" TYPE="swap" PARTLABEL="Swap" PARTUUID="039b6c1c-7553-4455-9537-1befbc9fbc5b"
/dev/mmcblk0: PTUUID="0003e1e5" PTTYPE="dos"
/dev/mmcblk0p1: UUID="F4CA-5D75" TYPE="vfat" PARTUUID="0003e1e5-01"

by-label

Почти каждый тип файловой системы позволяет задать метку. Все разделы с метками есть в каталоге /dev/disk/by-label.

$ ls -l /dev/disk/by-label
total 0
lrwxrwxrwx 1 root root 10 May 27 23:31 Data -> ../../sda3
lrwxrwxrwx 1 root root 10 May 27 23:31 Archx20Linux -> ../../sda2

Большинство файловых систем поддерживают установку метки при создании файловой системы; смотрите справочные страницы соответствующих утилит mkfs.*. Для некоторых файловых систем также возможно изменение меток. Ниже приведены некоторые методы изменения меток в распространённых файловых системах:

swap
swaplabel -L "новая метка" /dev/XXX с помощью util-linux
ext2/3/4
e2label /dev/XXX "новая метка" с помощью e2fsprogs
btrfs
btrfs filesystem label /dev/XXX "новая метка" с помощью btrfs-progs
reiserfs
reiserfstune -l "новая метка" /dev/XXX с помощью reiserfsprogs
jfs
jfs_tune -L "новая метка" /dev/XXX с помощью jfsutils
xfs
xfs_admin -L "новая метка" /dev/XXX с помощью xfsprogs
fat/vfat
fatlabel /dev/XXX "новая метка" с помощью dosfstools
mlabel -i /dev/XXX ::"новая метка" с помощью mtools
exfat
tune.exfat -L "новая метка" /dev/XXX с помощью exfatprogs
exfatlabel /dev/XXX "новая метка" с помощью exfatprogs или exfat-utils
ntfs
ntfslabel /dev/XXX "новая метка" с помощью ntfs-3g
udf
udflabel /dev/XXX "новая метка" с помощью udftools
crypto_LUKS (LUKS2 only)
cryptsetup config --label="новая метка" /dev/XXX с помощью cryptsetup

Узнать метку устройства можно с помощью lsblk:

$ lsblk -dno LABEL /dev/sda2
Arch Linux

Или blkid:

# blkid -s LABEL -o value /dev/sda2
Arch Linux

Примечание:

  • Файловая система не должна быть примонтирована при изменении метки. Для изменения метки корневой файловой системы нужно загрузиться с другого тома.
  • Метки должны быть однозначными, чтобы предотвратить любые возможные конфликты.
  • Метки могут содержать до 16 символов.
  • Поскольку метка является свойством файловой системы, она не подходит для постоянной адресации одного устройства RAID.
  • При использовании зашифрованных контейнеров с dm-crypt метки файловых систем внутри контейнеров недоступны, пока контейнер заблокирован/зашифрован.

by-uuid

UUID — это механизм присвоения каждой файловой системе уникального идентификатора. Эти идентификаторы генерируются утилитами файловой системы (например, mkfs.*) при форматировании устройства и разработаны таким образом, что случайные совпадения разных идентификаторов маловероятны. Все файловые системы GNU/Linux (включая подкачку и LUKS-заголовки устройств с шифрованием) поддерживают UUID. Файловые системы FAT, exFAT и NTFS не поддерживают UUID, но отображаются в /dev/disk/by-uuid/ с более коротким UID (уникальным идентификатором):

$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 27 23:31 0a3407de-014b-458b-b5c1-848e92a327a3 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 27 23:31 b411dc99-f0a0-4c87-9e05-184977be8539 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 27 23:31 CBB6-24F2 -> ../../sda1
lrwxrwxrwx 1 root root 10 May 27 23:31 f9fe0b69-a280-415d-a03a-a32752370dee -> ../../sda4
lrwxrwxrwx 1 root root 10 May 27 23:31 F4CA-5D75 -> ../../mmcblk0p1

Узнать UUID устройства можно с помощью lsblk:

$ lsblk -dno UUID /dev/sda1
CBB6-24F2

Или blkid:

# blkid -s UUID -o value /dev/sda1
CBB6-24F2

Преимущество использования метода UUID в том, что вероятность возникновения конфликтов гораздо меньше, чем при использовании меток. Кроме того, он генерируется автоматически при создании файловой системы. Например, он останется уникальным, даже если устройство подключено к другой системе (которая может иметь собственное устройство с такой же меткой).

Недостатком является то, что UUID затрудняют чтение длинных строк кода и нарушают форматирование во многих файлах конфигурации (например, fstab или crypttab). Кроме того, каждый раз при форматировании создаётся новый UUID, и файлы конфигурации придётся обновлять вручную.

Совет: Если вашему разделу подкачки не назначен UUID, нужно будет сбросить его с помощью mkswap.

by-id и by-path

by-id создаёт уникальное имя по серийному номеру оборудования, by-path по кратчайшему физическому пути (согласно sysfs). Оба содержат строки, указывающие, к какой подсистеме они принадлежат (т. е. pci- для by-path и ata- для by-id), поэтому они связаны с аппаратным обеспечением, управляющим устройством. Это подразумевает разные уровни постоянности: by-path изменится при подключении устройства к другому порту контроллера, by-id изменится при подключении устройства к порту аппаратного контроллера, связанного с другой подсистемой. [1] Таким образом, оба не подходят для достижения постоянного именования, устойчивого к аппаратным изменениям.

Однако оба они предоставляют важную информацию для поиска конкретного устройства в большой аппаратной инфраструктуре. Например, если вы не назначаете постоянные метки вручную (by-label или by-partlabel) и сохраняете каталог с использованием аппаратного порта, by-id и by-path можно использовать для поиска определённого устройства. [2] [3]

by-id также создаёт ссылки World Wide Name для устройств, которые его поддерживают. В отличие от других ссылок by-id, WWN полностью постоянны и не изменяются в зависимости от используемой подсистемы.

Примечание: Ссылки by-id и by-path могут считаться постоянными только для дисков, а не для разделов. На разделы будет ссылаться их номер в таблице разделов, который может измениться, если разделы будут переупорядочены.

$ ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root 10 May 27 23:31 ata-WDC_WD2500BEVT-22ZCT0_WD-WXE908VF0470 -> ../../sda
lrwxrwxrwx 1 root root 10 May 27 23:31 ata-WDC_WD2500BEVT-22ZCT0_WD-WXE908VF0470-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 May 27 23:31 ata-WDC_WD2500BEVT-22ZCT0_WD-WXE908VF0470-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 27 23:31 ata-WDC_WD2500BEVT-22ZCT0_WD-WXE908VF0470-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 27 23:31 ata-WDC_WD2500BEVT-22ZCT0_WD-WXE908VF0470-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 May 27 23:31 mmc-SD32G_0x0040006d -> ../../mmcblk0
lrwxrwxrwx 1 root root 10 May 27 23:31 mmc-SD32G_0x0040006d-part1 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 10 May 27 23:31 wwn-0x60015ee0000b237f -> ../../sda
lrwxrwxrwx 1 root root 10 May 27 23:31 wwn-0x60015ee0000b237f-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 May 27 23:31 wwn-0x60015ee0000b237f-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 27 23:31 wwn-0x60015ee0000b237f-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 27 23:31 wwn-0x60015ee0000b237f-part4 -> ../../sda4
$ ls -l /dev/disk/by-path/
total 0
lrwxrwxrwx 1 root root 10 May 27 23:31 pci-0000:00:1f.2-ata-1 -> ../../sda
lrwxrwxrwx 1 root root 10 May 27 23:31 pci-0000:00:1f.2-ata-1-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 May 27 23:31 pci-0000:00:1f.2-ata-1-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 27 23:31 pci-0000:00:1f.2-ata-1-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 27 23:31 pci-0000:00:1f.2-ata-1-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 May 27 23:31 pci-0000:07:00.0-platform-rtsx_pci_sdmmc.0 -> ../../mmcblk0
lrwxrwxrwx 1 root root 10 May 27 23:31 pci-0000:07:00.0-platform-rtsx_pci_sdmmc.0-part1 -> ../../mmcblk0p1

by-partlabel

GPT позволяет указывать метки для разделов.

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

Все разделы, имеющие метки разделов, указаны в каталоге /dev/disk/by-partlabel.

$ ls -l /dev/disk/by-partlabel/
total 0
lrwxrwxrwx 1 root root 10 May 27 23:31 EFIx20systemx20partition -> ../../sda1
lrwxrwxrwx 1 root root 10 May 27 23:31 GNUx2fLinux -> ../../sda2
lrwxrwxrwx 1 root root 10 May 27 23:31 Home -> ../../sda3
lrwxrwxrwx 1 root root 10 May 27 23:31 Swap -> ../../sda4

Узнать метку раздела можно с помощью lsblk:

$ lsblk -dno PARTLABEL /dev/sda1
EFI system partition

Или blkid:

# blkid -s PARTLABEL -o value /dev/sda1
EFI system partition

Примечание:

  • Метки разделов GPT также должны быть разными, чтобы избежать конфликтов. Чтобы изменить метку раздела, вы можете использовать gdisk или cgdisk из пакета gptfdisk. Смотрите Разметка дисков#Инструменты разметки.
  • Согласно спецификации, метки разделов GPT могут иметь длину до 72 символов.

by-partuuid

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

MBR не поддерживает UUID разделов, но Linux[4] и программы, использующие libblkid[5] (например, udev[6]), способны генерировать псевдо-PARTUUID для разделов MBR. Формат — SSSSSSSS-PP, где SSSSSSSS — дополненная нулями 32-битная сигнатура диска MBR, а PP — дополненный нулями номер раздела в шестнадцатеричной форме. В отличие от обычного PARTUUID раздела GPT, псевдо-PARTUUID MBR может измениться при изменении номера раздела.

Динамический каталог аналогичен другим методам и, как в случае с UUID файловой системы, использование UUID разделов предпочтительнее, чем меток.

$ ls -l /dev/disk/by-partuuid/
total 0
lrwxrwxrwx 1 root root 10 May 27 23:31 0003e1e5-01 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 10 May 27 23:31 039b6c1c-7553-4455-9537-1befbc9fbc5b -> ../../sda4
lrwxrwxrwx 1 root root 10 May 27 23:31 7280201c-fc5d-40f2-a9b2-466611d3d49e -> ../../sda3
lrwxrwxrwx 1 root root 10 May 27 23:31 98a81274-10f7-40db-872a-03df048df366 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 27 23:31 d0d0d110-0a71-4ed6-936a-304969ea36af -> ../../sda1

Узнать UUID раздела можно с помощью lsblk:

$ lsblk -dno PARTUUID /dev/sda1
d0d0d110-0a71-4ed6-936a-304969ea36af

Или blkid:

# blkid -s PARTUUID -o value /dev/sda1
d0d0d110-0a71-4ed6-936a-304969ea36af

Постоянные имена устройств с использованием udev

Смотрите udev (Русский)#Установка постоянных имен устройств.

Использование постоянных имён

Существуют различные приложения, которые можно настроить с использованием постоянных имён. Ниже приведены некоторые примеры их настройки.

fstab

Смотрите fstab (Русский)#Определение файловой системы.

Параметры ядра

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

  • Используется образ initramfs, в котором есть udev.
  • Для mkinitcpio включен хук udev или systemd в /etc/mkinitcpio.conf.

Расположение корневой файловой системы задаётся параметром root в командной строке ядра. Командная строка ядра настраивается из загрузчика, смотрите Параметры ядра#Настройка. Чтобы перейти к использованию постоянных имён устройств, измените те параметры, которые определяют блочные устройства, например root и resume, оставив остальные параметры как есть. Поддерживаются различные схемы именования:

C использованием метки и формата LABEL=, в этом примере Arch Linux — это метка корневой файловой системы.

root="LABEL=Arch Linux"

С использованием UUID и формата UUID=, в этом примере 0a3407de-014b-458b-b5c1-848e92a327a3 — это UUID корневой файловой системы.

root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3

С использованием id диска и пути в /dev, в данном примере wwn-0x60015ee0000b237f-part2 — это id корневого раздела.

root=/dev/disk/by-id/wwn-0x60015ee0000b237f-part2

С использованием UUID разделов GPT и формата PARTUUID=, в данном примере 98a81274-10f7-40db-872a-03df048df366 — это PARTUUID корневого раздела.

root=PARTUUID=98a81274-10f7-40db-872a-03df048df366

С использованием меток разделов GPT и формата PARTLABEL=, в данном примере GNU/Linux — это метка корневого раздела.

root="PARTLABEL=GNU/Linux"

Понравилась статья? Поделить с друзьями:
  • Как изменить метку работа на яндекс картах
  • Как изменить местоположение панели задач на компьютере
  • Как изменить метку dvd диска
  • Как изменить местоположение панели задач виндовс 10
  • Как изменить метки сервера cs go