Загрузка системы


 * Установка совместно с Linux

Загрузка системы

 * Описание в Handbook

Менеджер загрузки носит название boot0 (команда boot0cfg).

Порядок загрузки
BIOS читает первую дорожку с диска (в которой MBR располагается), который указан первым в очереди загрузки. Из MBR читается boot0, передает управление boot1, который находит на загрузочном слайсе boot2 и его запускает. Далее обычно стартует loader.


 * 1) boot0 записывается в MBR (Master Boot Record), при записи (sysinstall или вручную) сам код берется из /boot/boot0. MBR устанавливается fdisk и берется из /boot/mbr.
 * 2) boot1 и boot2 записывается sysinstall или bsdlabel из файла /boot/boot
 * 3) loader позволяет задавать переменные ядра, загружать/выгружать модули, а также рисует текстовое меню в начале загрузки

Установка загрузчика, отображающего меню, позволяющее выбрать, с какого из подключённых дисков грузиться: boot0cfg -B ad0

Для установки обычного загрузчика: fdisk -B ad0

Чтобы перезаписать boot1 и boot2 bsdlabel -B ad12s1

boot 2
boot2 умеет работать с файловой системой, позволяет выбирать ядро или загрузчик. Интерфейс boot2. >> FreeBSD/i386 BOOT  Default: 0:ad(0,a)/boot/loader boot: Если на этом этапе нажать Enter, то загрузится loader, но можно ввести boot /boot/kernel/kernel, чтобы сразу загрузить ядро.

Tab тут не работает, как в GRUB.

Чтобы просмотреть содержимое корневого раздела (?) текущей файловой системы, введите символ вопроса и нажмите Enter. ".. .snap dev home etc cdrom dist bin ...."

Если в системе два жестких диска, то для загрузки со второго диска нужно ввести 1:ad(1,a)/boot/loader

Изначально выбран первый диск - указан в строке после слова Default FreeBSD/i386 boot Default: 0:ad(0,a)

Можно ad(0,a) написать или 1:ad(1,a) - тогда диск меняется в Defaults и можно просматривать содержимое по вводу символа вопроса ?

Прописать на новый диск или восстановить повреждённый boot0: fdisk -B -b /boot/boot0 ad12 ******* Working on device /dev/ad12 ******* parameters extracted from in-core disklabel are: cylinders=155061 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=155061 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)<BR> start 63, size 156296322 (76316 Meg), flag 80 (active)<BR> beg: cyl 0/ head 1/ sector 1;<BR> end: cyl 1023/ head 254/ sector 63<BR> The data for partition 2 is:<BR> <UNUSED><BR> The data for partition 3 is:<BR> <UNUSED><BR> The data for partition 4 is:<BR> <UNUSED><BR> Do you want to change the boot code? [n] <BR> На первый вопрос - Yes, на второй (о перезаписи partition - No).

Loader
Loader является btx-клиентом

В командной строке загрузчика (loader), куда можно попасть выбрав Escape to loader prompt

Изменить значение переменной set root_disk_unit="0"

Просмотреть значения переменных show

LiveCD
Начиная с 7.0 (?) появился диск livefs, с которого можно загрузиться (правда, может понадобиться disk1?) и установить FreeBSD по сети.

Диск bootonly годится в случае установки по FTP или NFS.

Проблемы
Попробовать обновить BIOS, уточнить поддерживает ли он ATA-6, где нет ограничения на размер диска

FreeBSD/x86 boot Default: 0:ad(0,a)/boot/loader boot: error 1 lba 652483679 No /boot/loader

error 1 lba ХХХХХХ при загрузке отображается. В том случае когда корневой раздел превышает 130Гб?

If the drive works with another system, then this is looks like a BIOS/drive compatibility issue. Unfortunately the FreeBSD bootcode has to use the BIOS to read disk blocks, since the kernel isn't running yet.

Have you tried upgrading the motherboard BIOS of the miscreant systems to the latest version?

It could have something to do with the 137GB max disk size limit of the pre-ATA 6 specification. Before ATA-6 the maximum nr of bits used to do LBA was 28 bits. With 512 byte sector size the maximum addressable size was Code:

2^28 = 268,435,456 sectors 268,435,456 * 512 = 137,438,953,472 bytes

Your disks are 300 GB and thus would need to use the 48 bit LBA from ATA 6.

The number of your error message Quote: error 1 lba 392987935 lies beyond the reach of a 28 bits number: Code:

392,987,935 268,435,456 = 2^28