Управление разделами с помощью fdisk

We use cookies. Read the Privacy and Cookie Policy

Программа fdisk позволяет напрямую выполнять низкоуровневые операции с дисковыми устройствами (такими, как жесткие диски и флеш-диски). С помощью этого инструмента можно изменять, удалять и создавать разделы на устройстве. Чтобы приступить к работе с флеш-диском, его нужно сначала размонтировать (если прежде он был смонтирован) и затем запустить программу fdisk, как показано ниже:

[me@linuxbox ~]$ sudo umount /dev/sdb1

[me@linuxbox ~]$ sudo fdisk /dev/sdb

Обратите внимание, что здесь нужно указать имя, соответствующее устройству, целиком, без номера раздела. После запуска программы вы увидите следующее приглашение:

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

)

После ввода команды m на экране появится меню программы:

Справка:

DOS (MBR)

a изменить флаг загрузочного раздела

b изменить вложенную BSD-метку диска

c переключить флаг совместимости с DOS

Общие

d удалить раздел

F список свободного нераспределенного пространства

l список известных типов разделов

n добавить новый раздел

p показать таблицу разделов

t изменить тип раздела

v проверить таблицу разделов

i печать информации о разделах

Разное

m показать это меню

u изменить единицы отображения/ввода

x дополнительные функции (только для экспертов)

Script

I загрузка разметки диска из файла сценария sfdisk

O сохранение разметки диска в файле сценария sfdisk

Сохранить и выйти

w сохранить таблицу на диск и выйти

q выйти без сохранения изменений

Создать новую метку

g создать новую пустую таблицу разделов GPT

G создать новую пустую таблицу разделов SGI (IRIX)

o создать новую пустую таблицу разделов DOS

s создать новую пустую таблицу разделов Sun

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

Command (m for help): p

Disk /dev/sdb: 16 MB, 16006656 bytes

1 heads, 31 sectors/track, 1008 cylinders

Units = cylinders of 31 * 512 = 15872 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 2 1008 15608+ b W95 FAT32

Обратите внимание, что устройство имеет объем 16 Мбайт и единственный раздел (1), занимающий 1006 цилиндров из 1008 доступных на устройстве. Раздел идентифицирован как раздел Windows 95 FAT32. Некоторые программы используют этот идентификатор, ограничивая виды операций с диском, но чаще изменение идентификатора не влечет серьезных последствий. Однако ради демонстрации мы изменим его, чтобы показать, что это раздел Linux. Для этого нужно сначала узнать, какой идентификатор обозначает разделы Linux. В листинге, приведенном выше, мы видели, что существующий раздел имеет идентификатор (столбец Id) b. Чтобы увидеть список известных типов разделов, вернитесь к меню программы и обратите внимание на пункт:

l список известных типов разделов

Если ввести команду l, появится длинный список допустимых типов разделов. Среди них можно увидеть идентификатор b типа существующего раздела и идентификатор 83 для Linux. Вернемся обратно к меню программы, где можно увидеть команду изменения идентификатора раздела:

t изменить тип раздела

Введите t и затем новый идентификатор:

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 83

Changed system type of partition 1 to 83 (Linux)

Это все изменения, которые нам нужно было сделать. До этого момента никаких изменений на самом устройстве не было произведено (все изменения пока просто зафиксированы в памяти программы, а не на физическом устройстве), поэтому теперь запишем измененную таблицу разделов на устройство и выйдем.

Для этого введите команду w:

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x

partitions, please see the fdisk manual page for additional

information.

Syncing disks.

[me@linuxbox ~]$

Если бы мы решили оставить устройство в неизменном состоянии, то могли бы ввести команду q и покинуть программу без записи изменений на устройство. Преду­преждающее сообщение, выглядящее зловещим, можно просто игнорировать7.