Управление дисками в Linux: fdisk, parted, gdisk, GNOME Disks, KDE Partition Manager | Практическое руководство | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

Управление дисками в Linux: fdisk, parted, gdisk, GNOME Disks, KDE Partition Manager | Практическое руководство

18 мая 2026 10 мин. чтения
Содержание статьи

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

Материал охватывает ключевые консольные утилиты fdisk, parted, gdisk, а также графические инструменты GNOME Disks и KDE Partition Manager. Каждый раздел содержит конкретные примеры команд, их вывод и пояснения. Инструкции основаны на практическом опыте и адаптированы для реальных задач администрирования серверов и рабочих станций.

Базовые принципы и подготовка: что нужно знать перед началом работы с дисками

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

Физический диск (например, /dev/sda, /dev/nvme0n1) содержит разделы (/dev/sda1, /dev/sda2), на которых создаются файловые системы (ext4, XFS). Для безопасного управления необходимо четко различать эти уровни. Перед внесением изменений используйте следующие команды для получения полной картины.

Диагностика текущего состояния: lsblk, blkid и df

Команда lsblk -f отображает древовидную структуру всех блочных устройств, их разделов, файловых систем и точек монтирования. Это основной инструмент для визуализации.

NAME        FSTYPE   LABEL    UUID                                 MOUNTPOINT
nvme0n1
├─nvme0n1p1 vfat              5A7B-3F2C                            /boot/efi
├─nvme0n1p2 ext4               a1b2c3d4-e5f6-7890-1234-567890abcd  /
└─nvme0n1p3 swap               9e8f7d6c-5b4a-3210-fedc-ba0987654321  [SWAP]

Команда blkid выводит список всех разделов с их UUID и типами файловых систем. UUID - уникальный идентификатор, который предпочтительнее использовать в конфигурационных файлах (например, /etc/fstab) вместо имен устройств (/dev/sda1), так как он не меняется при переподключении дисков.

/dev/nvme0n1p2: UUID="a1b2c3d4-e5f6-7890-1234-567890abcd" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="12345678-01"
/dev/nvme0n1p1: UUID="5A7B-3F2C" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="12345678-02"

Команда df -h показывает использование дискового пространства на смонтированных файловых системах в удобном для человека формате (гигабайты, мегабайты). Она помогает быстро определить, какие разделы заполнены.

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2   50G   15G   33G  31% /

Перед выполнением операций по разметке или форматированию убедитесь, что выбранное устройство не содержит несмонтированных, но важных данных. Для этого можно использовать команду mount | grep /dev/sdX или проверить вывод lsblk. Если вы администрируете сервер, эти же команды помогут быстро оценить состояние хранилища, что полезно при мониторинге производительности.

Разметка дисков: консольные утилиты fdisk, parted и gdisk

После идентификации целевого диска наступает этап разметки - создания или изменения разделов. Выбор утилиты зависит от типа таблицы разделов: MBR (Master Boot Record, устаревающий стандарт) или GPT (GUID Partition Table, современный стандарт). GPT поддерживает диски объемом более 2 ТБ и позволяет создавать более 4 основных разделов.

Для работы с MBR традиционно используется fdisk. Для GPT предпочтительнее parted (универсальный) или gdisk (специализированный). parted также поддерживает MBR и удобен для написания скриптов.

fdisk: классический инструмент для работы с таблицей разделов MBR

Запустите утилиту для нужного диска: sudo fdisk /dev/sdb. fdisk работает в интерактивном режиме. Основные команды внутри утилиты:

  • p - вывести текущую таблицу разделов.
  • n - создать новый раздел. Вам предложат выбрать тип (primary/extended) и указать первый и последний сектор (можно указать размер, например, +10G).
  • t - изменить тип раздела. Для обычного раздела Linux используется тип 83, для swap - 82.
  • w - записать изменения на диск и выйти. Это финальная и необратимая операция.
  • q - выйти без сохранения изменений.

Пример последовательности для создания основного раздела под Linux на всем диске:

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048): [Enter]
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519): [Enter]
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 83
Command (m for help): w

parted: универсальный и мощный инструмент для GPT и скриптов

Утилита parted более современна и поддерживает оба стандарта. Её можно использовать как интерактивно (sudo parted /dev/sdb), так и в режиме одной команды, что удобно для автоматизации.

Создание GPT таблицы и раздела с помощью одной команды:

sudo parted /dev/sdb mklabel gpt mkpart primary ext4 1MiB 100%

Эта команда создает новую таблицу разделов GPT на /dev/sdb, затем создает основной раздел, занимающий весь диск (от 1 МиБ до 100%), с файловой системой ext4 (это лишь метка, реальное форматирование делается отдельно командой mkfs). Использование 1 MiB в качестве начальной точки обеспечивает выравнивание разделов для оптимальной производительности на SSD и современных HDD.

В интерактивном режиме parted использует команды типа print, mkpart, rm, quit.

gdisk: специализированный инструмент для таблиц разделов GPT

Утилита gdisk (часто устанавливается пакетом gdisk) аналогична fdisk по интерфейсу, но работает только с GPT. Запуск: sudo gdisk /dev/sdb. Команды очень похожи на fdisk: n для создания раздела, p для просмотра, w для записи. gdisk предоставляет более детальный контроль над атрибутами разделов GPT.

После выполнения любой из этих утилит и записи изменений (w) может потребоваться обновить информацию о разделах в ядре командой sudo partprobe /dev/sdb или перезагрузка.

Форматирование и создание файловых систем: команды mkfs и mount

После создания раздела на нем необходимо создать файловую систему. В Linux для этого используется семейство команд mkfs.*. Выбор файловой системы зависит от задач: ext4 - надежный и универсальный выбор для большинства случаев, XFS - хорошо показывает себя с большими файлами и высокой параллельной нагрузкой, Btrfs - предлагает продвинутые функции вроде снапшотов и сжатия.

Создание файловой системы: от ext4 до XFS

Для форматирования раздела /dev/sdb1 в ext4 выполните:

sudo mkfs.ext4 -L data_disk /dev/sdb1

Опция -L задает метку тома, что упрощает его идентификацию. Для создания файловой системы XFS:

sudo mkfs.xfs -f -L fast_volume /dev/sdb1

Ключ -f принудительно форматирует раздел, даже если на нем уже есть файловая система. Выбор между ext4 и XFS часто сводится к специфике нагрузки: XFS может быть предпочтительнее для баз данных или медиахранилищ, в то время как ext4 остается стандартом для корневых и загрузочных разделов.

Монтирование разделов: временное и постоянное (fstab)

Чтобы получить доступ к отформатированному разделу, его необходимо смонтировать в каталог файловой системы. Временное монтирование выполняется командой mount:

sudo mkdir -p /mnt/data
sudo mount /dev/sdb1 /mnt/data

После перезагрузки это монтирование сбросится. Для автоматического монтирования при загрузке нужно добавить запись в файл /etc/fstab. Использование UUID вместо имени устройства предотвращает ошибки, если порядок подключения дисков изменится. Получить UUID можно командой blkid.

Пример строки для /etc/fstab:

UUID=a1b2c3d4-e5f6-7890-1234-567890abcd /mnt/data ext4 defaults,noatime 0 2

Структура строки: устройство (UUID), точка монтирования, тип файловой системы, опции, dump, pass. Опция noatime отключает запись времени последнего доступа к файлу, что может повысить производительность. После редактирования fstab проверьте запись командой sudo mount -a - она смонтирует все, что описано в файле, без перезагрузки.

Графические инструменты: GNOME Disks и KDE Partition Manager для рабочих станций

Хотя командная строка - основной инструмент для серверов, на рабочих станциях или при настройке домашнего NAS визуальные утилиты могут ускорить выполнение простых операций. Они предоставляют интуитивно понятный интерфейс для просмотра структуры дисков, создания и форматирования разделов.

GNOME Disks: простой и интегрированный инструмент для базовых операций

Утилита GNOME Disks (пакет gnome-disk-utility) обычно предустановлена в средах GNOME. Она позволяет:

  • Просматривать SMART-атрибуты диска.
  • Создавать и удалять разделы с помощью графического мастера.
  • Форматировать разделы в различные файловые системы (ext4, NTFS, FAT).
  • Настраивать параметры монтирования и редактировать /etc/fstab через интерфейс.

Чтобы создать раздел, выберите диск, нажмите на «плюс» (+), укажите размер, тип и файловую систему. Все изменения применяются после подтверждения. Этот инструмент идеален для быстрой подготовки внешнего USB-накопителя или добавления второго диска на рабочую станцию.

KDE Partition Manager: более мощный инструмент с расширенными функциями

KDE Partition Manager (пакет partitionmanager) предлагает более широкий функционал, чем GNOME Disks. Помимо базовых операций, он поддерживает:

  • Изменение размера существующих разделов (при условии, что файловая система это позволяет).
  • Копирование и восстановление разделов.
  • Работу с шифрованными разделами (LUKS).
  • Более детальное управление таблицами разделов.

Интерфейс также визуализирует свободное пространство на диске. KDE Partition Manager подходит для более сложных задач на десктопах, например, для переразметки диска с сохранением данных или настройки шифрования. Однако для серверных развертываний и автоматизации скрипты на основе parted остаются незаменимыми.

Диагностика проблем и мониторинг здоровья дисков

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

SMART-мониторинг: предупреждение сбоев с помощью smartctl

Утилита smartctl (из пакета smartmontools) читает данные самодиагностики диска (SMART). Проверка общего состояния здоровья:

sudo smartctl -H /dev/sda

Вывод PASSED означает, что диск считает себя исправным. Для детального анализа всех атрибутов выполните:

sudo smartctl -a /dev/sda

Обращайте внимание на ключевые параметры:

  • Reallocated_Sector_Ct - количество переназначенных секторов. Рост этого значения указывает на деградацию поверхности диска.
  • Current_Pending_Sector - секторы, которые не могут быть прочитаны и ждут переназначения. Ненулевое значение - тревожный признак.
  • Temperature_Celsius - температура диска. Перегрев сокращает срок службы.

Регулярный мониторинг этих атрибутов позволяет планировать замену дисков до их полного выхода из строя.

Восстановление файловой системы: использование fsck

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

Для проверки раздела /dev/sdb1 с файловой системой ext4 выполните:

sudo umount /dev/sdb1  # Убедитесь, что раздел отмонтирован!
sudo fsck.ext4 -f /dev/sdb1

Ключ -f принудительно запускает проверку, даже если файловая система помечена как чистая. Утилита будет задавать вопросы о исправлении ошибок. Для автоматического исправления можно использовать ключ -y, но перед этим, по возможности, создайте резервную копию данных. В сложных случаях повреждения, когда стандартные средства не помогают, может потребоваться использование специализированных инструментов восстановления данных.

Для поиска ошибок, связанных с дисками, в логах ядра используйте команду dmesg | grep -i error или journalctl -k --since="1 hour ago" | grep -i sda.

Практические сценарии для системного администратора и DevOps

Объединим полученные знания в конкретные пошаговые сценарии, которые часто встречаются в работе.

Сценарий 1: Добавление нового диска для данных на сервере.

  1. Определите новый диск: lsblk. Пусть это будет /dev/sdb.
  2. Создайте таблицу разделов GPT и один раздел на всем диске: sudo parted /dev/sdb mklabel gpt mkpart primary xfs 1MiB 100%.
  3. Отформатируйте раздел в XFS: sudo mkfs.xfs -f /dev/sdb1.
  4. Создайте точку монтирования: sudo mkdir -p /var/lib/database.
  5. Получите UUID раздела: sudo blkid /dev/sdb1.
  6. Добавьте строку в /etc/fstab: UUID=<ваш_uuid> /var/lib/database xfs defaults,noatime 0 0.
  7. Смонтируйте: sudo mount -a.

Сценарий 2: Быстрая подготовка внешнего SSD для резервных копий на рабочей станции.

  1. Подключите диск и откройте GNOME Disks или KDE Partition Manager.
  2. Выберите диск, удалите существующие разделы (при необходимости).
  3. Создайте новый раздел на всем пространстве, выберите файловую систему ext4.
  4. Отформатируйте, задайте метку тома (например, «Backup»).
  5. Смонтируйте диск, скопируйте данные. Для автоматического монтирования в будущем используйте опцию в GUI или добавьте запись в fstab, как показано выше.

Сценарий 3: Регулярный мониторинг здоровья дисков на сервере.

Создайте простой скрипт для проверки SMART-статуса всех дисков и отправки алерта при обнаружении проблем. Пример основы для скрипта:

#!/bin/bash
for disk in /dev/sd[a-z]; do
    if [ -e "$disk" ]; then
        status=$(sudo smartctl -H "$disk" | grep -E "(PASSED|FAILED)" | awk '{print $NF}')
        if [ "$status" = "FAILED" ]; then
            echo "CRITICAL: Disk $disk reports SMART failure." | mail -s "Disk Alert" admin@example.com
        fi
    fi
done

Заключительные рекомендации:

  • Всегда проверяйте команды на тестовой системе или виртуальной машине перед выполнением на продакшене.
  • Для монтирования в /etc/fstab всегда используйте UUID, а не имена устройств вроде /dev/sda1.
  • Ведите документацию по изменениям в конфигурации дисков и файловых систем.
  • Помните, что операции с дисками потенциально опасны для данных. Наличие актуальной резервной копии - обязательное условие перед любыми манипуляциями. Для восстановления случайно удаленных файлов с внешних носителей существуют отдельные методики.

Освоив эти инструменты и подходы, вы сможете уверенно управлять дисковым пространством в любых средах - от облачных серверов до домашних NAS. Комбинация консольных утилит для точности и автоматизации и графических инструментов для наглядности покрывает все потребности системного администратора или DevOps-инженера. Для автоматизации более сложных сценариев, таких как оркестрация контейнеров, рассмотрите возможности сервисов на основе ИИ, которые могут помочь в генерации скриптов или конфигураций.

Поделиться:
Сохранить гайд? В закладки браузера