- Команда parted в Linux
- Синтаксис parted
- Опции и команды parted
- Разметка диска в Linux
- Выводы
- Как создавать разделы диска в Linux
- Вариант 1: разбить диск на разделы с помощью команды parted
- Шаг 1. Список разделов
- Шаг 2: Откройте диск для хранения
- Шаг 3: Создайте таблицу разделов
- Шаг 4: проверьте таблицу
- Шаг 5: Создайте раздел
- Вариант 2: разбить диск на разделы с помощью команды fdisk
- Шаг 1. Список существующих разделов
- Шаг 2: Выберите диск для хранения
- Шаг 3: Создайте новый раздел
- Шаг 4: запись на диск
- Отформатируйте раздел
- Смонтировать раздел
Команда 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 они были удаленны. Но программа не стала хуже.
Я понимаю что сейчас разметка дисков в 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 осуществляется по их номерам. Давайте уменьшим последний раздел и создадим после него ещё один:
(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.
Как создавать разделы диска в Linux
Создание разделов диска позволяет разделить жесткий диск на несколько разделов, которые действуют независимо.
В Linux пользователи должны структурировать устройства хранения (USB и жесткие диски) перед их использованием. Разбиение на разделы также полезно, когда вы устанавливаете несколько операционных систем на одном компьютере.
В этом пошаговом руководстве вы узнаете, как создать раздел с помощью команды Linux parted или fdisk .
Вариант 1: разбить диск на разделы с помощью команды parted
Выполните следующие действия, чтобы разбить диск в Linux с помощью команды parted .
Шаг 1. Список разделов
Перед созданием раздела составьте список доступных запоминающих устройств и разделов. Это действие помогает определить устройство хранения, которое вы хотите разбить на разделы.
Выполните следующую команду с sudo, чтобы вывести список устройств хранения и разделов:
Терминал распечатывает доступные устройства хранения с информацией о:
- Model — Модель запоминающего устройства.
- Disk — Имя и размер диска.
- Sector size — логический и физический размер памяти. Не путать с доступным дисковым пространством.
- Partition Table — тип таблицы разделов (msdos, gpt, aix, amiga, bsd, dvh, mac, pc98, sun и loop).
- Disk Flags — разделы с информацией о размере, типе, файловой системе и флагах.
- Primary (Основной) — содержит файлы операционной системы. Можно создать только четыре основных раздела.
- Extended (Расширенный) — особый тип раздела, в котором можно создать более четырех основных разделов.
- Logical (Логический) — Раздел, созданный внутри расширенного раздела.
В нашем примере есть два устройства хранения — /dev/sda и /dev/sdb
Примечание. Первый диск хранения ( dev/sda или dev/vda ) содержит операционную систему. Создание раздела на этом диске может сделать вашу систему не загружаемой. Создавайте разделы только на дополнительных дисках ( dev/sdb , dev/sdc , dev/vdb или dev/vdc ).
Шаг 2: Откройте диск для хранения
Откройте диск хранения, который вы собираетесь разделить, выполнив следующую команду:
Всегда указывайте запоминающее устройство. Если вы не укажете имя диска, он будет выбран случайным образом. Чтобы сменить диск на dev/sdb , выполните:
Шаг 3: Создайте таблицу разделов
Прежде чем разбивать диск, создайте таблицу разделов. Таблица разделов расположена в начале жесткого диска и хранит данные о размере и расположении каждого раздела.
Типы таблиц разделов: aix, amiga, bsd, dvh, gpt, mac, ms-dos, pc98, sun и loop.
Чтобы создать таблицу разделов, введите следующее:
mklabel [partition_table_type]
Например, чтобы создать таблицу разделов gpt, выполните следующую команду:
Введите Yes , чтобы выполнить:
Примечание. Два наиболее часто используемых типа таблиц разделов — это gpt и msdos. msdos поддерживает до шестнадцати разделов и форматирует до 16 ТБ, а gpt форматирует до 9,4 ЗБ и поддерживает до 128 разделов.
Шаг 4: проверьте таблицу
Запустите команду print , чтобы просмотреть таблицу разделов. На выходе отображается информация об устройстве хранения:
Примечание. Запустите команду help mkpart , чтобы получить дополнительную справку о том, как создать новый раздел.
Шаг 5: Создайте раздел
Давайте создадим новый раздел размером 1854 Мбайт, используя файловую систему ext4. Назначенное начало диска должно быть 1 МБ, а конец диска — 1855 МБ.
Чтобы создать новый раздел, введите следующее:
mkpart primary ext4 1MB 1855MB
После этого запустите команду print , чтобы просмотреть информацию о вновь созданном разделе. Информация отображается в разделе Disk Flags:
В таблице разделов gpt, тип раздела — это обязательное имя раздела. В нашем примере primary — это имя раздела, а не тип раздела.
Чтобы сохранить свои действия и выйти, введите команду quit . Изменения сохраняются автоматически с помощью этой команды.
Примечание. Сообщение «You may need to update /etc/fstab file» сигнализирует о том, что раздел может быть смонтирован автоматически во время загрузки.
Вариант 2: разбить диск на разделы с помощью команды fdisk
Выполните следующие действия, чтобы разбить диск в Linux с помощью команды fdisk .
Шаг 1. Список существующих разделов
Выполните следующую команду, чтобы вывести список всех существующих разделов:
Вывод содержит информацию о дисках и разделах хранилища:
Шаг 2: Выберите диск для хранения
Выберите диск для хранения, на котором вы хотите создать разделы, выполнив следующую команду:
Диск /dev/sdbstorage открыт:
Шаг 3: Создайте новый раздел
- Запустите команду n , чтобы создать новый раздел.
- Выберите номер раздела, набрав номер по умолчанию (2).
- После этого вас попросят указать начальный и конечный сектор вашего жесткого диска. Лучше всего ввести в этом разделе номер по умолчанию (3622912).
- Последний запрос связан с размером раздела. Вы можете выбрать несколько секторов или установить размер в мегабайтах или гигабайтах. Введите + 2 GB , чтобы установить размер раздела 2 ГБ.
Появится сообщение, подтверждающее создание раздела.
Шаг 4: запись на диск
Система создала раздел, но изменения не записываются на диск.
1. Чтобы записать изменения на диск, выполните команду w :
2. Убедитесь, что раздел создан, выполнив следующую команду:
Как видите, раздел /dev/sdb2 создан.
Отформатируйте раздел
После создания раздела с помощью команды parted или fdisk отформатируйте его перед использованием.
Отформатируйте раздел, выполнив следующую команду:
Смонтировать раздел
Чтобы начать взаимодействие с диском, создайте точку монтирования (mount point) и смонтируйте к ней раздел.
1. Создайте точку монтирования, выполнив следующую команду:
2. После этого смонтируйте раздел, введя:
sudo mount -t auto /dev/sbd1 /mt/sdb1
Терминал не распечатывает вывод, если команды выполнены успешно.
3. Убедитесь, что раздел смонтирован, с помощью команды df hT :