Команда Fdisk в Linux (Создание разделов диска)

Первое, что вам нужно сделать после установки нового SSD или жесткого диска, это разделить его. На диске должен быть хотя бы один раздел, прежде чем вы сможете отформатировать его и хранить на нем файлы.
В Linux есть несколько инструментов, которые вы можете использовать для создания разделов, fdisk является наиболее часто используемым.
В этой статье мы поговорим о команде fdisk.
fdisk — утилита командной строки на основе меню, позволяющая создавать таблицы разделов на жестком диске и управлять ими.
Помните, что fdisk это опасный инструмент, и его следует использовать с особой осторожностью. Только root или пользователи с привилегиями sudo могут манипулировать таблицами разделов.
Список разделов
Чтобы отобразить таблицу разделов устройства, вызовите команду fdisk с параметром -l, а затем имя устройства. Например, чтобы вывести список таблицы разделов /dev/sda и разделов, которые вы запустите:
fdisk -l /dev/sda
Если в качестве аргумента не указано устройство, fdisk напечатает таблицы разделов всех устройств, перечисленных в файле /proc/partitions:
fdisk -l
Disk /dev/nvme0n1: 232.91 GiB, 250059350016 bytes, 488397168 sectors Disk model: Samsung SSD 960 EVO 250GB Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 6907D1B3-B3AB-7E43-AD20-0707A656A1B5 Device Start End Sectors Size Type /dev/nvme0n1p1 2048 1050623 1048576 512M EFI System /dev/nvme0n1p2 1050624 34605055 33554432 16G Linux swap /dev/nvme0n1p3 34605056 488397134 453792079 216.4G Linux filesystem Disk /dev/sda: 465.78 GiB, 500107862016 bytes, 976773168 sectors Disk model: WDC WD5000AAKS-0 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0001cca3 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 976771071 976769024 465.8G 83 Linux
Вывод выше показывает текущие таблицы разделов всех устройств, подключенных к вашей системе. Как правило, имена устройств SATA соответствуют шаблону /dev/sd[a-z], а имена устройств NVMe имеют следующий шаблон /dev/nvme[1-9]n[1-9].
Создание таблицы разделов
Чтобы начать разбиение диска, запустите fdiskс именем устройства. В этом примере мы будем работать над /dev/sdb:
fdisk /dev/sdb
Командная строка изменится, и откроется диалоговое окно fdisk, в котором вы можете вводить команды:
Welcome to fdisk (util-linux 2.34). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
Чтобы получить список всех доступных команд, введите m:
m
Если вы создаете разделы на новом диске, прежде чем начинать создавать разделы, вам необходимо создать таблицу разделов. Пропустите этот шаг, если на устройстве уже есть таблица разделов, и вы хотите ее сохранить.
fdisk поддерживает несколько схем разбиения. MBR и GPT являются двумя наиболее популярными стандартами схем разделов, которые хранят информацию о разделениях на диске другим способом. GPT — это более новый стандарт, имеющий много преимуществ по сравнению с MBR. Основные моменты, которые следует учитывать при выборе стандарта разделения:
- Используйте MBR для загрузки диска в устаревшем режиме BIOS.
- Используйте GPT для загрузки диска в режиме UEFI.
- Стандарт MBR поддерживает создание раздела на диске размером до 2 TiB. Если у вас диск объемом 2 TiB или больше, используйте GPT.
- MBR имеет ограничение в 4 основных раздела. Если вам нужно больше разделов, один из основных разделов может быть установлен как расширенный раздел и содержать дополнительные логические разделы. С GPT вы можете иметь до 128 разделов. GPT не поддерживает расширенные или логические разделы.
В этом примере мы будем использовать таблицу разделов GPT.
Введите g, чтобы создать новую пустую таблицу разделов GPT:
g
Вывод будет выглядеть примерно так:
Created a new GPT disklabel (GUID: 4649EE36-3013-214E-961C-51A9187A7503).
Следующим шагом является создание новых разделов.
Мы создадим два раздела. Первый размером 100 ГиБ, второй займет оставшееся место на диске.
Запустите команду n для создания нового раздела:
n
Вам будет предложено ввести номер раздела. Нажмите «Enter», чтобы использовать значение по умолчанию (1):
Partition number (1-128, default 1):
Далее команда попросит вас указать первый сектор. Как правило, всегда рекомендуется использовать значения по умолчанию для первого значения. Нажмите «Enter», чтобы использовать значение по умолчанию ( 2048):
First sector (2048-500118158, default 2048):
В следующем приглашении вам нужно будет ввести последний сектор. Вы можете использовать абсолютное значение для последнего сектора или относительное значение для начального сектора, используя символ +, следующий за размером раздела. Размер может быть указан в кибибайтах (K), мебибайтах (M), гибибайтах (G), тебибайтах (T) или пебибайтах (P).
Введите +100G, чтобы установить размер раздела 100 GiB:
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-500118158, default 500118158): +100G
Created a new partition 1 of type 'Linux filesystem' and of size 100 GiB.
По умолчанию тип нового раздела установлен как “Linux filesystem”, что в большинстве случаев подходит. Если вы хотите изменить тип, нажмите l, чтобы получить список типов разделов, а затем нажмите t, чтобы изменить тип.
Давайте создадим второй раздел, который займет оставшееся место на диске:
n
Используйте значения по умолчанию для номера раздела, первого и последнего секторов. Это создаст раздел, который будет использовать все доступное пространство на диске.
Partition number (2-128, default 2): First sector (209717248-625142414, default 209717248): Last sector, +/-sectors or +/-size{K,M,G,T,P} (209717248-625142414, default 625142414):
Закончив создание разделов, используйте команду p для отображения новой таблицы разделов:
p
Disk /dev/sdb: 298.9 GiB, 320072933376 bytes, 625142448 sectors Disk model: nal USB 3.0 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: F8365250-AF58-F74E-B592-D56E3A5DEED1 Device Start End Sectors Size Type /dev/sdb1 2048 209717247 209715200 100G Linux filesystem /dev/sdb2 209717248 625142414 415425167 198.1G Linux filesystem
Сохраните изменения, выполнив команду w:
p
Команда запишет таблицу на диск и выйдет из меню fdisk.
The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
Ядро прочитает таблицу разделов устройства без необходимости перезагрузки системы.
Активация разделов
Теперь, когда разделы созданы, следующим шагом является форматирование разделов и их монтирование в системное дерево каталогов.
Мы отформатируем оба раздела в ext4:
sudo mkfs.ext4 -F /dev/sdb1 sudo mkfs.ext4 -F /dev/sdb2
mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 51928145 4k blocks and 12984320 inodes Filesystem UUID: 63a3457e-c3a1-43f4-a0e6-01a7dbe7dfed Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done
В этом примере будут монтироваться разделы каталогов /mnt/audio и /mnt/video.
Создайте точки монтирования с помощью команды mkdir:
sudo mkdir -p /mnt/audio /mnt/video
Смонтируйте новый раздел:
sudo mount /dev/sdb1 /mnt/audio sudo mount /dev/sdb2 /mnt/video
Разделы останутся подключенными, пока вы не размонтируете их или не выключите машину. Чтобы автоматически смонтировать раздел при запуске системы Linux, определите монтирование в файле /etc/fstab.
Все! Теперь вы можете использовать новые разделы для хранения ваших файлов.
Вывод
fdisk — это инструмент командной строки для создания схем разделов. Для получения дополнительной информации о команде fdisk введите man fdisk в свой терминал.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Большое спасибо за подробное объяснение, очень помогли!