fdisk

Создание и управление разделами на жестком диске

Примечание. Для запуска этой утилиты необходимо выполнить вход в систему под учетной записью root либо обладать полномочиями на чтение и запись для данного блок-ориентированного специального файла.

Синтаксис:

fdisk [-fpz] [-B загрузчик] диск [команда [аргументы]]

Поддерживаемые платформы:

Neutrino

Опции:

-B загрузчик

Использовать 512-байтный файл, указанный в аргументе загрузчик, в качестве первичной программы начальной загрузки для устройства. По умолчанию устанавливается загрузчик, встроенный в утилиту fdisk.

-f

Принудительная запись загрузчика даже при невозможности сохранения существующего старого загрузчика в смонтированной файловой системе. В неинтерактивном режиме работы используется совместно с командой loader для записи загрузчика в случаях, которые иначе привели бы к прерыванию выполнения команды. В интерактивном режиме, если не указана опция -f, выдается запрос на подтверждение операции; если же опция -f указана, выполнение команды продолжается без сохранения старого загрузчика.

-p

Пауза перед запуском.

-z

Обнулить таблицу разделов (только в интерактивном режиме).

диск

Диск для разбиения. Должен быть указан блок-ориентированный специальный файл (например, /dev/fd1, /dev/hd0).

[команда [аргументы]]


Команда установки, см. описание ниже.

Описание:

Утилита fdisk позволяет создавать разделы на жестком диске и управлять ими (обычно в роли жесткого диска выступает вращающийся носитель, однако утилита fdisk может работать и с другими устройствами, такими как карта Compact Flash или флэш-накопитель USB, если на них поддерживаются основные загрузочные записи (MBR) и разделы в стиле IBM PC). Формат информации о разделах, которая хранится в первом физическом блоке диска, совпадает с форматом, используемым в системе DOS.

На некоторых платформах fdisk поддерживает полноэкранный интерфейс; см. раздел "Интерактивный режим" далее.

Примечание.

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

Перед первым созданием раздела QNX 4 необходимо запустить драйвер жесткого диска:

devb-eide &

Затем необходимо вызвать утилиту fdisk для разбиения жесткого диска:

fdisk /dev/hd0 add

Файловая система QNX 4 автоматически не обрабатывает внесенные с помощью утилиты fdisk изменения в таблицу разделов. Файловую систему или драйвер (devb-*) необходимо либо принудительно остановить командой slay и перезапустить, либо распознать новые разделы при помощи вызова mount -e /dev/hd0 с обновлением содержимого /dev, либо выполнить перезагрузку.

Типы разделов

Утилита fdisk распознает следующие типы разделов. Если выполняется добавление раздела, для его инициализации необходимо использовать следующую команду.

Тип

Файловая система

Разделяемый объект

Команда инициализации

Команда проверки

1, 4 или 6

DOS

fs-dos.so

mkdosfs

chkdosfs

5

DOS, расширенная

Нет

Нет

Нет

7

Windows NTa

fs-nt.so

Нет

Нет

8 или 9

QNX 2

Нет

Нет

Нет

11, 12 или 14

FAT32

fs-dos.so

mkdosfs

chkdosfs

15

Windows 95, расширенная

Нет

Нет

Нет

77, 78 или 79

QNX 4

fs-qnx4.so

dinit

chkfsys

99

UNIX

Нет

Нет

Нет

130

Файл подкачки Linux

Нет

Нет

Нет

131

Linux (Ext2)

fs-ext2.so

Нет

Нет

133 или 147

Linux, расширенная

Нет

Нет

Нет

165

BSD

Нет

Нет

Нет

175

Macintosh Apple HFS или HFS Plusa

fs-mac.so

Нет

Нет

177, 178 или 179

Power-Safe

fs-qnx6.so

mkqnx6fs

chkqnx6fsb

a Только для чтения.

b Обычно не требуется.


Для получения дополнительной информации см. главу Filesystems ("Файловые системы") руководства по системной архитектуре.

Команды

Утилита fdisk при вызове непосредственно из командной строки поддерживает следующие команды:

add [аргументы]

Добавить новый раздел указанного размера и типа. Если утилита fdisk не может выделить достаточный объем нераспределенного дискового пространства для удовлетворения запроса, выделяется наибольший доступный участок жесткого диска (при наличии). Список аргументов команды add:

-b

Добавить загрузочный раздел. Если для другого раздела уже установлен флаг первичного раздела начальной загрузки, этот флаг снимается.

-c начало,конец

Начало и конец участка диска, на котором требуется создать раздел.

-p процент


Доля наибольшего непрерывного объема в процентах, которую должен занять новый раздел. Значение по умолчанию – 100%.

Если указана опция -c, опция -p игнорируется.

-s слот

Используемый слот в таблице разделов. По умолчанию используется первый открытый слот.

-t тип

Тип добавляемого раздела (0–255). Значение по умолчанию – 77.

boot [аргументы]

Установить флаг загрузки для указанного раздела. Если для другого раздела уже установлен флаг первичного раздела начальной загрузки, этот флаг снимается. Аргументы команды boot:

-s слот

Загрузить раздел из выбранного слота.

-t тип

Загрузить раздел выбранного типа.

delete [аргументы]

Удалить указанные разделы. Аргументы команды delete:

-a

Удалить все разделы.

-s слот

Удалить разделы в выбранном слоте.

-t тип

Удалить раздел этого типа.

info


Отобразить информацию о монтировании для неформатированного диска.

Утилита fdisk выполняет вызов devctl(DCMD_CAM_DEVINFO) для получения информации о количестве цилиндров, головок, секторов на дорожку и общего числа секторов. Классическим методом получения общего числа секторов является перемножение первых трех значений.

Однако в некоторых жестких дисках используется запись битов по зонам, которая не позволяет точно отобразить число секторов на дорожку и другие поля. В результате общее количество секторов, возвращаемое devctl(), и общее количество секторов, полученное в результате расчета, могут расходиться. В этом случае утилита fdisk выводит предупреждение.

loader

Записать загрузчик QNX на диск.

query [аргументы]

Вывести количество цилиндров в стандартный поток вывода. Аргументы команды query:

-f

Вывести информацию об общем объеме свободного пространства.

-s слот

Запросить раздел в выбранном слоте.

-T

Вывести информацию об общем объеме пространства.

-t тип

Запросить раздел выбранного типа.

show


Отобразить таблицу разделов.

Интерактивный режим

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

FDISK

Ignore Next Prev 1 2 3 4 Change Delete Boot Unboot Restore Loader Save Quit

_____OS_____ Start End ______Number_____ Size Boot

name type Cylinder Cylinder Cylinders Blocks

--> 1. QNX6 (177) 0 7648 7649 122881122 60000 MB

2. QNX6 (178) 7649 9963 2315 37190475 18159 MB *

3. ______ (___) _______ _______ _______ _________ _____

4. ______ (___) _______ _______ _______ _________ _____

Choose a partition by typing the partition number OR moving the pointer

with the UP/DOWN arrows.

Then, choose one of the actions on the top line of the screen.

Drive : /dev/hd0 Config: 255 Heads

Size : 78159 Mbytes 63 Sectors/track

Loader: Unknown 9964 Cylinders

512 Block Size

Last cylinder is 9963


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

Доступны следующие команды:

Команда

Действие

Next

Перемещение указателя к следующей записи.

Prev

Перемещение указателя к предыдущей записи.

1, 2, 3 или 4

Перемещение указателя на указанную запись.

Change

Изменение выбранного раздела (см. ниже).

Delete

Удаление выбранного раздела.

Boot

Установка флага загрузки для выбранного раздела. Если для другого раздела уже установлен флаг первичного раздела начальной загрузки, этот флаг снимается.

Unboot

Снятие флага загрузки для выбранного раздела.

Restore

Восстановление предыдущей программы начальной загрузки, отличной от загрузчика QNX.

Loader

Замена программы начальной загрузки на загрузчик QNX.

Save

Выход с сохранением всех изменений. Выполняется запись на устройство; эту команду невозможно отменить.

Quit

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




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

Примеры:

Создание раздела QNX 4, занимающего половину диска или наибольший участок свободного пространства, если недостаточно пространства для нового раздела в половину диска:

fdisk /dev/hd0 add -t 77 -p 50

То же, но раздел загрузочный:

fdisk /dev/hd0 add -b -t 77 -p 50

В продолжение любого из вышеприведенных примеров: повторное чтение таблицы разделов, создание файловой системы QNX 4 на новом разделе с последующим монтированием этой файловой системы:

mount -e /dev/hd0

dinit -h /dev/hd0t77

mount -t qnx4 /dev/hd0t77 /mnt/q4fs

Создание загрузочного раздела для файловой системы "Power-Safe", повторное чтение таблицы разделов, форматирование нового раздела с последующим монтированием:

fdisk /dev/hd0 add -b -t 179 -p 50

mount -e /dev/hd0

mkqnx6fs /dev/hd0t179

mount -t qnx6 /dev/hd0t179 /mnt/psfs

Статус завершения:

0

Успешно.

>0


Возникла ошибка; fdisk выводит сообщения об ошибках в стандартный поток ошибок.

Предупреждения:

После изменения любой информации о разделе необходимо либо принудительно остановить работу файловой системы/драйвера (devb-*) командой slay с последующим перезапуском, либо выполнить команду mount -e для повторного чтения всей таблицы разделов.