Разбивка и форматирование диска

Диск может быть размечен посредством создания слайсов, либо выделенного режима (dangerous dedicated).

The term "slice" is also used in the FreeBSD operating system to refer to PC BIOS hard disk partitions, to avoid confusion with FreeBSD's own disklabel-based partitioning scheme.

bsdlabel это запись о разделах на диске. Расположен в начале диска или слайса, указывает где начинается раздел и сколько секторов он занимает на диске.

Состоит из 8 записей (это же является ограничением на количество разделов внутри слайса), обозначаемых буквами от A до H. В соответствие с соглашениями буквы a,b,c зарезервированы
 * a - корневой раздел, с него происходит загрузка операционной системы.
 * b - swap
 * с - фиктивный раздел, имеющий размер всего диска. в норме сумма всех разделов должна совпадать с этим значением

В описании разделов нужная информация только в полях  size   offset    fstype, остальные не используются в случае применения soft-updates.
 * size - количество секторов диска, который занимает раздел
 * offset - сектор с которого начинается данный раздел, если первый идет, то это 0, если перед ним есть раздел, то значение из поля size дублируется в его поле offset.
 * ftype - 4.2BSD для UFS

bsdlabel /dev/ad12s1 a: 145810562 10485760   4.2BSD     2048 16384 28552  b: 10485760       0      swap                     c: 156296322       0    unused        0     0         # "raw" part, don't edit
 * 1)        size   offset    fstype   [fsize bsize bps/cpg]

Размер можно указывать не только в секторах, но и K, M, and G. Также знак процента и звездочка. Последняя означает, использовать все оставшееся пространство.

Удалить существующие данные о загрузчике (?) dd if=/dev/zero of=/dev/da1 bs=1k count=1 dd if=/dev/zero of=/dev/da0 bs=512 count=32 Создание слайса на весь диск в интерактивном режиме посредством fdisk из sysinstall (#sysinstall diskPartitionEditor) или командой, которая создаст слайс на весь диск. fdisk -BI ad4

Запись в текстовый файл разделов диска с данными или создать такой файл вручную bsdlabel ad6 > /tmp/savedlabel Чтение из файла bsdlabel -R ad4 /tmp/savedlabel Форматирование newfs ad4s1a Установка загрузчика bsdlabel -B ad4s1

Автоматическая разметка (аналог а в sysinstall?) disklabel -B -w ad1s1 auto

Разметка нового диска
Чистый диск видится только как /dev/da0 fdisk -s /dev/da0 fdisk: invalid fdisk partition table found fdisk: read_s0: No such file or directory Создание слайса на весь диск fdisk -I /dev/da0 ******* Working on device /dev/da0 ******* fdisk: invalid fdisk partition table found fdisk: Geom not found: "da0" Просмотр получившегося слайса fdisk -s /dev/da0 /dev/da0: 30401 cyl 255 hd 63 sec Part       Start        Size Type Flags 1:         63   488392002 0xa5 0x80 Метка отсутствует bsdlabel da0 "bsdlabel: /dev/da0: no valid label found" Запись стандартного disklabel на диск (никаких сообщений не выводится по завершению команды) bsdlabel -w da0s1 auto Проверка результата bsdlabel da0s1 8 partitions: a: 488391986      16    unused        0     0        c: 488392002       0    unused        0     0         # "raw" part, don't edit Вызов в интерактивном режиме редактора описания разделов bsdlabel -e da0s1  8 partitions: a: *              *    4.2BSD        0     0 b: 1024M          0    swap c: 488392002      0    unused        0     0         # "raw" part, don't edit 
 * 1) /dev/da0s1:
 * 1)        size   offset    fstype   [fsize bsize bps/cpg]
 * 1)        size   offset    fstype   [fsize bsize bps/cpg]

На выходе из редактора с сохранением файла отображается сообщение: partitions a and b overlap! re-edit the label? [y]: n<BR> И метка диска не обновляется. Если все успешно проходит, появляются одноимённые устройства в /dev (da0s1a и т.п.)

Форматирование newfs da0s1a

Попытка загрузиться с этого диска приводит к Missing operating system

На вопросы при работе команды отвечаем следующим образом: fdisk -v -B /dev/da0 Do you want to change the boot code? [n] y<BR> Should we write new partition table? [n] n<BR> bsdlabel -B /dev/da0s1

Просмотр данных о диске
fdisk -s DISK_NAME


 * 0xa5 - freebsd
 * 0xFD - Linux raid autodetect
 * 0x83 - EXT2
 * 0x82 - linux swap
 * 0x0b - fat32

Просмотр разделов FreeBSD
disklabel -e /dev/da0s1 8 partitions:<BR> a: 1048576        0    4.2BSD        0     0     0<BR> b: 4194304  1048576      swap<BR> c: 312576642       0    unused        0     0         # "raw" part, don't edit<BR> d: 297795584 5242880    4.2BSD     2048 16384 28552<BR> e: 2097152 303038464    4.2BSD     2048 16384 28552<BR> f: 5242880 305135616    4.2BSD     2048 16384 28552<BR> g: 2198146 310378496    4.2BSD     2048 16384 28552<BR>
 * 1) /dev/da0s1:<BR>
 * 1)        size   offset    fstype   [fsize bsize bps/cpg]<BR>