6

Может ли parted изменить размер раздела без изменения размера базовой файловой системы?

В настоящее время печатается предупреждение:

ВНИМАНИЕ: вы пытаетесь использовать parted для работы (изменения размера) файловой системы. Код манипулирования файловой системой parted не так надежен, как в специализированных пакетах, специфичных для файловой системы, таких как e2fsprogs. Мы рекомендуем использовать parted только для манипулирования таблицами разделов, когда это возможно. Поддержка выполнения большинства операций в большинстве типов файловых систем будет удалена в следующем выпуске.

2 ответа2

7

Изменение размера раздела является распространенной задачей, особенно при использовании аппаратного RAID, виртуальных машин и т.д., Где размер диска может (и может) изменять размер даже во время работы ОС.

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

Перед началом убедитесь, что у вас есть резервная копия вашей системы!

В parted переключите блок отображения на сектора с u s и распечатайте текущие значения с помощью p

Стоит записать эти значения на случай, если вы что-то сломаете и вам нужно восстановить исходные разделы.

Затем удалите существующий раздел rm

Затем создайте новый раздел с помощью mkpart

Наконец, установите флажки с помощью toggle

После выхода из parted может потребоваться запустить partprobe чтобы обновить ядро, так как он просматривает разделы, например: cat /proc/partitions

При использовании LVM2 вы можете увеличить размер раздела, а затем запустить pvresize /dev/... и ваша новая емкость станет доступной для группы томов. После этого вы можете перейти к lvresize и resize2fs или к тому, что подходит для вашей ОС.

-1

То, что вы пытаетесь сделать, в лучшем случае рискованно и сложно, а в худшем - катастрофически.

Файловые системы спроектированы так, чтобы занимать весь раздел самостоятельно. "Правильно" иметь файловую систему, отформатированную так, чтобы она занимала меньше, чем весь раздел, но было бы очень хаком попытаться использовать невостребованное пространство для другой файловой системы.

Существует два типа "изменения размера": рост и сжатие.

Если ваше первоначальное состояние таково, что одна файловая система занимает весь раздел, и вы увеличиваете раздел (увеличиваете его), это в основном означает, что вы настроили таблицу разделов (просто набор чисел в небольшой области жесткого диска), Формат зависит от типа вашего раздела (например, MBR или GPT), поэтому для раздела будет выделено больше блоков, чем использует файловая система. Файловая система не будет использовать дополнительные блоки в конце раздела, потому что файловая система все еще думает, что она работает на меньшем разделе, чем на самом деле. "Умная" файловая система МОЖЕТ легко обнаружить и начать использовать оставшееся пространство, но я не знаю, действительно ли кто-нибудь это делает. В любом случае, вы, вероятно, получите по крайней мере предупреждения при установке диска.

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

В любом случае, вы стреляете себе в ногу. Я понятия не имею, как вы могли бы начать указывать файловой системе монтировать файловую систему, начиная с определенного блока в разделе. Такая команда, как mount /dev/sda1 подразумевает, что монтирование начинается в самом начале раздела. Да, вы бы слегка затеняли расположение любых данных в "скрытом разделе", если бы вы смогли создать там файловую систему; но любой, кто достаточно сообразителен и захочет покопаться в вашем жестком диске, найдет его очень легко, так что не думайте, что вы получаете какую-либо меру безопасности.

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

Проверьте fdisk или cfdisk если вы все еще хотите это сделать, но вы аннулируете все гарантии в книге (а затем и некоторые), делая это ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .