ryg

fdisk управление разделами в Mac OS X и BSD

 

Синтаксис:

     fdisk [-ieu] [-f mbrname] [-c cylinders] [-h heads] [-s sectors] [-S size] [-b size] device

Описание:

Для того, чтобы BIOS компьютера мог загрузить ядро операционной системы должны соблюдаться определённые соглашения. Нулевой сектор загрузочного жесткого диска должен содержать загрузочный код, таблицу разделов MBR и "магическое число" (0xAA55). Таблица разделов MBR (иногда BIOS partititions) позволяет разделить жесткий диск на несколько частей.
BIOS загружает нулевой сектор в память, проверяет "магическое число" и начинает выполнять код, начиная с первого байта. Нормальный загрузочный код DOS ищет таблицу разделов MBR, находит "активный" раздел (обозначается '*' в первой колонке), и если он найден, то загрузочный блок из этого раздела загружается и выполняется вместо оригинального (MBR -Master Boot Record) загрузочного блока.

Параметры:

-i Инициализировать сектор MBR.
-a style Автоматически определить стиль разбивки диска.
-e Редактировать существующие сектора MBR.
-f mbrname Определяет альтернативное имя временного файла MBR.
-u Обновить загрузочный код, не изменяя таблицу разделов.
-y Не требовать подтверждения перед записью.
-d Сделать дамп таблицы разделов в понятном формате (вместе с параметром -r).
-r Прочитать таблицу разделов из стандартного ввода.
-t Проверить, разбит ли диск на разделы.
-c cylinders,
-h heads,
-s sectors
Определяет размер раздела в формате BIOS.
-S size  Определяет раздел диска в блоках
-b size
Определяет количество байт в блоке
 

Программа fdisk может разбить диск на разделы и установить один из них активным. Без вызова дополнительных флагов будет напечатана таблица разделов указанного диска:

	 $ fdisk /dev/rdisk1
	
	 Disk: /dev/rdisk1     geometry: 80/2/18 [2880 sectors]
         Offset: 0             Signature: 0xAA55
                  Starting        Ending
          #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
         ----------------------------------------------------------------------
         *1: A6    0   0   1 -   79   1  18 [         0 -       2880] OpenBSD
          2: 00    0   0   0 -    0   0   0 [         0 -          0] unused
          3: A7    0   0   2 -   79   1  18 [         1 -       2879] NEXTSTEP
          4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
		 
Выводится "синтетическая геометрия диска", если не указана другая с помощью ключей -c, -h, -s, -S, -b. В будующем fdisk будет получать данные геометрии из регистра IOKit.
В данном случае диск разбит на два раздела полностью занимая весь объем диска.
 
Колонки
#                 Номер раздела. "*" - означает загрузочный раздел
id                 Системный идентификатор. В OpenBSD зарезервировано десятичное число 166 (A6 -в шестнадцатеричном коде). Если не найден раздел 166, то будет использован старый код разделов FreeBSD десятичное 165  (A5 -шестнадцатеричное). Mac OS X (Darwin) использует другой код.
cel/hd/sec     Эти колонки показывают начальный и конечный адрес раздела в "геометрии BIOS".
start/size       Эти колонки показывают начальный сектор и размер секторов раздела в линейных блоках.
 
Использование параметра -i означает, что данные раздела будут проинициализированы и fdisk полностью перезапишет первичную запись MBR и таблицу разделов. Сделано это будет с помощью стандартного шаблона, либо с помощью шаблона заданного в параметре -f.
 
В ядре Darwin, стандартный шаблон делает загрузочным раздел номер 1 и охватывает интервал размером 8 мегабайт начиная с цилиндра 0, головки 1, сектора 1. Раздел номер 2 будет сконфигурирован как раздел Darwin HFS на всю остальную часть диска. Такой режим предназначен для первичного разделения диска, либо после его повреждения без возможности восстановления.
 
Можно определить стиль раздела параметром -a style. Доступные стили:
 
boothfs        Создать загрузочный раздел 8мБ (тип A8 -шестнадцатеричное) и сделать все остальное пространство
                          диска Darwin HFS разделом (тип AF -шестнадцатеричное).
hfs              Сделать текущий диск HFS+ (Mac OS extented AF-шестнадцатеричное)
dos             Сделать текущий диск разделом DOS (тип 0C -шестнадцатеричное)
raid             Сделать текущий диск разделом типа AC--шестнадцатеричное.
 
 
Параметр -u используется для обновления загрузочного кода указанного диска. Загрузочный код MBR находится начиная с адреса 0x000 по 0x1BE. Параметр работает подобно параметру -i, но не изменяет при этом таблицу разделов. Эта опция полезна для записи нового загрузочного кода на существующий диск с данными и эквивалентна команде DOS "FDISK/MBR". 
Замечание: данный параметр может перезаписать описание дисков формата NT. Параметры -u и -i являются взаимоисключающими и вместе не используются.
Параметр -e используется для интерактивного редактирования таблицы разделов. Данный режим разработан для изменения любых разделов на выбранном диске, включая дополнительные разделы. Это очень полезный режим, вы можете редактировать разделы сколько угодно, но они не будут изменены, пока вы не дадите команду write (записать) и не подтвердите ее явно в ответ на запрос о записи изменений.
Командный режим
Когда вы в первый раз войдете в данный режим вы увидите подсказку командной строки в виде: fdisk: >. Эта подсказка несет важную информацию, если был модифицирован загрузочный блок (в оперативной памяти), то подсказка примет вид  fdisk:* >. Второй дополнительной информацией в подсказке может быть числ указанное в ней. Оно указывает смещение  от текущего загрузочного блока до места редактирования.
 
Список команд для командного режима fdisk
 
help  - Отобразить список команд, которые fdisk понимает в режиме интерактивного редактирования
manual - Отобразить полное руководство
reinit - Проинициализировать загрузочного блока в оперативной памяти, который сейчас выбран.
auto - Сделать один раздел на диске на весь диск в заданном стиле (смотреть параметр -a).
disk - Вывести информацию о текущем диске.
edit - Редактировать в копии находящейся в оперативной памяти текущий загрузочный блок. Можно редактировать таблицу разделов используя "геометрию BIOS".
setpid - Изменить идентификатор раздела в текущей таблице разделов. Команда особенно полезна для переопределения существующего раздела в OpenBSD.
flag - Сделать текущую таблицу разделов загружаемой. Один из разделов будет помечен как загрузочный. Если вы хотите сделать загрузочным разделом дополнительный раздел, то  его необходимо пометить соответствующим образом.
update обновить машинный код в копии загрузочного блока.
select - Выбрать и загрузить в память загрузочного блока таблицу разделов из текущего загрузочного блока.
print - Распечатать текущую копию загрузочного блока и таблица разделов на экране терминала.
write - Сохранить из оперативной памяти загрузочный блок и таблицу разделов на диск. fdisk потребует подтверждения данного действия.
exit - Выйти из текущего уровня fdisk. Либо возвращение к предыдущей копии загрузочного блока, либо если ее нет выход из fdisk
quit - Aналогично exit, но пытается сохранить отредактированные копии загрузочных блоков.
abort - Выйти из fdisk без сохранения.
Замечания
 
Редактирование существующего раздела является рискованным мероприятием и может привести к потере существующих данных.
В можете использовать командный режим для тренировок, это абсолютно безопасно, пока вы не введете команду write и не подтвердите ее.

Другие команды управления дисками:

diskutil дисковая утилита
fsck - проверка и восстановление дисков. Используется в однопользовательском режиме.
Алфавитный список команд terminal в Mac OS X