У дистрибутивах Linux на KVM і OpenVZ VPS fdisk є найкращим інструментом для керування розділами диска. Fdisk є текстовою утилітою, яка досить проста в роботі і найчастіше знаходиться в пакеті разом із самим дистрибутивом. Використовуючи fdisk, можна створити новий розділ, видалити або змінити існуючий розділ.

За допомогою цієї утиліти ви можете створити максимум чотири первинні розділи, і будь-яку кількість логічних розділів, залежно від розміру диска.

Майте на увазі, що будь-яка зміна розділу може призвести до втрати всієї інформації на ньому.

Використання утиліти

Для початку з fdisk використовується команда формату fdisk <drive>, де <drive> — ім’я пристрою, якому необхідно виділити розділ. Наприклад, команда fdisk /dev/sda за промовчанням вибере перший диск на SATA-контролері. За необхідності створити розділи Linux на декількох пристроях, доведеться виконувати fdisk для кожного з них.

Для перевірки кількості пристроїв підключених до SATA-контролера можна застосувати команду

ls/dev | grep sd

Наприклад:

[root] # ls /dev | grep sd
sda
sdb

Починаємо роботу: обираємо потрібний диск

[root] # fdisk /dev/sda

Утиліта привітає вас та запропонує ввести команду:

Command (m for help):

Наприклад викличемо список команд:

Command (m for help): m
Command action
      a   toggle a bootable flag  
      b   edit bsd disklabel
      c   toggle the dos compatibility flag
      d   delete a partition
      l   list known partition types
      m   print this menu
      n   add a new partition
      o   create a new empty DOS partition table
      p   print the partition table
      q   quit without saving changes
      s   create a new empty Sun disklabel
      t   change a partition's system id
      u   change display/entry units
      v   verify the partition table
      w   write table to disk and exit
      x   extra functionality (experts only)
                                   
Command (m for help):

Нижче переклад значень команд на українську:

      a   встановити/зняти прапор завантажувального розділу (утиліта запросить номер розділу)
      b   редагувати bsd мітку диска
      c   переключити прапор сумісності із dos
      d   видалити розділ
      l   список відомих типів розділів
      m   показати це меню
      n   додати новий розділ
      o   створити нову порожню таблицю розділів у стилі DOS
      p   показати існуючу таблицю розділів
      q   вийти без збереження змін
      s   створити новий розділ з міткою Sun
      t   змінити мітку типу розділу
      u   змінити відображення/запис блоків
      v   перевірити таблицю розділів
      w   зберегти зміни та вийти
      x   додаткові можливості (тільки для експертів)

Команда fdisk –l виведе список існуючих розділів, якщо такі є.

Для перегляду розділів одного вибраного диска використовуйте такий варіант цієї команди:

fdisk -l /dev/sda

Приступаємо до створення розділів:

Для початку створимо boot

Command (m for help): n  
Partition type:
     p     primary (0 primary, 0 extended, 4 free)
     e     extended

Програма запитує тип розділу. Первинний чи логічний відповідно. Вибираємо первинний та його номер:

Command (m for help): n
Partition type:
     p     primary (0 primary, 0 extended, 4 free)
     e     extended
Select (default p): p
Partition number (1-4, default 1): 1

Далі програма запитає про розміщення початку розділу (фахівці рекомендують створювати завантажувальний розділ ближче до початку диска):

Command (m for help): n
Partition type:
     p     primary (0 primary, 0 extended, 4 free)
     e     extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (4096-784932712): 4096

Утиліта запитає розмір майбутнього розділу: номер початкового та номер кінцевого циліндра або розмір розділу

Command (m for help): n
Partition type:
     p     primary (0 primary, 0 extended, 4 free)
     e     extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (4096-784932712): 4096
Last sector, +sectors or +size{K,M,G} (4096-784932712, default 784932712): +100M

Розділ готовий, про що нам повідомить програма:

Command (m for help): n
Partition type:
     p     primary (0 primary, 0 extended, 4 free)
     e     extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (4096-784932712): 4096
Last sector, +sectors or +size{K,M,G} (4096-784932712, default 784932712): +100M
Partition 1 of type Linux and of size 100 MiB is set

Таким же чином створюємо своп-розділ та розділ під програми та бібліотеки:

Command (m for help): n
Partition type:
     p     primary (1 primary, 0 extended, 3 free)
     e     extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (196876-784932712): 196876
Last sector, +sectors or +size{K,M,G} (196876-784932712, default 784932712): +8G
Partition 2 of type Linux and of size 8 GiB is set

Розділ для свопу створюємо з розрахунку ОЗПх2 якщо розмір ОЗП менше 6 гігабайт і ОЗПх1 якщо більше.

Command (m for help): n
Partition type:
     p     primary (2 primary, 0 extended, 2 free)
     e     extended
Select (default p): p
Partition number (1-4, default 3): 3
First sector (2882342-784932712): 2882342
Last sector, +sectors or +size{K,M,G} (2882342-784932712, default 784932712): +40G
Partition 3 of type Linux and of size 40 GiB is set

Створюємо розширений розділ з якого створюватимемо логічні:

Command (m for help): n
Partition type:
     p     primary (2 primary, 0 extended, 2 free)
     e     extended
Select (default p): p
Partition number (1-4, default 3): 3
First sector (1684378-784932712): 1684378
Last sector, +sectors or +size{K,M,G} (1684378-784932712, default 784932712): 784932712
Partition 4 of type Linux and of size 204 GiB is set

Створюємо 2 логічні розділи:

Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (1684378-784932712): 1684378
Last sector, +sectors or +size{K,M,G} (1684378-784932712, default 784932712): +100G
Partition 5 of type Linux and of size 100 GiB is set

Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (392466356-784932712): 392466356
Last sector, +sectors or +size{K,M,G} (392466356-784932712, default 784932712): +104G
Partition 5 of type Linux and of size 104 GiB is set

Також ми повинні обов’язково встановити прапор завантажувального розділу і змінити мітку своп-розділу:

Command (m for help): a
Partition number (1-6): 1

Змінюємо мітку свопу (для того, щоб дізнатися потрібний HEX-код, в полі «Hex code (type L to list codes):» введіть велику L ).

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)      
Command (m for help): p

Зберігаємо зміни та виходимо.

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