C помощью Linux команды fdisk можно разбить диск на разделы, удалить или изменить разделы, изменить тип файловой системы раздела, выбрать загрузочный раздел.

Прежде чем запустить fdisk, выберите диск для разметки:

ls /dev | grep sd
sda
sda1
sda2
sdb

Посмотрите таблицу разделов своих дисков.

/sbin/fdisk -l /dev/sda

Диск /dev/sda: 8589 МБ, 8589934592 байт
255 heads, 63 sectors/track, 1044 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000ebbb6

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *           1          25      200781   83  Linux
/dev/sda2              26        1044     8185117+  8e  Linux LVM
/sbin/fdisk -l /dev/sdb

Диск /dev/sdb: 12.8 ГБ, 12884901888 байт
255 heads, 63 sectors/track, 1566 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

На диске /dev/sdb отсутствует верная таблица разделов

Далее с утилитой fdisk будем работать в интерактивном режиме, выбирая с помощью клавиатуры необходимое действие.

Запустим fdisk для работы с SATA жестким диском зарегистрированным в системе как sdb

/sbin/fdisk /dev/sdb
Устройство не содержит ни верной таблицы разделов DOS, ни метки диска Sun, SGI или OSF
Building a new DOS disklabel with disk identifier 0x56be41ba.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.


Количество цилиндров для этого диска установлено в 1566.
С этим все в порядке, но значение больше, чем 1024,
и в отдельных установках могут возникнуть проблемы с:
1) программами, запускаемым при загрузке (напр., старые версии LILO)
2) загрузкой и программами разметки из других ОС
   (напр., DOS FDISK, OS/2 FDISK)
Предупреждение: неверный флаг 0x0000 таблицы разделов 4 будет исправлен записью

Команда (m для справки):

Посмотрим, какие команды доступны в fdisk

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

Посмотрим, какие файловые системы обслуживает fdisk

Команда (m для справки): l

 0  Пустой          24  NEC DOS         81  Minix / старый  bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux своп / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 скрытый ди c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux расширен  c7  Syrinx         
 5  Расширенный     41  PPC PReP Boot   86  NTFS набор томо da  Данные не ФС   
 6  FAT16           42  SFS             87  NTFS набор томо db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2-я част 8e  Linux LVM       df  BootIt         
 9  AIX загрузочный 4f  QNX4.x 3-я част 93  Amoeba          e1  DOS access     
 a  OS/2 Boot-менед 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS фс        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 расшир. (LB 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC з
11  Скрытый FAT12   56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq диагност 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Скрытый FAT16 < 61  SpeedStor       ab  Darwin загрузоч f2  DOS вторичный  
16  Скрытый FAT16   63  GNU HURD или Sy af  HFS / HFS+      fb  VMware VMFS    
17  Скрытый HPFS/NT 64  Novell Netware  b7  BSDI фс         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI своп       fd  Автоопределение
1b  Скрытый W95 FAT 70  DiskSecure Mult bb  Boot Wizard скр fe  LANstep        
1c  Скрытый W95 FAT 75  PC/IX           be  Solaris загр.   ff  BBT            
1e  Скрытый W95 FAT 80  Old Minix

Создадим на диске с помощью утилиты fdisk раздел для /boot

Команда (m для справки): n
Действие команды
   e   расширенный
   p   основной раздел (1-4)
p
Номер раздела (1-4): 1
Первый цилиндр (1-1566, по умолчанию 1): 1
Последний цилиндр или +size или +sizeM или +sizeK (1-1566, по умолчанию 1566): +50M

Установим флаг загрузочного раздела

Команда (m для справки): a
Номер раздела (1-4): 1

Создадим на диске раздел для swap

Команда (m для справки): n       
Действие команды
   e   расширенный
   p   основной раздел (1-4)
p
Номер раздела (1-4): 2
Первый цилиндр (8-1566, по умолчанию 8): 8
Последний цилиндр или +size или +sizeM или +sizeK (8-1566, по умолчанию 1566): +2048M

Установим тип этого раздела в swap

Команда (m для справки): t
Номер раздела (1-4): 2
Шестнадцатеричный код (введите L для получения списка кодов): 82
Системный тип раздела 2 изменен на 82 (Linux своп / Solaris)

Создадим на диске раздел для /

Команда (m для справки): n
Действие команды
   e   расширенный
   p   основной раздел (1-4)
p
Номер раздела (1-4): 3
Первый цилиндр (258-1566, по умолчанию 258): 258
Последний цилиндр или +size или +sizeM или +sizeK (258-1566, по умолчанию 1566): +4096M

Проверим, какие разделы на диске будут созданы с помощью утилиты fdisk.

Команда (m для справки): p

Диск /dev/sdb: 12.8 ГБ, 12884901888 байт
255 heads, 63 sectors/track, 1566 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x56be41ba

Устр-во    Загр     Начало       Конец     Блоки    Id  Система
/dev/sdb1   *           1           7       56196   83  Linux
/dev/sdb2               8         257     2008125   82  Linux своп / Solaris
/dev/sdb3             258         756     4008217+  83  Linux

Запишем таблицу разделов на диск

Команда (m для справки): w
Таблица разделов была изменена!

Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.

Выход из программы fdisk без сохранения изменений.

Команда (m для справки): q