Документация по ОС FreeBSD Пятница, 19.04.2024, 20:09
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Man pages

bsdlabel(8)

bsdlabel(8)

НАЗВАНИЕ

bsdlabel -- чтение и запись метки диска

SYNOPSIS

bsdlabel [-A] диск
bsdlabel -w [-An] [-B [-b boot]] [-m машина] диск [тип]
bsdlabel -e [-An] [-B [-b boot]] [-m машина] диск
bsdlabel -R [-An] [-B [-b boot]] [-m машина] диск файл_прототип

ОПИСАНИЕ

Утилита bsdlabel устанавливает, проверяет или изменяет метку BSD на разделе диска. Кроме того, bsdlabel может устанавливать код начальной загрузки.

  Имя дискового устройства

При указании устройства префикс /dev/ можно не указывать; утилита bsdlabel автоматически будет его добавлять.

  Общие опции

Опция -A разрешает обработку исторических частей метки BSD. Если эта опция не указана, для этих полей устанавливаются подходящие значения.

Опция -n останавливает программу bsdlabel непосредственно перед изменением диска, и выдает результаты вместо того, чтобы их записывать.

Аргумент -m машина требует от утилиты bsdlabel использовать структуру, подходящую для указанной машины.

  Чтение метки диска

Для проверки метки на диске используйте утилиту bsdlabel без опций:

bsdlabel [-A] [-m машина] диск

Параметр диск задает диск, который нас интересует, и может иметь вид da0 или /dev/da0. Представленная команда выдаст информацию о структуре раздела.

  Запись стандартной метки

Для записи стандартной метки используйте форму:

bsdlabel -w [-An] [-m машина] диск [тип]

Если тип диска указан, будет использована запись с соответствующим именем из файла disktab(5); в противном случае используется стандартная структура диска.

  Редактирование существующей метки диска

Для редактирования существующей метки диска используйте форму:

bsdlabel -e [-An] [-m машина] диск

Эта команда открывает метку диска в стандартном редакторе, а когда редактор завершает работу, метка проверяется и, если она корректна, записывается на диск.

  Восстановление метки диска из файла

Для восстановления метки диска из файла используйте форму:

bsdlabel -R [-An] [-m машина] диск файл_прототип

Утилита bsdlabel может восстановить метку диска, которая была ранее сохранена в файле в текстовом формате. Файл-прототип, использованный для создания метки, должен быть в том же формате, что и выдаваемый при чтении или редактировании метки. Комментарии начинаются символом '#' и продолжаются до конца строки.

  Установка начальных загрузчиков

Если указан аргумент -B, код начальной загрузки будет читаться из файла /boot/boot и записываться на диск. Аргумент -b boot позволяет использовать другой файл.

ФАЙЛЫ

/boot/boot
Стандартный образ загрузки.
/etc/disktab
Файл описания диска.

ФОРМАТ СОХРАНЕННОГО ФАЙЛА

Утилита bsdlabel использует текстовую версию метки при проверке, редактировании или восстановлении метки диска. Формат ее следующий:

8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 81920 0 4.2BSD 1024 8192 16
b: 160000 81920 swap
c: 1173930 0 unused 0 0 # "raw" part, don't edit

Если указана опция -A, используется следующий формат:

# /dev/da1c:
type: SCSI
disk: da0s1
label:
flags:
bytes/sector: 512
sectors/track: 51
tracks/cylinder: 19
sectors/cylinder: 969
cylinders: 1211
sectors/unit: 1173930
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0

8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 81920 0 4.2BSD 1024 8192 16
b: 160000 81920 swap
c: 1173930 0 unused 0 0 # "raw" part, don't edit

Строки, начинающиеся символом '#', являются комментариями.

Таблица разделов может включать до 8 записей. Она содержит следующую информацию:

#
Идентификатор раздела - одна буква в диапазоне от 'a' до 'h'. По соглашению раздел 'c' зарезервирован для описания всего диска.

size
Размер раздела в секторах, K (килобайтах - 1024 байта), M (мегабайтах - 1024*1024 байта), G (гигабайтах - 1024*1024*1024 байта), % (процент свободного места за вычетом всех разделов фиксированного размера, кроме раздела 'c') или * (все оставшееся свободное место за исключением разделов фиксированного размера и разделов, размер которых задан в процентах). Для раздела 'c' размер * означает весь диск. Единицы измерения K, M и G можно указывать и в нижнем регистре. Размер и единица измерения должны задаваться без пробелов, одним словом.

Пример: 2097152, 1G, 1024M и 1048576K все задают один и тот же размер (при размере сектора 512 байтов).

offset
Смещение начала раздела от начала диска, в секторах, или *, требующая от bsdlabel вычислить соответствующее смещение для использования (конец предыдущего раздела плюс один, игнорируя раздел 'c'. Для раздела 'c', * будет интерпретироваться как смещение 0.

fstype
Описывает назначение раздела. Пример показывает все используемые сейчас типы разделов. Для файловых систем UFS и разделов ccd(4) используйте тип 4.2BSD. Для дисков Vinum используйте тип vinum. Также используются типы swap (область подкачки) и unused (не используемый раздел). По договоренности, раздел 'c' представляет всю секцию (slice) и должен быть типа unused, хотя утилита bsdlabel выполнение этой договоренности и не проверяет. Утилита bsdlabel также знает и ряд других типов разделов, которые сейчас не используются. (Подробнее см. определения, начиная с FS_UNUSED, в заголовочном файле <sys/disklabel.h>.)

fsize
Только для файловых систем 4.2BSD и LFS, - размер фрагмента. Стандартные значения: 1024 - для разделов менее 1 Гбайта, 4096 - для разделов размером 1 Гбайт и более.

bsize
Только для файловых систем 4.2BSD и LFS, - размер блока. Стандартные значения: 8192 - для разделов менее 1 Гбайта, 16384 - для разделов размером 1 Гбайт и более.

bps/cpg
Для файловых систем типа 4.2BSD, - количество цилиндров в группе. Для файловых систем LFS, - значение сдвига сегмента (segment shift value). По умолчанию - 16 для разделов размером меньше 1 Гбайта и 64 для разделов размером 1 Гбайт и более.

ПРИМЕРЫ

 bsdlabel da0s1

Выдать метку первой секции диска da0, которой соответствует устройство /dev/da0s1.

 bsdlabel da0s1 > savedlabel

Записать текущую метку (in-core label) для устройства da0s1 в файл savedlabel. Этот файл можно использовать с опцией -R для восстановления метки в дальнейшем.

 bsdlabel -w /dev/da0s1

Создать метку для диска da0s1.

 bsdlabel -e da0s1

Прочитать метку для da0s1, отредактировать ее и установить на диск результат.

 bsdlabel -e -n da0s1

Прочитать метку с диска da0s1, отредактировать и показать, какой ( в секторах) будет новая метка. Новая метка не устанавливается, ни в памяти, ни на диске.

 bsdlabel -w da0s1

Записать стандартную метку на диск da0s1. Для редактирования разделов и информации о типах файловых систем используется другая команда - bsdlabel -e.

 bsdlabel -R da0s1 savedlabel

Восстановить в памяти и на диске метку для da0s1 на базе информации в файле savedlabel.

 bsdlabel -R -n da0s1 label_layout

Выдать вид метки для da0s1 при использовании структуры разделов, указанной в файле label_layout. Это полезно для определения того, сколько всего места будут занимать разделы, размер которых задан с помощью % или *.

 bsdlabel -B da0s1

Установить новую загрузочную запись (bootstrap) на da0s1. Код загрузки берется из файла /boot/boot.

 bsdlabel -w -B -b newboot /dev/da0s1

Установить новую метку и загрузочную запись. Код загрузки берется из файла newboot в текущем рабочем каталоге.

 dd if=/dev/zero of=/dev/da0 bs=512 count=32
 fdisk -BI da0
 dd if=/dev/zero of=/dev/da0s1 bs=512 count=32
 bsdlabel -w -B da0s1
 bsdlabel -e da0s1

Полностью "стереть" прежнюю информацию на диске, создавая новый загрузочный диск с таблицей разделов DOS, содержащей одну секцию, занимающую весь диск. Проинициализировать метку этой секции и отредактировать ее. Команды dd(1) - не обязательны, но могут понадобиться для некоторых версий BIOS, чтобы они могли правильно распознать диск.

Вот пример метки диска, использующий разные единицы измерения для разделов (%, M, G и *), которую можно задать в исходном файле для команды "bsdlabel -R ad0s1c файл_новой_метки":

 # /dev/ad0s1c:

 8 partitions:
 # size offset fstype [fsize bsize bps/cpg]
 a: 400M 0 4.2BSD 4096 16384 75 # (Cyl. 0 - 812*)
 b: 1G * swap
 c: * * unused
 e: 204800 * 4.2BSD
 f: 5g * 4.2BSD
 g: * * 4.2BSD

ССЫЛКИ

ccd(4), geom(4), md(4), disktab(5), boot0cfg(8), fdisk(8)

ДИАГНОСТИКА

Драйверы устройств ядра не позволяют уменьшать размер раздела диска или изменять смещение раздела, пока он открыт.

FreeBSD 4.9, 15 марта 2003 года

Copyleft (no c) - Fuck copyright! 2004 В. Кравчук, OpenXS Initiative, перевод на русский язык

Категория: Man pages | Добавил: oleg (09.12.2007)
Просмотров: 1747 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024