Что происходит с разделителями меток после удаления раздела?

Что произойдет со всеми остальными метками разделов, если я удалю один раздел?
Например, если у меня есть макет, который выглядит так:

/dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 

и если я удалю / dev / sda2, то / dev / sda3, / dev / sda4 и / dev / sda5 «сдвиг» их числа, и я собираюсь получить это:

 /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 

или «пробел» останется там без каких-либо изменений для этикеток, давая мне следующее:

 /dev/sda1 /dev/sda3 /dev/sda4 /dev/sda5 

Традиционно Linux на оборудовании x86 использовал таблицы разделов MSDOS . В этом случае удаление /dev/sda2 не сдвигает ни один из разделов с более высокими номерами вниз, поскольку первичные разделы действуют как «слоты»: вы можете использовать их в любом порядке, который вам нравится, и удаление одного из них не влияет ни на один из другие.

Если вместо этого у вас был sda{1-7} а sda4 – расширенный раздел, а sda{5-7} – логические разделы в этом расширенном разделе, удаление sda6 приведет к смещению sda7 вниз. Логические разделы просто ведут себя по-разному в этом отношении.

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

В случае GPT вам не нужно использовать расширенные разделы для получения более 4 разделов на одном диске и, как и первичные разделы MSDOS, номера разделов GPT работают как слоты. Вы можете удалить раздел из середины диапазона и оставить только отверстие, при этом существующие разделы сохраняют свой номер. Если вы затем создадите новый, он заполнит отверстие.

Однако ваш вопрос задает вопрос о методах разделов, и ничто из того, о чем я говорил до сих пор, не имеет ничего общего с метками. Метки разделов, в том смысле, которые используются в Linux, являются атрибутами файловой системы, а не таблицы разделов. Они существуют, чтобы предотвратить изменение имен устройств из-за проблем с установкой файловых систем. Используя метки файловой системы, вам не нужно беспокоиться об изменениях имени устройства, поскольку вы монтируете разделы по метке, а не по имени устройства. Это особенно полезно в таких случаях, как USB, где схема именования устройств динамична и частично зависит от того, что было подключено ранее с момента последней перезагрузки.

Linux mkfs.* Обычно используют флаг -L для указания метки.

Чтобы монтировать раздел по метке вместо имени устройства, используйте LABEL=mypartname в первом столбце /etc/fstab . Если вы проверите свой текущий /etc/fstab , вы, вероятно, обнаружите, что уже установлены разделы. Установщики GUI Linux обычно делают это для вас как удобство.

Вы также можете монтировать файловую систему ярлыком интерактивно, передавая метку с помощью -L для mount(8) .

GPT позволяет вам назвать раздел, но я не знаю, что он имеет какое-либо отношение к чему-либо, о чем говорилось выше.

EDIT : Одна вещь, которую вы получаете с GPT, которая здесь имеет значение, однако, является уникальным идентификатором для каждого раздела, называемым UUID. Они работают аналогично ярлыкам, но отличаются друг от друга несколькими способами:

  1. В UUID автоматически назначаются псевдослучайные числа, а не логическое имя, которое вы выбираете сами.

  2. Вы используете -U вместо -L для mount(8) раздела по UUID, а не по метке.

  3. Вы используете UUID=big-ugly-hex-number вместо LABEL=mynicelabel в /etc/fstab .

  4. Они являются атрибутами раздела, а не файловой системы, поэтому они будут работать с любой файловой системой, если вы можете использовать GPT. Хорошим примером является раздел FAT32 на USB-накопителе: у FAT32 нет метки файловой системы, и поскольку он находится на USB-накопителе, вы не можете надежно предсказать, какое имя /dev/sd* оно получит.