ab702cce71
Obtained from: The FreeBSD Russian Documentation Project
448 lines
12 KiB
Groff
448 lines
12 KiB
Groff
.\" %FreeBSD: src/sbin/fdisk/fdisk.8,v 1.39 2007/04/30 18:29:36 maxim Exp %
|
||
.\" $FreeBSDru: frdp/doc/ru_RU.KOI8-R/man/man8/fdisk.8,v 1.6 2007/11/20 13:50:08 ru Exp $
|
||
.\" $FreeBSD$
|
||
.\"
|
||
.Dd 30 апреля 2007
|
||
.Dt FDISK 8
|
||
.Os
|
||
.Sh НАЗВАНИЕ
|
||
.Nm fdisk
|
||
.Nd утилита управления таблицами слайсов PC
|
||
.Sh СИНТАКСИС
|
||
.Nm
|
||
.Op Fl BIaipstu
|
||
.Op Fl b Ar загрузчик
|
||
.Op Fl 1234
|
||
.Op Ar диск
|
||
.Nm
|
||
.Fl f Ar файл_конфигурации
|
||
.Op Fl itv
|
||
.Op Ar диск
|
||
.Sh ПРОЛОГ
|
||
Чтобы BIOS смог загрузить ядро, необходимо придерживаться определённых
|
||
соглашений.
|
||
Нулевой сектор диска должен содержать загрузочный код,
|
||
таблицу слайсов и магическое число.
|
||
Используя слайсы BIOS, диск может быть поделён на несколько частей.
|
||
BIOS считывает нулевой сектор и проверяет магическое число.
|
||
Затем загрузочный код из нулевого сектора проверяет таблицу слайсов,
|
||
чтобы найти слайс, помеченный как
|
||
.Dq активный .
|
||
Затем он считывает программу начальной загрузки из активного слайса,
|
||
и если слайс помечен как загрузочный, запускает её.
|
||
В
|
||
.Tn DOS
|
||
может быть несколько слайсов, один из которых будет активным.
|
||
Утилита
|
||
.Nm
|
||
для
|
||
.Tn DOS
|
||
позволяет разделить дисковое пространство на слайсы и пометить один
|
||
из них как активный.
|
||
.Sh ОПИСАНИЕ
|
||
Утилита
|
||
.Nm
|
||
для
|
||
.Fx
|
||
служит тем же целям, что и аналогичная ей утилита для
|
||
.Tn DOS .
|
||
Первая форма вызова используется для вывода информации о параметрах
|
||
слайсов или для её редактирования в интерактивном режиме.
|
||
Вторая \[en] для записи таблицы слайсов
|
||
c использованием файла конфигурации
|
||
.Ar файл_конфигурации ;
|
||
она предназначена для использования другими сценариями или программами.
|
||
.Pp
|
||
Имеются следующие опции:
|
||
.Bl -tag -width indent
|
||
.It Fl a
|
||
Только изменить активный слайс.
|
||
Игнорируется в сочетании с опцией
|
||
.Fl f .
|
||
.It Fl b Ar загрузчик
|
||
Использовать код загрузки из файла
|
||
.Ar загрузчик .
|
||
По умолчанию используется
|
||
.Pa /boot/mbr .
|
||
.It Fl B
|
||
Изменить код загрузки в нулевом секторе диска.
|
||
Игнорируется в сочетании с опцией
|
||
.Fl f .
|
||
.It Fl f Ar файл_конфигурации
|
||
Установить параметры слайсов из файла
|
||
.Ar файл_конфигурации .
|
||
С помощью файла конфигурации меняются параметры только явно
|
||
указанных слайсов, но если также указана опция
|
||
.Fl i ,
|
||
то перед чтением файла конфигурации
|
||
все существующие слайсы удаляются
|
||
(помечаются как неиспользуемые,
|
||
.Dq unused ) .
|
||
При указании
|
||
.Sq Fl
|
||
в качестве файла конфигурации
|
||
будет использоваться стандартный ввод.
|
||
Описание формата файла конфигурации смотрите ниже в секции
|
||
.Sx ФАЙЛ КОНФИГУРАЦИИ .
|
||
.Pp
|
||
.Em ПРЕДУПРЕЖДЕНИЕ :
|
||
в отличие от интерактивного режима,
|
||
при использовании опции
|
||
.Fl f
|
||
изменения вносятся без запроса на подтверждение.
|
||
Соблюдайте осторожность!
|
||
.It Fl i
|
||
Инициализировать нулевой сектор диска.
|
||
Перед редактированием, существующие слайсы будут
|
||
помечены как неиспользуемые
|
||
.Pq Dq unused .
|
||
(Сравните с
|
||
.Fl u . )
|
||
.It Fl I
|
||
Инициализировать таблицу слайсов в секторе 0 одним слайсом
|
||
.Fx
|
||
на весь диск.
|
||
.It Fl p
|
||
Напечатать таблицу слайсов в формате конфигурационного файла
|
||
.Nm
|
||
и выйти; см.\&
|
||
.Sx ФАЙЛ КОНФИГУРАЦИИ
|
||
ниже.
|
||
.It Fl s
|
||
Напечатать краткую информацию и выйти.
|
||
.It Fl t
|
||
Режим тестирования: изменения на диск записываться не будут.
|
||
Как правило, используется совместно с опцией
|
||
.Fl f
|
||
чтобы узнать, что было бы записано в таблицу слайсов.
|
||
Включает опцию
|
||
.Fl v .
|
||
.It Fl u
|
||
Редактировать таблицу слайсов диска в секторе 0.
|
||
Игнорируется в сочетании с опцией
|
||
.Fl f .
|
||
.It Fl v
|
||
Выводить подробные сообщения.
|
||
В сочетании с
|
||
.Fl f ,
|
||
.Nm
|
||
печатает записываемую таблицу слайсов.
|
||
.It Fl 1234
|
||
Оперировать только с одним слайсом.
|
||
Игнорируется в сочетании с опцией
|
||
.Fl f .
|
||
.El
|
||
.Pp
|
||
В качестве аргумента
|
||
.Ar диск
|
||
допустимо указание как просто имени диска (например,
|
||
.Pa da0 ) ,
|
||
так и полного пути к нему.
|
||
Если аргумент не указан,
|
||
.Nm
|
||
пытается определить имя диска по умолчанию по имени устройства,
|
||
на котором находится корневая файловая система.
|
||
.Pp
|
||
При вызове без аргументов печатается таблица слайсов из сектора 0.
|
||
Пример:
|
||
.Bd -literal
|
||
******* Working on device /dev/ad0 *******
|
||
parameters extracted from in-core disklabel are:
|
||
cylinders=769 heads=15 sectors/track=33 (495 blks/cyl)
|
||
|
||
parameters to be used for BIOS calculations are:
|
||
cylinders=769 heads=15 sectors/track=33 (495 blks/cyl)
|
||
|
||
Warning: BIOS sector numbering starts with sector 1
|
||
Information from DOS bootblock is:
|
||
The data for partition 1 is:
|
||
sysid 165,(FreeBSD/NetBSD/386BSD)
|
||
start 495, size 380160 (185 Meg), flag 0
|
||
beg: cyl 1/ sector 1/ head 0;
|
||
end: cyl 768/ sector 33/ head 14
|
||
The data for partition 2 is:
|
||
sysid 164,(unknown)
|
||
start 378180, size 2475 (1 Meg), flag 0
|
||
beg: cyl 764/ sector 1/ head 0;
|
||
end: cyl 768/ sector 33/ head 14
|
||
The data for partition 3 is:
|
||
<UNUSED>
|
||
The data for partition 4 is:
|
||
sysid 99,(ISC UNIX, other System V/386, GNU HURD or Mach)
|
||
start 380656, size 224234 (109 Meg), flag 80
|
||
beg: cyl 769/ sector 2/ head 0;
|
||
end: cyl 197/ sector 33/ head 14
|
||
.Ed
|
||
.Pp
|
||
Диск поделён на три слайса, которые полностью его охватывают.
|
||
Второй слайс частично перекрывается с концом первого.
|
||
(Используется в целях отладки.)
|
||
.Bl -tag -width ".Em cyl , sector No и Em head"
|
||
.It Em sysid
|
||
используется для маркировки слайсов.
|
||
.Fx
|
||
резервирует для себя магическое число 165 в десятичной системе
|
||
счисления (A5 в шестнадцатеричной).
|
||
.It Xo
|
||
.Em start
|
||
и
|
||
.Em size
|
||
.Xc
|
||
поля, содержащие начальный адрес
|
||
и размер слайса в секторах.
|
||
.It Em "flag 80"
|
||
указывает на то, что это активный слайс.
|
||
.It Xo
|
||
.Em cyl , sector
|
||
и
|
||
.Em head
|
||
.Xc
|
||
поля используются для указания начального и конечного адресов слайса
|
||
(цилиндр, сектор и головка соответственно).
|
||
.El
|
||
.Pp
|
||
.Em Замечание :
|
||
эти числа вычисляются исходя из геометрии диска, предполагаемой BIOS,
|
||
и хранятся в загрузочном секторе.
|
||
.Pp
|
||
Флаги
|
||
.Fl i
|
||
и
|
||
.Fl u
|
||
указывают программе на то, что таблица слайсов должна быть изменена.
|
||
Если флаг
|
||
.Fl f
|
||
не был указан,
|
||
работа с утилитой будет происходить в диалоговом режиме.
|
||
В этом случае никакие изменения на диск записываться не будут,
|
||
пока вы явно не потребуете этого.
|
||
.Pp
|
||
Утилита покажет каждый слайс и спросит, хотите ли вы его отредактировать.
|
||
В случае утвердительного ответа,
|
||
.Nm
|
||
будет последовательно переходить от поля к полю, отображая старое
|
||
значение и запрашивая новое.
|
||
Когда вы закончите редактировать слайс,
|
||
.Nm
|
||
выведет информацию о нём и спросит, согласны ли вы с введёнными
|
||
значениями, и если ответ будет утвердительным, перейдёт к
|
||
следующему слайсу.
|
||
.Pp
|
||
Правильно вычислить значения
|
||
.Em cyl , sector ,
|
||
и
|
||
.Em head
|
||
бывает сложно, поэтому по умолчанию они вычисляются
|
||
автоматически.
|
||
Тем не менее, при необходимости вы можете задать их самостоятельно.
|
||
.Pp
|
||
После того, как все слайсы были обработаны, вам будет предложено изменить
|
||
.Dq активный
|
||
слайс.
|
||
Наконец, когда все новые данные будут собраны, утилита запросит
|
||
подтверждение на запись в нулевой сектор.
|
||
.Pp
|
||
Разница между флагами
|
||
.Fl u
|
||
и
|
||
.Fl i
|
||
заключается в том, что
|
||
.Fl u
|
||
редактирует (обновляет) параметры существующих слайсов, тогда как
|
||
.Fl i
|
||
используется для их
|
||
.Dq инициализации
|
||
(старые значения игнорируются).
|
||
Если редактируется первый слайс, то
|
||
.Fl i
|
||
настроит его так, чтобы он охватывал весь диск, и сделает его активным.
|
||
.Sh ЗАМЕЧАНИЯ
|
||
При автоматическом вычислении начального цилиндра, головки и т.д.\&
|
||
используется набор
|
||
значений, отражающих геометрию диска на основе данных BIOS.
|
||
По умолчанию эти значения берутся из метки диска в ядре
|
||
(in-core disk label), но
|
||
.Nm
|
||
предоставляет возможность изменить их.
|
||
Это позволяет создать загрузочный блок, который может работать
|
||
с дисками, использующими трансляцию адресов через BIOS.
|
||
.Pp
|
||
Размечая диск вручную убедитесь, что слайсы
|
||
.Fx
|
||
начинаются на границе цилиндра.
|
||
.Pp
|
||
Изменение параметров существующего слайса с большой вероятностью
|
||
может привести к потере данных, хранящихся на этом слайсе.
|
||
.Pp
|
||
Имеет смысл несколько раз запустить
|
||
.Nm
|
||
в интерактивном режиме, чтобы просмотреть все изменения,
|
||
которые она произведёт.
|
||
Это безопасно при условии, что вы ответите отрицательно на последний
|
||
вопрос,
|
||
.Dq "Should we write new partition table?" .
|
||
Имеется ряд тонкостей конфигурации, которые утилита
|
||
.Nm
|
||
обнаруживает,
|
||
но которые не описываются подробно в этой странице справочника.
|
||
.Sh ФАЙЛ КОНФИГУРАЦИИ
|
||
При использовании опции
|
||
.Fl f
|
||
таблица слайсов диска может быть записана с помощью значений,
|
||
указанных в файле
|
||
.Ar файл_конфигурации .
|
||
Формат этого файла достаточно прост: каждая строка является либо
|
||
комментарием, либо спецификацией, как показано ниже:
|
||
.Bl -tag -width indent
|
||
.It Ic # Ar комментарий ...
|
||
строки, начинающиеся с
|
||
.Ic #
|
||
являются комментариями и игнорируются.
|
||
.It Ic g Ar spec1 spec2 spec3
|
||
Задать геометрию BIOS, использующуюся для вычисления параметров слайсов.
|
||
Должно быть указано три значения, с буквой перед каждым числом:
|
||
.Bl -tag -width indent
|
||
.It Cm c Ns Ar num
|
||
Установить число цилиндров равным
|
||
.Ar num .
|
||
.It Cm h Ns Ar num
|
||
Установить число головок равным
|
||
.Ar num .
|
||
.It Cm s Ns Ar num
|
||
Установить число секторов на дорожку равным
|
||
.Ar num .
|
||
.El
|
||
.Pp
|
||
Значения могут быть указаны в любом порядке, т.к.\& первая буква
|
||
однозначно определяет какое значение имеется ввиду.
|
||
Однако, в любом
|
||
случае, должны быть указаны все три.
|
||
.Pp
|
||
Эта строка должна предшествовать строкам, задающим параметры слайсов.
|
||
.Pp
|
||
Значения могут быть в таких диапазонах:
|
||
.Bd -literal -offset indent
|
||
1 <= число цилиндров
|
||
1 <= число головок <= 256
|
||
1 <= число секторов на дорожке < 64
|
||
.Ed
|
||
.Pp
|
||
Число цилиндров должно быть меньше либо равным 1024.
|
||
Это не
|
||
строго обязательно, но если вы укажете число, большее 1024, будет
|
||
выдано предупреждение.
|
||
Следует учитывать, что загрузочные слайсы
|
||
.Fx ,
|
||
содержащие корневую
|
||
.Pq Dq Pa /
|
||
файловую систему, должны располагаться в первых 1024 цилиндрах,
|
||
иначе могут возникнуть проблемы c загрузкой.
|
||
Это ограничение не распространяется на не-загрузочные слайсы.
|
||
.Pp
|
||
Пример геометрии диска (все варианты идентичны) с 1019 цилиндрами,
|
||
39 головками и 63 секторами на дорожке:
|
||
.Bd -literal -offset indent
|
||
g c1019 h39 s63
|
||
g h39 c1019 s63
|
||
g s63 h39 c1019
|
||
.Ed
|
||
.It Ic p Ar slice type start length
|
||
Задать слайсу с номером
|
||
.Ar slice
|
||
(1-4) тип
|
||
.Ar type ,
|
||
начальный сектор
|
||
.Ar start
|
||
и размер
|
||
.Ar length
|
||
секторов.
|
||
.Pp
|
||
Изменениям подвергнутся только те слайсы, параметры которых заданы
|
||
такими строками, остальные слайсы сохранят свои прежние параметры.
|
||
Однако, если существующая таблица слайсов будет некорректна
|
||
или же будет указана опция
|
||
.Fl i ,
|
||
все существующие слайсы будут удалены (помечены как неиспользуемые),
|
||
и для разметки необходимо будет задать соответствующие
|
||
.Ic p
|
||
строки.
|
||
При задании параметров для нескольких слайсов следует задать несколько
|
||
строк
|
||
.Ic p ,
|
||
по одной на каждый слайс.
|
||
.Pp
|
||
Эти строки должны следовать за строкой, задающей геометрию, если
|
||
такая строка присутствует в файле.
|
||
.Pp
|
||
Для
|
||
.Fx
|
||
слайсов значение
|
||
.Ar type
|
||
равно 165.
|
||
Указание нулевого типа аналогично удалению слайса (пометкой его
|
||
.Dq unused ) ,
|
||
однако полям
|
||
.Ar start
|
||
и
|
||
.Ar length
|
||
в этом случае также должны быть присвоены произвольные значения,
|
||
например, 0.
|
||
.Pp
|
||
Замечание: при необходимости, начальное смещение
|
||
будет округлено вверх до границы головки, а конечное смещение
|
||
\[en] вниз до границы цилиндра.
|
||
.Pp
|
||
Пример: чтобы удалить 4-й слайс и сделать его неиспользуемым
|
||
.Pq Dq unused :
|
||
.Pp
|
||
.Dl "p 4 0 0 0"
|
||
.Pp
|
||
Пример: чтобы установить 1-й слайс как слайс для
|
||
.Fx ,
|
||
начинающийся с 1-го сектора размером в 2503871 секторов (эти
|
||
значения будут округлены вверх и вниз таким образом, чтобы
|
||
слайс попадал на границы головки и цилиндра соответственно):
|
||
.Pp
|
||
.Dl "p 1 165 1 2503871"
|
||
.It Ic a Ar slice
|
||
Сделать слайс
|
||
.Ar slice
|
||
активным.
|
||
Эта строка может располагаться в файле где угодно, но
|
||
может быть только одна такая строка на весь файл.
|
||
.Pp
|
||
Пример: чтобы сделать активным 1-й слайс:
|
||
.Pp
|
||
.Dl "a 1"
|
||
.El
|
||
.Sh ФАЙЛЫ
|
||
.Bl -tag -width ".Pa /boot/mbr" -compact
|
||
.It Pa /boot/mbr
|
||
Код загрузчика по умолчанию.
|
||
.El
|
||
.Sh СМОТРИ ТАКЖЕ
|
||
.Xr boot0cfg 8 ,
|
||
.Xr bsdlabel 8 ,
|
||
.Xr newfs 8
|
||
.Sh ПРОБЛЕМЫ
|
||
Код загрузчика по умолчанию не всегда правильно распознает все типы
|
||
слайсов, в частности
|
||
те, которые были введены начиная с
|
||
.Tn MS-DOS
|
||
6.x.
|
||
.Pp
|
||
Данная утилита могла бы быть более дружественной пользователю.
|
||
.Pp
|
||
Большинство новичков
|
||
.Fx
|
||
не понимают разницы между
|
||
.Dq слайсом
|
||
и
|
||
.Dq разделом ,
|
||
что приводит к проблемам.
|
||
.Pp
|
||
С помощью этой утилиты невозможно отдать весь диск целиком
|
||
под использование
|
||
.Fx .
|
||
Для этого нужно использовать утилиту
|
||
.Xr bsdlabel 8 .
|