Linux partition manager terminal

Команда parted в Linux

При переустановке системы, установке нового дистрибутива или просто реорганизации файловых систем мы часто имеем дело с жесткими дисками. Часто нужно добавлять, удалять или изменять размер разделов, управлять их флагами или конвертировать файловые системы. Для этого в Linux есть достаточно различных инструментов как с графическим интерфейсом, так и консольных. Разобраться в графическом интерфейсе Gparted, я думаю вам не составит труда, но в некоторых случаях бывает нужна разбивка жесткого диска на разделы linux в терминале, без доступа к Х серверу, а это может стать серьезной проблемой.

В этой статье мы разберем как выполнять основные операции, которые мы привыкли делать в Gparted, такие как разметка диска, удаление и создание раздела, в терминале, а поможет в этом команда parted Linux. Сначала рассмотрим саму команду parted.

Синтаксис parted

Синтаксис parted выглядит следующим образом:

$ parted [опции] устройство [команда]

В квадратных скобках указанны необязательные аргументы.

  • опции указывают как будет работать программа, например, интерактивный режим работы или скриптовый, или нужно просто вывести справку.
  • устройство — жесткий диск с которым будет работать программа.
  • команда — действие которое нужно выполнить над жестким диском.

Опции и команды parted

У parted всего несколько опций и огромное количество команд.

  • -h — вывести справку о программе
  • -v — вывести версию программы
  • -s — скриптовый режим, программа работает без запросов к пользователю
  • -i — интерактивный режим, пользователь вводит команды в интерактивном режиме. По умолчанию программа работает в этом режиме.

Команд не очень много, но даже помнить их все вовсе не обязательно. Рассмотрим только те, которые нам пригодятся в сегодняшних примерах:

  • help команда — помощь по выбранной команде;
  • mkpart тип раздела файловая система начало конец — создание раздела linux с файловой системой начиная с позиции начало заканчивая конец, два последних параметра задаются в мегабайтах по умолчанию;
  • mktable тип — создать таблицу разделов;
  • print — отобразить таблицу разделов;
  • quit — выйти;
  • resizepart раздел конец — изменить размер раздела;
  • rm раздел — удалить раздел;
  • select раздел — установить раздел как текущий;
  • set раздел флаг состояние — установить флаг для раздела. Состояние может быть on (включен) или off(выключен).

Раньше поддерживались также опции работы с файловой системой mkfs, check, mkpartfs но начиная с версии 2.4 они были удаленны. Но программа не стала хуже.

Читайте также:  Выполнение bash скрипта linux

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

Разметка диска в Linux

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

Создадим себе тестовый полигон командой:

sudo dd if=/dev/zero of=/disk.img count=2000 bs=1M

Таким образом, мы получим файл размером 2000 мегабайт, заполненный нулями, с которым можно спокойно работать. Запустим parted, передав ему вместо устройства наш файл:

Когда надо будет работать с реальным диском, просто передайте путь к файлу его устройства утилите:

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

Он пуст потому что даже нет таблицы разделов. Пока её нет, разметка дисков в Linux не может быть выполнена, нам предстоит ее создать. Для этого воспользуйтесь командой mktable:

Будем мы создали таблицу разделов типа gpt, но можно выбрать одну из этих: aix, amiga, bsd, dvh, gpt_sync_mbr, gpt, mac, msdos, pc98, sun, loop

Теперь давайте создадим новый раздел с файловой системой ext2 размером 100 мегабайт. Для этого есть команда mkpart, как вы помните ей нужно передать три параметра: тип раздела, файловую систему и координаты. Тип раздела может быть: primary, logical, extended (первичный, логический и расширенный).

В gpt можно создавать нужное количество первичных разделов и не задумываться об их типе. Это все было создано для MBR, в этой таблице есть ограничение на количество первичных разделов — только четыре. Поэтому приходилось создавать три первичных и один расширенный, в который вкладывались уже сколько нужно логических.

Ну так вот, создаем первичный:

(parted) mkpart primary ext2 0 400М

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

Смотрим список разделов еще раз:

Создадим еще несколько разделов, например для корня системы и для домашней папки:

(parted) mkpart primary ext4 400 1000M

(parted) mkpart primary ext4 1000M -0M

Параметр -0 означает вести отсчет от конца раздела, таким образом будет занято все доступное пространство под третий раздел. Смотрим что получилось:

Читайте также:  Linux mint vs kubuntu

Работа с диском в Linux осуществляется по их номерам. Давайте уменьшим последний раздел и создадим после него ещё один:

(parted) resizepart 3 1600M

Также можно указать нужный размер в процентах:

А теперь создание раздела parted:

mkpart primary ext4 1600M -0M

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

Зададим метки для существующих разделов с помощью команды name:

Сделаем первый раздел загрузочным командой set:

Можно устанавливать следующие флаги: boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres, bios_grub, atvrecv, diag, legacy_boot, type, irst.

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

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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:

Check Parted Version

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.

Find Linux Disk Labels

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.

Читайте также:  Linux на amd athlon

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.

Choose Linux Disk 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.

Linux Parted Command Help

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:

List Linux Partition Label Types

We will use msdos as it is an ideal recommendation for generic Linux.

Set Linux Partition Label

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.

Check Linux Disk Space

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:

Create Linux Primary Partition

The Start and End values of this partition are 0 and 10GB respectively. To confirm that the partition space has been used.

Confirm Linux Primary Partition

To create 5GB Primary Partition:

Create Linux Logical 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:

Confirm Linux Logical Partition

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:

Delete Linux Partition

To resize Linux partition 1 by shrinking or increasing its partition size:

Resize Linux Partition

To make partition Number 1 bootable:

Make Linux Partition Bootable

To learn more on parted commands, reference the command:

Источник

Оцените статью
Adblock
detector