Alessandro de Souza Rocha wrote:
Em 28/02/08, Patrick Tracanelli<eksffa@xxxxxxxxxxxxxxxxxxxx> escreveu:
Can't work out which disk we are booting from.
>>> Guessed BIOS device 0xffffffff not found by probes, defaulting to disk0:
>>> panic: free: guard1 fail @ 0x6c23c
>>> from /usr/src/sys/boot/i386/loader/../../common/module.c:959
>>> press any key to reboot
O loader não consegue relacionar o ID de disco que a BIOS informa ao
disco de fato. Isso pode ser por corrupcao do proprio loader ou algum
estagio intermediario (boot1, 2, ..).
Entao voce tem algumas alternativas.
1) De o boot com um CD, va ate partition, marque a particao como ativa
com a tecla S (set active) e aperte W (write to disk), instale o boot
manager, e tente bootar. Se nao funcionar proxima alternativa:
2) Entre com o CD de em modo Fixit, escolha a midia Live como opcao,
monte o s1a do seu disco em algum lugar (/mnt por exemplo) e remova o
/boot/loader. Sim, nos nao precisamos do loader. Ele prove uma serie de
recursos mas nao eh imperativo. Entao remova, os boot stages vao tentar
carregar o kernel diretamente sem solicitar intervencao do loader
(afinal ele nao vai existir). Se nao funcionar:
3) Antes de identificar qual particao voce quer bootar via F1, F2, etc,
de uma barra de espaco. Voce caira numa prompt absurtamente precaria,
algo assim:
>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:
E ai digite por qual disco voce quer bootar. A sintaxe eh:
<BIOS_ID>:<device>(<device_unit>,<label>)/<arquivo>
<BIOS_ID> é o ID da controladora de disco na BIOS, onde 0 = controladora
1 (IDE 1 por exemplo, ou scsi ID), etc;
<device> é o nome do device driver (ad pra ata disk, da pra scsi, etc)
<device_unit> pro numero do disco, 0 = disco1, etc;
<label> = label ;)
<arquivo> é o nome do arquivo onde voce quer bootar; o padrão (por
omissão inclusive) é o /boot/loader do disco que voce escolher; mas como
eu disse antes o loader não é imperativo, você não precisa dele.
Por exemplo, supondo que voce queira o disco ad0s1a no ID 0
0:ad(0,a)
Se quer ad2s2a
2:ad(1,a)
Ou entao
1:ad(1,a)
ou
1:ad(0,a)
Nao importa, voce quem decide.
Como estamos contando com a hipotese do loader estar danificado, pule-o,
chamando direto o kernel, por exemplo:
1:ad(1,a)/boot/kernel/kernel
Pronto. Não tem como não funcionar. Pode até ser que você ainda não
consiga bootar, mas a causa (e consequentemente a mensagem de erro)
certamente será outra.
Assim que bootar a primeira coisa é reinstalar o loader, entre em
/usr/src/sys/boot/i386/loader e reinstale. Caso voce precise bootar
varias vezes escolhendo o disco manualmente, o padrão acima pode ser
tornado permanente em /boot.config, por exemplo com:
echo "1:ad(1,a)/boot/kernel/kernel" > /boot.config
Boa sorte. Espero que voce consiga com o procedimento 1 ou 2 pois o
ultimo eh chatissimo. BIOS ID se o disco for ATA ou SATA não é nada linear.
--
Patrick Tracanelli
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
se vc pega do 6.2 vai erro nas aplicacoes, aki eu peguei o por engano
o 6.3 quando estava na versao 7.0-RC1, os programas nao abria de forma
alguma, solucao tive que pega o 7.0-rc3 depois disso tudo voltou ao
normal.
Eu mantive as seguintes variáveis no make.conf.
Será que é isso que está causando o erro?
Será que o ULE nao funciona com essas variáveis?
Sá coloquei a partição como activa e instalei o boot loader de novo, mas
nao funcionou.
CPUTYPE?=p3
CFLAGS= -O2 -pipe -funroll-loops -ffast-math
COPTFLAGS= -O2 -pipe -funroll-loops -ffast-math
|