[FUG-BR] [SOLVED] GPT restaurada, bootloader não encherga partição raiz

Cleyton Agapito cragapito em gmail.com
Segunda Julho 9 22:19:16 BRT 2012


Em 9 de julho de 2012 10:20, Cleyton Agapito <cragapito em gmail.com> escreveu:
> Em 9 de julho de 2012 09:46, Ricardo Carlini Sperandio
> <rcarlini em gmail.com> escreveu:
>> Em 8 de julho de 2012 22:59, Cleyton Agapito <cragapito em gmail.com> escreveu:
>>
>>> Em 8 de julho de 2012 22:40, Paulo Henrique BSD Brasil
>>> <paulo.rddck em bsd.com.br> escreveu:
>>> >
>>> >
>>> > Em 8/7/2012 22:24, Cleyton Agapito escreveu:
>>> >> Em 8 de julho de 2012 16:19, Cleyton Agapito <cragapito em gmail.com>
>>> escreveu:
>>> >>> Em 8 de julho de 2012 16:15, Cleyton Agapito <cragapito em gmail.com>
>>> escreveu:
>>> >>>> Caríssimos,
>>> >>>>
>>> >>>> Ontem resolvi instalar o maldito rWindows dos infernos num disco IDE
>>> >>>> de 250G, deixei uma partiçãozinha formatada pra ele e o fdp foi no
>>> >>>> scsi de 1Tb e sobreescreveu minha tabela de partição GPT.
>>> >>>>
>>> >>>> Consegui recuperar o backup e reescrever a freebsd-boot (pmbr e
>>> >>>> gptboot) mas não dá mais a partida, ele pára no segundo estágio do
>>> >>>> bootloader e com lsdev não aparece a partição root (fica disk0: (era
>>> >>>> pra aparecer aqui embaixo a disk0p2:) disk1: disk1s1: (onde era pra
>>> >>>> tar o rWindos) e disk1s2a (nesta recuperei o /boot e estou entrando
>>> >>>> por aqui).
>>> >>>>
>>> >>>> Já marquei a partição com bootme mas não rolou.
>>> >>>>
>>> >>>> Alguém tem alguma ideia de como resolvo isso?
>>> >>>>
>>> >>>> Abração!!!
>>> >>>
>>> >>> Ah, completando, o backup da tabela de partição (que fica no final do
>>> >>> disco), os arquivos loaders e o /boot.
>>> >>>
>>> >>> Grato.
>>> >>
>>> >> Apaguei a partição ada0p2 com o gpart, coloquei novamente onde estava
>>> >> (índice 2 começando de 2048 a 2097152 como estava antes), formatei e
>>> >> recoloquei o backup em cima, remarquei com a flag bootme e ... nada.
>>> >>
>>> >> Engraçado é o seguinte, interrompendo o bootstrap percebi que o boot2
>>> >> que tem essa carinha (esse trecho eu copiei do arch-handbook porque
>>> >> não consigo copiar nada sem o kernel, hehe, então o disco que aparece
>>> >> lá não é bem esse):
>>> >>
>>> >> FreeBSD/i386 BOOT
>>> >> Default: 1:ad(1,a)/boot/loader
>>> >> boot:
>>> >>
>>> >> está carregando e enxergando tudo dentro do ada0p2, se eu fizer
>>> >> boot/loader dentro ele ele carrega beleza e pára aqui:
>>> >>
>>> >> BTX loader 1.0 BTX version is 1.01
>>> >> BIOS drive A: is disk0
>>> >> BIOS drive C: is disk1
>>> >> BIOS 639kB/64512kB available memory
>>> >> FreeBSD/i386 bootstrap loader, Revision 0.8
>>> >> Console internal video/keyboard
>>> >> (jkh em bento.freebsd.org, Mon Nov 20 11:41:23 GMT 2000)
>>> >>
>>> >> (O email que aparece é o meu, esse aqui de cima eu peguei de exemplo
>>> >> no arch-handbook)
>>> >>
>>> >> Ai começa o terror, o loader não enxerga a ada0p2, que pra ele seria
>>> >> disk0p2: e assim não dá pra fazer mais nada. Eu formatei uma partição
>>> >> normal no outro disco (com partição MBR) e recuperei o backup lá, aí
>>> >> eu consigo fazer:
>>> >>
>>> >> set currdev=disk1s2a:
>>> >> boot
>>> >>
>>> >> e entrar no sistema provisoriamente.
>>> >>
>>> >> Alguma ideia? Não sei mais o que fazer...
>>> >>
>>> >> Grato.
>>> >> -------------------------
>>> >> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>> >>
>>> >
>>> > Cleyton, como está
>>> >
>>> > Já está a um dia com o problema, simplifica as coisas,
>>> > roda um tar no sistema menos nos /boot reinstale o sistema e restaure os
>>> > tar.
>>> > Sei que parece complicado não conseguir resolver esse tipo de problema
>>> > mais a simplicidade prima-se pela sua eficiência.
>>> >
>>>
>>> É, tem razão, já esgotei mesmo todas a possibilidades que pude imaginar.
>>>
>>> Valeu.
>>> -------------------------
>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>
>>
>> Vendo o relato do colega, pode-se dizer que o GPT é mais "sensível" que o
>> velho MBR (usando apenas partições primarias)?
>>
>
> Na verdade não Ricardo, o rWindows reescreveu a tabela, se fosse MBR
> não tinha mais esperança, como a GPT tem uma cópia no final do disco
> eu consegui recuperá-la e não perdi nenhum arquivo, na minha opinião a
> tabela em si é muito melhor.
>
> Meu problema é (no caso era) no BSD mesmo, o loader deixou de
> reconhecer sua própria partição, talvez a culpa seja do gpart, sei lá.
>
> Abração.

Então, fiz o que o Paulo recomendou, formatei a raiz e instalei um 9.0
mínimo por cima, sem refazer a partição (porque isso eu já tinha
tentado e não tinha funcionado e sem formatar eu não precisaria
recuperar o backup do resto), continuava do mesmo jeito.

Eu já tinha instalado o sysutils/gdisk e tinha tentado alterar os
atributos da partição ada0p2 mas tinha dado erro (se não me engano
erro 1), só que nessa de ficar rebootando pra testar acabei deixando
passar batido um pequeno detalhe, o BSD tem uma proteção contra "tiro
no pé"[sic], pra destravar tem que fazer:

# sysctl kern.geom.debugflags=16

No gdisk (ele perguntava qual tipo de partição eu queria), "x" (extra
functionality) e "a" (set attributes), pede o numero da partição, no
caso 2 que é a minha rootfs, habilitei o 2: legacy BIOS bootable, e na
dúvida também o 0: system partition, aí gravou, foi só recuperar os
backups e correr pro abraço!


\o/

Ah, depois disso o gdisk vai direto pro GPT sem perguntar nada:

Found valid GPT with protective MBR; using GPT


Não entendo porque o gpart não fez isso nem quando recriei a partição
(também nem perguntou se queria) nem quando instalei o sistema denovo,
talvez em uma instalação nova ele faça isso.

Então está batido o martelo, pisada na bola nervosa do GPART.


Mais detalhes sobre a lista de discussão freebsd