====== Установка диска в FreeBSD====== ===== Старый стандартный способ: fdisk(8) и bsdlabel(8) ===== Наше дисковое устройство которое будем настраивать: **da0** Создаем один большой слайс размером в весь диск и создаем загрузочный блок в нем: # fdisk -BI da0 Запишим пустую метку для первого слайса # bsdlabel -w -B da0s1 Редактируем метки для создания разделов (партиций). По умолчанию естественно используется **vi** # bsdlabel -e da0s1 Пустой раздел **a** занимат пространство всего диска. # /dev/da0s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 78172211 16 unused 0 0 c: 78172227 0 unused 0 0 # "raw" part, don't edit Делим пространство раздела **a** по своему усмотрению. Раздел **c** оставляем нетронутым. В качестве размерных единиц можно использовать **K**, **M**, **G**. Должно получиться что то вроде этого: # /dev/da0s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 1G 16 4.2BSD 0 0 # / b: 4G * swap c: 78172227 0 unused 0 0 # "raw" part, don't edit d: 1G * 4.2BSD # var e: 1G * 4.2BSD # tmp f: * * 4.2BSD # usr Форматируем разделы, задаем им метки. Включаем soft update для лучшей производительности: # glabel label swap /dev/da0s1b # newfs -L rootfs /dev/da0s1a # newfs -L varfs -U /dev/da0s1d # newfs -L tmpfs -U /dev/da0s1e # newfs -L usrfs -U /dev/da0s1f ===== Новый альтернативный метод: gpart(8) ===== Будем настраивать ada0. Если диск был в использовании, на нем скорее всего осталась старая разметка. Удалим ее: gpart destroy -F ada0 ada0 destroyed Теперь создадим gpart-схему: gpart create -s gpt /dev/ada0 ada0 created Создадим загрузочный раздел размером 128к, в котором будет находиться загрузчик. Назначим этому разделу GPT-метку **gpboot**, она будет видна в **/dev/gpt**. gpart add -f freebsd-boot -l gpboot -s 128K ada0 ada0p1 added Установим GPT-boot-код в загрузочный раздел: gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0 bootcode written to ada0 Создадим корневой раздел для **/** размером 2G. Он должен начинаться с границы 1М, для правильного выравнивания на дисках с 4К размером сектора. Это совместимо с GPT-разметкой в WIN-7. Назначим разделу GPT-метку **gprootfs**. gpart add -t freebsd-ufs -l gprootfs -b 1M -s 2G ada0 ada0p2 added Создадим оставшиеся разделы: **swap**, **/tmp**, **/var**, **/usr**. В последней команде опустим параметр в опции **-s**, т. е. не будем задавать размер. В этом случае будет использовано все свободное пространство раздела. gpart add -t freebsd-swap -l gpswap -s 2G ada0 ada0p3 added gpart add -t freebsd-ufs -l gptmpfs -s 3G ada0 ada0p4 added gpart add -t freebsd-ufs -l gpvarfs -s 6G ada0 ada0p5 added gpart add -t freebsd-ufs -l gpusrfs ada0 ada0p6 added gpart show -l -p ada0 => 34 78242909 ada0 GPT (37G) 34 256 ada0p1 gpboot (128K) 290 1758 - free - (879K) 2048 4194304 ada0p2 gprootfs (2.0G) 4196452 4194303 ada0p3 gpswap (2.0G) 8390656 6291456 ada0p4 gptmpfs (3.0G) 14682112 12582912 ada0p5 gpvarfs (6.0G) 27265024 50977919 ada0p6 gpusrfs (24G) Если что то не получилось, можно удалить разделы по одному и начать все заново. В новых версиях для удаления всех сразу можно использовать команду **gpart destroy -F ada0** Например удалим 2 последних созданных раздела с номерами 5 и 6: gpart delete -i 6 ada0 ada0p6 deleted gpart delete -i 5 ada0 ada0p5 deleted Отформатируем наши разделы. Для всех, кроме корневого используем **softupdate** для лучшего быстродействия. newfs /dev/gpt/gprootfs newfs -U /dev/gpt/gptmpfs newfs -U /dev/gpt/gpvarfs newfs -U /dev/gpt/gpusrfs