bsdlabel - программа для разметки диска
Автор: lissyara.
Оригинал: http://www.lissyara.su/articles/freebsd/file_system/bsdlabel/
bsdlabel - программа для изменения (а также проверки и установки новой) метки диска. До кучи может устанавливать код начальной загрузки (MBR, короче). Раньше она называлась disklabel (До FreeBSD 5.1). C её помощью можно сохранять старую метку в файл и восстанавливать её из него, ну и, разумеется, менять её прямо на диске.
Ковырять диски будем под VmWare - т.к. в этом деле требуется аккуратность - за ошибки придётся расплачиваться содержимым диска... Начали:/usr/home/lissyara/>su
/usr/home/lissyara/>dmesg | grep "ad[0-9]"
ad0: 16384MB <VMware Virtual IDE Hard Drive 00000001> at ata0-master UDMA33
ad1: 4096MB <VMware Virtual IDE Hard Drive 00000001> at ata0-slave UDMA33
Trying to mount root from ufs:/dev/ad0s1a
/usr/home/lissyara/>fdisk ad1
******* Working on device /dev/ad1 *******
parameters extracted from in-core disklabel are:
cylinders=8322 heads=16 sectors/track=63 (1008 blks/cyl)
Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=8322 heads=16 sectors/track=63 (1008 blks/cyl)
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
<UNUSED>
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
/usr/home/lissyara/>
В системе два диска, на первом (ad0) стоит система, второй пустой - его и будем ковырять. Для начала диск надо инициализировать, программой fdisk:/usr/home/lissyara/>fdisk -BI ad1
******* Working on device /dev/ad1 *******
fdisk: Geom not found
/usr/home/lissyara/>fdisk ad1
******* Working on device /dev/ad1 *******
parameters extracted from in-core disklabel are:
cylinders=8322 heads=16 sectors/track=63 (1008 blks/cyl)
Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=8322 heads=16 sectors/track=63 (1008 blks/cyl)
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 8388513 (4095 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 129/ head 15/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
/usr/home/lissyara/>
/usr/home/lissyara/>
После fdisk появился раздел типа 165 (BSD). Вот теперь пришла пора bsdlabel - размечаем диск, в данном примере - одним шматком:/usr/home/lissyara/>bsdlabel -w ad1s1 auto
/usr/home/lissyara/>
/usr/home/lissyara/>bsdlabel ad1s1 > label_ad1
/usr/home/lissyara/>cat label_ad1
# /dev/ad1s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 8388497 16 unused 0 0
c: 8388513 0 unused 0 0 # "raw" part, don't edit
/usr/home/lissyara/>
Если бы мне нужен бут сектор то это выглядело бы так:/usr/home/lissyara/>bsdlabel -w -B ad1s1 auto
/usr/home/lissyara/>
Пожалуй и всё, по bsdlabel... Тока чтобы не выглядело всё это незаконченным - добьём начатое до конца:/usr/home/lissyara/>newfs /dev/ad1s1c
/dev/ad1s1c: 4096.0MB (8388512 sectors) block size 16384, fragment size 2048
using 23 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, 3387328,
3763680, 4140032, 4516384, 4892736, 5269088, 5645440, 6021792, 6398144, 6774496,
7150848, 7527200, 7903552, 8279904
/usr/home/lissyara/>mount /dev/ad1s1c /mnt
/usr/home/lissyara/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 15G 1.4G 12G 10% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad1s1c 3.9G 4.0K 3.6G 0% /mnt
/usr/home/lissyara/>
Можно пользоваться :) И никаких sysinstall :)))