Управление разделами с помощью fdisk
Программа 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.