Создавайте и управляйте разделами диска с помощью Parted в Linux
Примеры команд Parted для создания разделов диска в Linux
Существует множество утилит, таких как fdisk, cdisk, для разделения жесткого диска в Linux и Unix-подобных системах. В этой статье мы сосредоточимся на том, как использовать утилиту parted для создания раздела и управления разделами диска (изменение размера, удаление разделов) в Linux.
Что такое Разделенный?
GNU Parted — это пакет командной строки для создания таблиц разделов и управления ими в системах Linux и Unix. Используя Parted, можно создавать, изменять размер, удалять разделы, реорганизовывать использование диска, копировать данные и создавать образы дисков.
Parted содержит библиотеку libparted, а также интерфейс командной строки parted, который также можно используется в скриптах. Parted предназначен для минимизации вероятности потери данных. Он выполняет множество проверок безопасности, чтобы избежать потери данных в непредвиденных ситуациях, например, при сбое питания.
Parted — бесплатная программа с открытым исходным кодом, которая по умолчанию поставляется с современными операционными системами Linux.
Установить Parted в Linux
Parted поставляется со всеми дистрибутивами Linux. Если parted недоступен в вашем дистрибутиве, вы можете запустить следующие команды, чтобы установить его.
Чтобы установить Parted в Alpine Linux, запустите:
sudo apk add parted
В Arch Linux, EndeavourOS и Manjaro Linux запустите:
sudo pacman -S parted
Для Debian/Ubuntu и его производных выполните следующую команду.
sudo apt -y install parted
Fedora, RHEL, AlmaLinux и Rocky Linux:
sudo dnf install parted -y
Выбор правильного устройства
Первое, что следует отметить перед использованием parted, — это какой диск вы собираетесь разбить на разделы. Когда вы запускаете команду parted без передачи имени диска в качестве аргумента, она возьмет первое найденное блочное устройство и будет использовать его.
$ sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
Внимание! Вам следует либо использовать sudo, либо переключиться от имени пользователя root и запустить команду parted.отметка>
Чтобы использовать конкретное устройство, вам необходимо передать его (например, /dev/sdc
) в качестве аргумента команды parted.
$ sudo parted /dev/sdc
GNU Parted 3.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
Альтернативно, из утилиты parted вы можете переключаться между разными дисками с помощью команды "select"
.
(parted) select /dev/sdb
Using /dev/sdb
(parted) select /dev/sdc
Using /dev/sdc
Распечатать раздел справки Parted
Чтобы получить список разделенных команд, выполните команду help
.
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END make a partition
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
resizepart NUMBER END resize partition NUMBER
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
Каждая из этих команд имеет отдельный раздел справки. Например, если вы хотите получить дополнительные параметры для команды print
, вы можете запустить следующую команду.
(parted) help print
Распечатать таблицу разделов
Если вы хотите просмотреть таблицу разделов для всех доступных блочных устройств, выполните следующую команду из терминала.
sudo parted -l
Чтобы просмотреть таблицу разделов в утилите parted, используйте команду "print"
.
Команда print
предоставит вам такую информацию, как модель диска, размер диска, схема разделов и, наконец, таблица разделов. Поскольку это новый диск, на нем не создаются разделы.
Команда печати
Чтобы узнать, какая схема разделов диска, вы можете запустить команду print
внутри разделенной консоли или выполнить следующую команду непосредственно из терминала.
sudo parted /dev/sdc print | grep -i table
Partition Table: gpt
Вы можете получить только имена блочных устройств, передав "devices"
в качестве аргумента команде печати.
(parted) print devices
/dev/sdc (21.5GB)
/dev/sda (53.7GB)
/dev/sdb (21.5GB)
/dev/sr0 (61.1MB)
Вы можете узнать объем свободного места, оставшегося на диске, передав "free"
в качестве аргумента команде print
.
(parted) print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdc: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
17.4kB 21.5GB 21.5GB Free Space
Чтобы распечатать всю информацию об устройстве в parted, передайте "list,all"
в качестве аргумента команде print
.
(parted) print list,all
Немаркированный диск
Прежде чем создавать разделы с помощью диска, диск должен быть помечен для использования определенной схемы разделов. Если вы запустите команду печати на непомеченном диске, вы увидите ОШИБКУ.
(parted) print
Error: /dev/sdc: unrecognised disk label
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdc: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Чтобы создать метку, вы можете использовать команду mklabel
или mktable
. Если вы не имеете представления о списке поддерживаемых меток, запустите «help mklabel
» или «help mktable
».
Отобразить справку по команде mklabel
Я собираюсь пометить этот диск для использования схемы GPT. Если вам нужна схема разделов MBR, используйте msdos.
(parted) mklabel gpt
Теперь, если вы снова запустите команду print
, вы увидите метку.
Внимание: Прежде чем запускать эту команду, убедитесь, что вы используете правильный диск. Потому что эта команда может уничтожить все разделы диска со своими данными.
Создание новых разделов с помощью Parted
Чтобы создать разделы, вам нужно использовать команду mkpart
.
Прежде чем запускать команду mkpart, просмотрите справочную информацию, в которой приведены подробные сведения о списке параметров.
help mkpart
Я собираюсь создать два раздела размером по 10 ГБ каждый. Давайте создадим первый раздел.
(parted) mkpart
Partition name? []? project
File system type? [ext2]? ext4
Start? 1
End? 10GB
Этот шаг будет интерактивным.
- Выберите имя для раздела.
- Выберите тип файловой системы. По умолчанию установлено значение
ext2
. - Выберите начальное местоположение диска. Вы можете указать в МБ, ГБ. Здесь я указал 1, поэтому размер будет начинаться с 1 МБ.
- Выберите конечное местоположение диска. Здесь указано 10 ГБ.
Запустите команду print
, и вы увидите созданный раздел.
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdc: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 10.0GB 9999MB project
Создадим второй раздел. Вы можете объединить все интерактивные входные данные и передать их в качестве аргументов команде mkpart
.
(parted) mkpart project1 ext4 10001MB 19999MB
Созданные вами разделы еще не сохранены. Вам нужно использовать команду «partprobe
», чтобы сообщить ядру о внесенных вами изменениях в таблице разделов.
Выйдите из утилиты parted, набрав «quit
» и запустив команду partprobe
.
sudo partprobe
Удалить разделы
Удалить разделы можно с помощью команды rm
. Команда rm
принимает номер раздела в качестве аргумента и удаляет этот раздел.
help rm
Если раздел активен и уже смонтирована файловая система, рекомендуется сначала очистить данные, отключить файловую систему, а затем удалить раздел.
Если вы попытаетесь удалить раздел во время его использования, вам будет предложено подтвердить удаление раздела, и вы получите сообщение об ошибке, сообщающее, что изменения вступят в силу после перезагрузки. Выберите «Игнорировать
».
(parted) rm 1
Warning: Partition /dev/sdc1 is being used. Are you sure you want to continue?
Yes/No? yes
Error: Partition(s) 1 on /dev/sdc have been written, but we have been unable to inform the kernel of the
change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You
should reboot now before making further changes.
Ignore/Cancel? ignore
Присвоение имени разделу
Вы можете использовать команду «name
», чтобы переименовать или присвоить имя разделу. Команда name
принимает номер раздела в качестве первого аргумента, за которым следует новое имя.
(parted) name 2 p1
Здесь я меняю имя раздела 2 с project1 на p1.
Изменить размер раздела
Вы можете сжать или расширить раздел с помощью команды resizepart
. Команда resizepart
принимает идентификатор раздела в качестве аргумента. Он спросит вас, каким должен быть размер (Конец?).
Давайте уменьшим первый созданный мной раздел. Идентификатор раздела — 1, размер раздела — 10 ГБ. Здесь я уменьшаю размер раздела до 5 ГБ.
(parted) resizepart 1
End? [10.0GB]? 5 GB
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes
У меня есть второй раздел объемом 5 ГБ, и я хочу добавить еще 2 ГБ и сделать его 7 ГБ.
(parted) resizepart 2
End? [15.0GB]? 17GB
Теперь, если я распечатаю таблицу разделов, мой первый раздел уменьшится до 5 ГБ, а второй раздел увеличится до 7 ГБ.
Number Start End Size File system Name Flags
1 1049kB 5000MB 4999MB ext4 p1
2 10.0GB 17.0GB 7000MB ext4 p2
Изменить флаги разделов
С помощью команды set
вы можете присвоить разделу флаг. Чтобы получить список поддерживаемых флагов, выполните следующую команду help
.
(parted) help set
Установить справку по команде
Допустим, если вы хотите пометить раздел как раздел подкачки, вам нужно выполнить команду следующим образом:
set [partition name] [flag] [ON/OFF]
(parted) set 1 swap ON
Создать файловую систему
До сих пор вы узнали, как работать с parted для выполнения различных операций с разделами диска. Как вы, возможно, уже знаете, вам необходимо отформатировать раздел и смонтировать его, чтобы начать использовать раздел.
Вы можете проверить созданные разделы, выполнив команду lsblk
.
lsblk
Вывод команды Lsblk
Давайте создадим файловую систему типа ext4
для /dev/sdc1
, выполнив следующую команду.
mkfs.ext4 /dev/sdc1
Теперь смонтируйте файловую систему в любой каталог по вашему желанию и используйте раздел.
mount /dev/sdc1 /mnt/
$ df -h /dev/sdc1
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 4.6G 19M 4.3G 1% /mnt
Заключение
В этой статье мы обсудили, как использовать утилиту parted для создания разделов диска и управления ими с помощью программы Parted в Linux. Мы также рассмотрели, как отформатировать вновь созданные разделы с файловой системой ext4 и смонтировать их в нашей системе.
Начиная с версии RHEL 8, Red Hat предлагает использовать утилиту parted вместо fdisk. Итак, если вы готовитесь к сертификации RHCSA, эта статья будет вам очень полезна.
Для пользователей настольных компьютеров Linux существует версия parted с графическим интерфейсом под названием GParted. Подробно о Gparted мы поговорим в отдельной статье в ближайшее время. Следите за обновлениями!
Ресурс:
- Веб-сайт GNU разделен
Связанное чтение:
- Как создавать разделы диска и управлять ими с помощью Fdisk в Linux
- Как найти тип смонтированной файловой системы в Linux