Linux Programmer's Manual

 НАЗВАНИЕ 

cfdisk - Основанное на экранных меню средство работы с разделами диска
под Linux

 КОНСПЕКТ 

cfdisk [ -avz ] [ -c цилиндров ] [ -h головок ] [ -s секторов на дорожку
] [ -P opt ] [ устройство ]

 ОПИСАНИЕ 

cfdisk - это основанная на экранных меню программа для формирования
разделов (partition) жесткого диска. Устройство может быть любым из
числа следующих:

/dev/hda [умолчание] /dev/hdb /dev/sda /dev/sdb /dev/sdc /dev/sdd

cfdisk сначала пытается считать геометрию жесткого диска. Если это
не удается, выдается сообщение об ошибке и программа завершается.
Это должно происходить только при разбиении SCSI устройств на адаптерах
без BIOS. Для разрешения этой проблемы надо задать в командной строке
количество цилиндров, дорожек и секторов на дорожке. После этого cfdisk
пытается прочитать текущую таблицу разделов (partition table) с диска.
Если программа не может найти таблицу, выводится сообщение об ошибке
и программа завершается. Это также может быть вызвано неверной информацией
о геометрии диска может быть преодолено заданием информации в командной
строке. Другой путь состоит в использовании опции -z. В таком случае
таблица разделов на диске будет игнорироваться. Главный экран разбит
по вертикали на четыре секции: заголовок, разделы диска, командная
строка и строка сообщений. Заголовок содержит имя программы с номером
версии и имя устройства с его геометрией. Секция разделов диска всегда
показывает текущую таблицу разделов. Командная строка - это место
для ввода команд и текста. Допустимые команды обычно приведены в квадратных
скобках. Строка сообщений обычно пуста, пока не потребуется выдать
важное сообщение. Текущий раздел обычно выделен дополнительным цветом
(или стрелкой, если была задана орция -a). Все команды, относящиеся
к разделам, применяются к текущему разделу.

Таблица разделов (the partition table) представлена в секции разделов
диска в следующем виде (слева направо): Имя, Флаги, Тип раздела, Тип
файловой системы, Размер. Имя - это имя раздела на устройстве. Флаги
могут быть Boot, что означает загрузочный раздел, NC, что означает
несовместимость с DOS исл OS/2". DOS, OS/2 и возможно другие операционные
системы требуют, чтобы первый сектор первого раздела диска и все логические
разделы начинались со второй головки. При этом пропадают сектора со
второго до последнего на первой дорожке первой головки (первый сектор
занят самой таблицей разделов). cfdisk позволяет задействовать эти
"потерянные" сектора при помощи команды максимизации (m). Имейте в
виду, fdisk(8) и некоторые ранние версии DOS сразу создают все разделы
с максимизированным количеством секторов. Подробное изложене приведено
ниже, в описании команды m. Тип раздела может быть Primary или Logical.
Для неразбитого места на диске тип раздела может быть Pri/Log, или
empty-пустой (если пространство не используется). В секции тип файловой
системы выводится имя файловой системы, используемое для раздела диска
- если оно известно. В противном случае проставляется Unknown и шестнадцатеричное
значение типа файловой системы. Особый случай возникает, когда на
диске остаются сектора, которые не могут быть использованы (поскольку
все первичные разделы диска заняты). Когда такое обнаруживается, в
качестве типа файловой системы выводится Unusable. Поле размера показывает
размер раздела в мегабайтах (по умолчанию). Размер может также быть
задан в секторах и цилиндрах (см. ниже команду change units). Если
после размера стоит звездочка (*), это значит, что раздел не выравнен
по границе цилиндра. 

 DOS 6.x ПРЕДУПРЕЖДЕНИЕ 

Команда FORMAT MS DOS 6.x ищет информацию в первом секторе данных раздела
и рассматривает эту информацию как более зна чимую, чем информация
в таблизе разделов. DOS FORMAT предполагает, что FDISK очистит первые
512 байт в области данных раздела при любом изменении размера. DOS
FORMAT использует эту дополнительную информацию даже при наличии флага
/U - мы рассматривае это как ошибку DOS FORMAT и DOS FDISK.

Это приводит к тому, что при использовании cfdisk или fdisk, измененив
размер DOS раздела в таблице, вы должны при помощи dd обнулить первые
512 байт раздела до форматирования раздела программой DOS FORMAT.
Например, если вы использовали cfdisk чтобы создать в таблице DOS-овский
раздел для /dev/hda1, то (после выхода из fdisk или cfdisk и перезагрузки
Linux, так что информация из таблицы разделов актуальна) следует дать
команду "dd if=/dev/zero of=/dev/hda1 bs=512 count=1" для обнуления
первых 512 байт раздела. Внимание:

БУДЬТЕ ОЧЕНЬ ВНИМАТЕЛЬНЫ при использовании команды dd, поскольку маленькая
опечатка может испортить все данные на вашем диске.

Для лучшего результата стоит всегда использовать программу разбиения
диска, специфичную для ОС. Например, DOS-овский раздел следует создавать
программой DOS FDISK, а раздел Linux - программами Linux fdisk или
Linux cfdisk.

 КОМАНДЫ 

Команды cfdisk можно ввести, нажав на соответствующую клавишу (нажимать
Enter после команды необязательно). Приводим список доступных команд:

b Переключить флаг bootable (загрузочный) текущего раздела. Это позволяет
выбрать, какой из первичных разделов диска будет загрузочным.

d Удалить текущий раздел, Это преобразует раздел в свободное пространство
и объединит со свободным пространством, непосредственно примыкавшим
к разделу. Раздел, уже помеченный как свободное пространство или как
неиспользуемый (unusable) не может быть удален. g Изменить геометрию
диска (количество цилиндров, головок, секторов на дорожку). ВНИМАНИЕ:
эту команду можно использовать только тому, кто понимает, что он делает.
Опция изменения геометрии диска доступна и из командной строки. Из
командной строки можно задать количество цилиндров (c), головок (h),
секторов на дорожке (s). Значение по умолчанию будет выведено в приглашении
(prompt) командной строки, и его можно принять нажатием Enter или
же можно выйти без изменений по клавише ESC. Если вы хотите изменить
умалчиваемое значение, просто введите желаемое значение и нажмите
Enter. Измененные параметра диска не действуют, пока вы не вернетесь
в главное меню (нажатием Enter или ESC в командной строке изменения
геометрии диска. Если вы измените геометрию диска таким образом, что
диск фактически окажется больше, лишние сектора будут добавлены в
конце как свободное пространство. Если же диск окажется меньше, то
разделы, находящиеся за новым последним сектором удаляются, а последний
раздел на диске (или свободное пространство в конце диска) заканчивается
на новом последнем секторе.

h Вывести экран подсказки.

m Максимизировать использование диска в данном разделе. Эта команда
подключит неиспользуемое пространство между таблицей разделов и началом
раздела, но ценой потери совместимости с DOS, OS/2 и, возможно, другими
операционными системами. Опция переключает между максимальным использованием
диска и совместимостью с DOS, OS/2. Умолчанием при создании разделов
является совместимость с DOS и OS/2.

n Создать новый раздел из свободного пространства. Если тип раздела
Primary или Logical, то создастся раздел именно этого типа, но если
тип раздела - Pri/Log, вас запросят о типе, который вы хотите создать.
Имейте в виду, что (1) доступны только четыре блока для первичных
разделов и (2) поскольку может быть только один расширенный (extended)
раздел, который содержит все логические устройства, логические устройства
должны идти последовательно (не перемежаясь первичными разделами).
После этого cfdisk запросит вас о размере раздела, который вы хотите
создать. Размер данного раздела, по умолчанию равный имеющемуся свободному
пространству, выводится в мегабайтах. Вы можете либо нажать клавишу
Enter, чтобы принять значение по умолчанию, либо ввести другой размер.
cfdisk принимает размер, указанный в мегабайтах (М) [умолчание], килобайтах
(К), цилиндрах (С) и секторах (S), для чего следует ввести число,
и сразу за ним - одно из (M, K, C или S). Если раздел занимает все
свободное место, то после создания раздела вы возвращаетесь к главной
командной строке. В противном случае раздел может быть создан в начале
или в конце свободного пространства и программа спросит вас, где разместить
раздел. После создания раздела, если все первичные разделы уже заняты,
cfdisk автоматически выверяет типы других разделов.

p Печать таблицы разделов на экран или в файл. Формат таблицы разделов
можно выбирать из нескольких вариантов:

  r В виде сырых данных (ровно то, что будет записано на диск)

  s Как таблица разделов, расположенная по порядку секторов

  t Как таблица разделов в сыром виде

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

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

  Если начало или конец раздела не совпадают с границей цилиндра, или
  если длина раздела не делится на размер цилиндра, то выводятся номер
  невыравненного сектора и звездочка (*) после него. Обычно это означает,
  что раздел был создан операционной системой, которая либо не выравнивает
  разделы на границу цилиндра, либо пользовалась другой информацией
  о геометрии диска. Если вы знаете геометрию диска другой операционной
  системы, вы можете ввести эту информацию при помощи команды (g).

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

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

  В таблице разделов только по 10 бит отведено под номера стартового
  и конечного цилиндров. Поэтому, если стартовый (конечный) сектор
  имеет абсолютный номер больше 1023, выводятся максимальные значения
  для стартовых (конечных) головки, цилиндра и сектора. Этот метод
  используется в OS/2, и ликвидируется ошибка при изменении таблицы
  разделов при помощи fdisk OS/2. Когда Linux и OS/2 используют абсолютную
  нумерацию секторов, значения стартовых и конечных головок, секторов
  и цилиндров не используются.

q Выйти из программы (Quit). Выход из программы без записи каких-либо
данных на диск.

t Изменить тип файловой системы. По умолчанию, новые разделы создаются
как разделы Linux partitions, но cfdisk может создавать разделы для
лругих операционных систем, и можно ввести шестнадцатеричное значение
типа требуемой файловой системы. Список известных типов файловой системы
выодится на экран. Можно ввести тип файловой системы в командной строке
или выбрать систему [Linux] по умолчанию.

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

W Записать (Write) таблицу разделов на диск (вводите заглавную W).
Поскольку данные на диске могут быть разрушены, от вас потребуется
потвердить или отвергнуть запись, введя соответственно `yes' или `no'.
Если вы наберете `yes', cfdisk запишет таблицу разделов на диск и
сообщит ядру о необходимости заново считать таблицу разделов с диска.
Это повторное считывание таблицы разделов с диска в большинстве случаев
срабатывает, но мне встречался случай неудачи. Не пугайтесь. Все будет
в порядке после перезагрузки системы. В любом случае советую перезагрузить
систему - так спокойнее. 

Стрелки_вверх/вниз Передвинуть курсор на предыдущий или следующий раздел.
Если разделов больше, чем может уместиться на экране, можно высветить
следующую(предыдущую) группу разделов двигаясь вниз (вверх) от последнего
(первого) раздела на экране.

CTRL-L Перерисовывает экран. Если что-то не так и ничего невозможно
прочитать, можно обновить экран из главной командной строки

? Вывести на экран подсказку.

Все команды можно вводить на верхнем или нижнем регистре (кроме Writes).
Когда в подменю или по сообщению надо ввести имя файла, можно нажать
ESC и выйти в главную командную строку.

 ОПЦИИ 

-a Использовать указатель в виде стрелки вместо дополнительного цвета
для выделения текущего раздела.

-v Напечатать номер версии и копирайт.

-z Начинать с обнуленной таблицы разделов. Эта опция полезна, если
надо полностью переразбить диск на разделы. На самом деле опция не
обнуляет таблицу разделов на диске, программа просто не считывает
ее с диска. 

-c цилиндры

-h головки

-s секторов на дорожке. Изменить число цилиндров, головок и секторов
на дорожке по сравнению со считанными в BIOS. Если ваш BIOS или адаптер
не поддерживает эту информацию, или дает неверную информацию, используйте
эту опцию для задания геометрии диска

-P opt Выводит таблицу разделов в заданном формате. Prints the partition
table in specified formats. opt может принимать значения "r", "s"
или "t". Смотрите выше описание команды print, где более подробно
изложены форматы печати. 

SEE ALSO fdisk(8) 

BUGS The current version does not support multiple disks (future addition).

AUTHOR Kevin E. Martin (martin@cs.unc.edu)

The BOGUS Linux Release 3 June 1995    7