- How to Create and Manage Linux Partitions using Parted
- Prerequisite
- Using Parted as a Disk Partitioner for Linux
- Identify Linux Disk Labels
- Choose Linux Hard Disk for Partitioning
- Set Linux Partition Table Type
- Create Primary and/or Logical Partition(s) in Linux
- Managing Linux Partitions
- Parted — управление разметкой и разделами дисков в Linux
- Установка parted в Linux
- Управление таблицей разделов в parted, разметка диска
- Создание нового раздела в parted
- Как расширить или уменьшить размер раздела диска с помощью parted
- Удаление раздела с помощью parted
- Восстановление случайно удаленных разделов с помощью rescue
How to Create and Manage Linux Partitions using Parted
When it comes to the usage and mastery of Linux operating systems, you will always find yourselves learning new cool stuff due to its open-source and extensible nature.
One cool feature available in all Linux operating system distributions is disk partitioning, which is important as it helps with organizing your files and folders, preventing files and folders conflicts, and also in seclusion of the system files from the user files.
While considering disk partitioning in other operating systems (not Linux-based), you are bound to go after a third-party application for you to fully meet your disk partitioning objectives. With Linux, using a third-party application for disk partitioning is an optional step.
Prerequisite
Since disk partitions are critical to the usage and operation of your machine, the power and usage of the Parted tool should be associated with root/sudoer user privileges.
Using Parted as a Disk Partitioner for Linux
This article introduces the use of Parted as an effective disk partitioning tool. This disk partition tool should be inbuilt into your Linux operating system distribution and you can validate its presence by executing the following command:
Identify Linux Disk Labels
The command helps list the disk labels present on your Linux system making it easier to identify the one that will be used to create the needed Linux partitions.
From the above command output, we have identified /dev/sda as the targeted disklabel with a logical/physical sector size. Please note that it is impossible to partition a disk label hosting the operating system you are currently using as such a disklabel will have a primary sector size.
Choose Linux Hard Disk for Partitioning
To select /dev/sda for partitioning (in case we have many disk labels present), we will execute the following parted command.
The above command should point to the disk label we have selected for partitioning.
Key in ‘help‘ to view all the commands associated with the parted command, which is a quick and useful reference manual when you find yourself stuck while creating and managing Linux partitions.
Set Linux Partition Table Type
To create a new partition table type, we need the help of the mklabel command, which lists the possible label types we can use:
We will use msdos as it is an ideal recommendation for generic Linux.
Create Primary and/or Logical Partition(s) in Linux
We will use the print command to check how much space we have on the Disk we intent to partition.
As per the above command output, we have 32.4 GB of free Disk space to use.
We can create partitions from the availed disk space using the mkpart command. The primary partition can be used for the installation of your Linux operating system and the logical partition for the storage of your personal/non-system files.
Let us create a 10GB primary partition and a 5GB logical partition.
To create 10GB Primary Partition:
The Start and End values of this partition are 0 and 10GB respectively. To confirm that the partition space has been used.
To create 5GB Primary Partition:
The Start and End values for this 5GB logical partition should begin from 10.1GB (a value higher than the one for the created primary partition) and 15.1GB (Adding 5 to 10.1).
Confirm that the partition space has been used:
The two created partitions should now be listed with their respectful sizes as per the above screen capture.
Managing Linux Partitions
To delete a partition, first, use the print command so that its Number can be listed and then use the rm command to delete it.
To remove partition Number 2 from the above screen capture:
To resize Linux partition 1 by shrinking or increasing its partition size:
To make partition Number 1 bootable:
To learn more on parted commands, reference the command:
Parted — управление разметкой и разделами дисков в Linux
20.02.2021
VyacheslavK
CentOS, Linux, Ubuntu
Один комментарий
Parted – (сокращенно от PARTition EDitor) редактор дисковых разделов для Linux, предназначенный для управления разметкой, создания, удаления и изменения размеров разделов диска. Утилита проста в использовании и доступна для всех дистрибутивов Unix/Linux систем. Кроме того, доступна GUI версия — Gparted. В данной статье, мы покажем, как управлять разделами диска с помощью parted на примере CentOS 8 (в других дистрибутивах Linux все работает аналогично). В Windows аналогом команды parted является diskpart .
Установка parted в Linux
Обновите набор по на сервере и установите пакет parted с помощью менеджера пакетов вашего дистрибутива Linux. Для CentOS 8 с менеджером пакетов dnf (который заменил yum), можете установить parted из базового репозитория командой:
# dnf update -y
# dnf install parted -y
Чтобы проверить версию утилиты, выполните команду:
Чтобы попасть в саму оболочку, введите:
GNU Parted 3.2 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands.
Управление таблицей разделов в parted, разметка диска
Выведем список доступных дисков:
Доступен диск /dev/vdb размером 21 Гб, диску не присвоена метка (error /dev/vdb: unrecognized disk label), какая таблица разделов – не понятно.
Можно создать на диске разметку msdos (MBR)
Или таблицу разделов gpt ( GUIE partition table поддерживает размер раздела более 2 Тб) :
Обратите внимаени, что в parted в отличии от fdisk нет команды для записи изменений. Все изменения применяются немедленно.
Теперь parted показывает тип таблицы разделов (разметки) на диске:
Model: Virtio Block Device (virtblk) Disk /dev/vdb: 21.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags
Как вы видите, на диске уже есть таблица разделов MBR, но сами разделы еще не созданы.
Если у вас на сервере имеется несколько свободных дисков, то можно переключаться между ними с помощью команды:
Создание нового раздела в parted
Для создания раздела в parted, используется утилита mkpart . При вводе команды в интерактивном режиме будут появляться вопросы о параметрах нового раздела:
- Partition type — указываем тип раздела (primary / extended)
- File system type — файловая система, по умолчанию предлагается ext2 (в дальнейшем мы ее изменим);
- Start — начальный сектор раздела
- End — конечный сектор раздела (в мегабайтах). В нашем примере мы указали 5000, это значит, что будет создан раздел размером 5Гб.
Можно сразу создать раздел на весь диск:
# (parted) mkpart primary 0 0
или указать произвольный размер раздела так:
# (parted) mkpart primary 0 1GB
Также можно указывать размер диска в % и задать метку:
# (parted) mkpart «home part» ext4 2.5GiB 100%
Чтобы выйти из оболочки parted, выполните команду:
Отформатируем раздел в файловой системе ext4:
mke2fs 1.44.6 (5-Mar-2019) Creating filesystem with 1220352 4k blocks and 305216 inodes Filesystem UUID: 5c9daa97-c0f4-44bc-9cfa-f466ebd8895e Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
Проверяем файловую систему раздела и видим, что она изменилась (обратите внимание что команда print выводит теперь список разделов на диске, их номера, тип, размер и файловую систему).
Можно создать раздел и отформатировать его, не входя в оболочку parted, например:
# parted -a opt /dev/vdb mkpart primary ext4 0% 100% && mkfs.ext4 /dev/vda1
Данной командой мы создадим раздел на диске vdb, под который отдадим всё пространство.
Таким образом вы можете упрощать себе работу или же добавлять подобные команды в какие-то скрипты или файлы кикстарта.
Как расширить или уменьшить размер раздела диска с помощью parted
Чтобы расширить или уменьшить размер раздела в partedиспользуется субкоманда resizepart Можно изменить размер раздела в интерактивном режиме. В оболочке parted введите команду:
Система запросит номер раздела (берется из вывода команды print) и конечный размер раздела. В этом примере размер разделе будет увеличен с 5 до 10 Гб:
Partition number? 1 End? [5000MB]? 10000
Сначала увеличьте размер раздела, а потом растяните файловую систему на нем. Если вы уменьшаете размер раздела – сначала нужно сжать размер файловой системы, и только после этого уменьшать размер раздела. Иначе потеряете данные.
Для уменьшения размер файловой системы используются следующие команды. Для файловых систем ext2/3/4 :
btrfs filesystem resize /dev/sdab size
Изменять флаг раздела в parted тоже возможно, вы можете установить один из нужных вам:
Например сделаем раздел загрузочным:
Удаление раздела с помощью parted
Если вам требуется удалить раздел на диске, вы можете использовать команду rm в оболочке parted:
Эта команду удалит раздел с номером 1:
Model: Virtio Block Device (virtblk) Disk /dev/vdb: 21.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags:
Будьте осторожны в использовании данной команды, так как она не требует подтверждение удаления.
Восстановление случайно удаленных разделов с помощью rescue
Удаленный раздел можно восстановить с помощью утилиты rescue, которая доступа в оболочке parted:
Команда запросит начальный и конечный размер разделе. Если на этих позициях есть инфа о разделе, команда попробует восстановить удаленный раздел.
Как видите, утилита parted проста в использовании и очень удобна для создания/изменения разделов вашего диска. Надеемся, что данная статья поможет вам разобраться во многих вопросах.
Предыдущая статья Следующая статья