Skip to main content

Управление дисками (fdisk)

Введение и меры предосторожности

ВНИМАНИЕ: Деструктивная операция!

`fdisk` — это мощный инструмент, который напрямую изменяет структуру вашего диска. Неправильное использование может привести к полной и необратимой потере всех данных на диске. Перед началом работы:

  • Убедитесь, что у вас есть резервная копия всех важных данных.
  • Дважды проверьте имя диска (например, `/dev/sdb`, а не `/dev/sda`), чтобы не отформатировать системный диск.

`fdisk` — это стандартная утилита командной строки Linux для создания и управления таблицами разделов диска. Она поддерживает как старый формат MBR (Master Boot Record), так и современный GPT (GUID Partition Table).

Пошаговое руководство: разметка нового диска

Шаг 1: Идентификация диска

Используйте `lsblk` для просмотра блочных устройств. Новый, неразмеченный диск обычно не будет иметь подразделов.

lsblk

Предположим, наш новый диск — `/dev/sdb`.

Шаг 2: Запуск fdisk

Запустите fdisk в интерактивном режиме для нужного диска.

sudo fdisk /dev/sdb

Шаг 3: Работа в интерактивном режиме (основные команды)

После запуска fdisk вы попадаете в его командную строку. Вот основные команды:

  • m — показать меню помощи со всеми командами.
  • p — показать текущую таблицу разделов. Полезно для просмотра текущего состояния диска.
  • g — (Рекомендуется) создать новую, пустую таблицу разделов GPT. Это современный стандарт, снимающий ограничения MBR (диски > 2ТБ, до 128 разделов).
  • o — создать новую, пустую таблицу разделов MBR. Используйте только для совместимости со старыми системами.
  • n — создать новый раздел. Утилита спросит номер раздела, первый и последний сектор. Можно указать размер, например, `+50G`.
  • d — удалить раздел. Утилита спросит номер раздела для удаления.
  • t — изменить тип раздела. Полезно для создания разделов под LVM (`Linux LVM`) или swap (`Linux swap`). Команда `L` выведет список всех доступных типов.
  • w — (Важно!) записать изменения на диск и выйти. Все сделанные вами изменения станут постоянными.
  • q — выйти без сохранения изменений. Безопасный способ отменить все, что вы сделали.

Шаг 4: Обновление информации в ядре

После записи изменений (`w`), ядро Linux может не сразу "увидеть" новую таблицу разделов. Чтобы сообщить ядру об изменениях без перезагрузки, используйте `partprobe`.

sudo partprobe /dev/sdb

Шаг 5: Создание файловой системы

Теперь, когда раздел создан (например, `/dev/sdb1`), его нужно отформатировать, то есть создать на нем файловую систему. `ext4` — отличный выбор по умолчанию.

sudo mkfs.ext4 /dev/sdb1

После этого раздел готов к монтированию. Информацию о монтировании смотрите в соответствующей вкладке.

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

Ниже приведен полный пример команд и ответов в `fdisk` для разметки диска `/dev/sdb` с одним разделом типа "Linux filesystem" с использованием GPT.

$ sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command.

Device does not contain a recognized partition table.

Command (m for help): g Created a new GPT disklabel (GUID: ...).

Command (m for help): n Partition number (1-128, default 1): <ENTER> First sector (2048-..., default 2048): <ENTER> Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-..., default ...): <ENTER>

Created a new partition 1 of type 'Linux filesystem' and of size ...

Command (m for help): p Disk /dev/sdb: ... GiB, ... bytes, ... sectors ... Disklabel type: gpt Disk identifier: ...

Device Start End Sectors Size Type /dev/sdb1 2048 ... ... ...G Linux filesystem

Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.