Partição de inicialização excluída acidentalmente com gpart

1

Acabei de digitar

gpart delete -i 1 ada0

quando eu deveria escrever

gpart delete -i 1 ada1

e infelizmente digitei reboot antes de perceber meu erro. O disco ada0 tinha o layout GPT padrão que o instalador do FreeBSD 10.1 coloca ali nas opções de particionamento padrão.

Obviamente, o sistema não será reinicializado agora, então existe uma maneira de adicionar a partição de volta? Qual é a maneira mais rápida de restaurar a máquina? Eu não quero fazer uma reinstalação completa, porque o sistema tem toneladas de alterações personalizadas, o que levará muito tempo para refazer.

    
por ddd 12.07.2015 / 12:11

1 resposta

0

O seguinte deve funcionar. Baixe um disco de instalação do FreeBSD e inicialize-o no modo de usuário único. Quando terminar, faça:

gpart show ada0

que deve imprimir seu texto descrevendo o layout do disco. O resultado seria parecido com:

=>       34  500118125  ada0  GPT  (238G)
         34       1024     1  - free -  (512K)
       1058  490732544     2  freebsd-ufs  (234G)
  490733602    8388608     3  freebsd-swap  (4.0G)
  499122210     995949        - free -  (486M)

Agora você pode fazer o backup da GPT para edição emitindo gpart backup ada0 , o que deve fornecer algo nos moldes de (desde que você excluiu a partição 1):

GPT 128
2    freebsd-ufs      1058 490732544  
3   freebsd-swap 490733602   8388608

copie a saída para um arquivo e edite-o assim (os números seguintes ao freebsd-boot são os números do espaço livre de gpart show ada0 ):

GPT 128
1   freebsd-boot        34      1024  
2    freebsd-ufs      1058 490732544  
3   freebsd-swap 490733602   8388608

Se você armazenou o arquivo acima em um arquivo chamado newgpt , o seguinte restaura o GPT para uma condição que deve permitir a inicialização:

gpart restore -F ada0 < newgpt
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0

O último comando deve ser redundante, já que o código de inicialização deve estar intacto no disco, mas como não tenho um sistema para quebrar para testar isso, estou colocando-o lá no caso.

    
por 12.07.2015 / 20:44

Tags