Использование fdisk и sfdisk в среде Linux
fdisk for Linux используется для создания разделов для Linux.
Естественно, его можно использовать для создания разделов других типов. Каждая
операционная система имеет свою версию fdisk. Рекомендуется для создания разделов
конкретной операционной системы использовать ее "родную" версию fdisk.
Запуск
fdisk <drive>
В примере я буду издеваться над старым винтом на 683 цилиндра
# fdisk /dev/hda
Comamnd (m for help):
Для получения справки можно ввести m
Command action
a toggle a bootable flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
p print the partition table
q quit without saving changes
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)
Нам потребуются только p, n, q, w
Для начала распечатаем таблицу разделов
Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes
Device Boot Begin Start End Blocks Id
System
/dev/hda1 * 1
1 203 61693 6 DOS 16-bit >=32M
Имеется один DOS-раздел приблизительно на 60М ( 1 блок = 1024 байт ). Этот раздел
начинается с первого цилиндра и заканчивается на 203-ем. Всего на диске 683
цилиндра, т.е. для создания раздела(ов) Linux у нас осталось 480 цилиндров.
Создаем новый раздел (команда n)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Задаем тип создаваемого раздела (первичный или расширенный).
Отличие первичного от расширенного состоит в следующем
- может существовать только 4 первичных раздела
- в первичных разделах могут храниться данные, а расширенный
раздел содержит информацию о разделах, которые находятся в нем
В нашем примере создадим 2 первичных раздела - один раздел для
файловой системы Linux (Linux Native) и раздела для своппинга (подкачки) Linux
Swap
Partition number (1-4): 2
First cylinder (204-683): 204
Last cylinder or +size or +sizeM or +sizeK (204-683): +80M
Номер первичного раздела - 2. Первый цилиндр - 204. Последний цилиндр вычисляется
автоматически. Здесь можно ввести непосредственно номер последнего цилиндра, но
это неудобно. Проще ввести размер в байтах
+размер, в Кб или в Мб - +размерK +размерМ соответственно.
Теперь создадим второй раздел для своппинга.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (474-683): 474
Last cylinder or +size or +sizeM or +sizeK (474-683):
+10M
По умолчанию fdisk создаст раздел типа Linux Native (81). Нам
нужно изменить его на тип Linux Swap (82). Это можно сделать с помощью команды
t, а с помощью команды L можно просмотреть доступные типы разделов.
Теперь распечатаем таблицу разделов
Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes
Device Boot Begin Start End Blocks
Id System
/dev/hda1 * 1
1 203 61693 6 DOS
16-bit >=32M
/dev/hda2 204 204
473 82080 81 Linux Native
/dev/hda3 474 474
507 10336 82 Linux Swap
Номера цилиндров 508-683 не использованы - здесь можно создать
дополнительные разделы.
Теперь нужно ввести команду w
Command (m for help): w
для того, чтобы записать таблицу разделов на диск. До тех пор, пока вы не введете
эту команду, ни одно из сделанных изменений не даст эффекта. Вы можете в любой
момент выйти из программы без сохранения изменений, введя команду q.
Теперь, согласно традиции, нужно упомянуть о проблеме 1024-го
цилиндра. Старые версии Linux не могут загружаться с разделов на цилиндрах более
1024-го. Поэтому раздел для корневой файловой системы нужно стараться разместить
на цилиндрах до 1023-го. Однако Linux может использовать разделы на цилиндрах
более 1024-го.
Пример выполнения sfdisk в среде Linux
Программа sfdisk в Linux показывает всю цепочку:
[root]# sfdisk -l -x /dev/hda
Disk /dev/hda: 784 cylinders,
255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes,
blocks of 1024 bytes, counting from 0
Device Boot |
Start |
End |
#cyls |
#blocks |
Id |
System |
/dev/hda1 * |
0+ |
189 |
190- |
1526143+ |
6 |
FAT16 |
/dev/hda2 |
190 |
783 |
594 |
4771305 |
5 |
Extended |
/dev/hda3 |
0 |
- |
0 |
0 |
0 |
Empty |
/dev/hda4 |
0 |
- |
0 |
0 |
0 |
Empty |
/dev/hda5 |
190+ |
380 |
191- |
1534176 |
6 |
FAT16 |
- |
381 |
783 |
403 |
3237097+ |
5 |
Extended |
- |
190 |
189 |
0 |
0 |
0 |
Empty |
- |
190 |
189 |
0 |
0 |
0 |
Empty |
/dev/hda6 |
381+ |
783 |
403- |
3237066 |
7 |
HPFS /NTFS |
|
- |
381 |
380 |
0 |
0 |
0 |
Empty |
- |
381 |
380 |
0 |
0 |
0 |
Empty |
- |
381 |
380 |
0 |
0 |
0 |
Empty |
|