O bootloader do FreeBSD não inicializa a partir do pool correto

O bootloader do FreeBSD não inicializa a partir do pool correto

Instalei o FreeBSD 10.1 em um sistema que possui dois pools ZFS e que inicializa a partir de outro disco rígido, que contém apenas o gerenciador de inicialização. Os discos do pool principal estão conectados às portas SATA em uma placa PCI-E, enquanto o bootloader tenta inicializar a partir do pool errado (o segundo pool, que está conectado diretamente às portas SATA da placa-mãe).

O erro é o seguinte:

Can't find /boot/zfsloader
FreeBSD/x86 boot
Default: storage:/boot/kernel/kernel
boot:
/
Cant't find /boot/kernel/kernel
FreeBSD/x86 boot
Default: storage:/boot/kernel/kernel
boot: 

Tentei definir vfs.root.mountfrom="zfs:zpool" ou "zfs:zpool/ROOT" em /mnt/boot/loader.conf mas não funciona.

Se eu desconectar os discos do segundo pool, o sistema inicializará corretamente.

Muito obrigado.

Responder1

Ok, eu descobri isso sozinho.

O ZFS Loader não permite definir um pool raiz para inicializar, mas tenta adivinhar o correto agrupando o BIOS para a ordem de prioridade de inicialização.

Para inicializá-lo a partir do pool correto, defini como primeiro dispositivo de inicialização no BIOS a unidade que contém o carregador de inicialização e, como segundo e terceiro, as unidades pertencentes ao pool espelhado raiz.

Responder2

tente cp -r /bootdo pool correto para o pool errado. certifique-se de que bootfsa propriedade no pool errado esteja vazia ou configurada para o pool correto.

Responder3

Inicialize a partir de um CD de distribuição apropriado no modo "live CD". Faça login como root.

Agora, digamos que seu pool inicializável seja chamado de “tank”;

importe o pool sem montá-lo -

zpool import -N -f tank

Em seguida, defina a propriedade bootfs apropriadamente. Um nome comum de sistema de arquivos de inicialização é "tank/ROOT/default";

zpool set bootfs=tank/ROOT/default tank

é isso para o pool inicializável. Repita para o pool não inicializável, desta vez definindo a propriedade bootfs como "". Pronto, você terminou.

informação relacionada