Como reconstruir completamente a partição de inicialização com o grub também?

1

openSUSE 11.4, tenho partição de inicialização no pendrive.

O problema é quando eu inicializo o computador, o grub imediatamente mostra o erro "arquivo não encontrado" (não tenho idéia de qual arquivo) e muda para "modo de recuperação".

Eu posso inicializar o computador a partir de outro pendrive, mas eu gostaria de usar o original (o mencionado acima). Eu tentei atualizar o grub usando o Yast, ou manualmente, executando

grub --batch < /etc/grub.conf

ou copiando todos os arquivos do pendrive para o não-trabalho (editando device.map depois disso), ainda sem sucesso, "rescue mode" é tudo que eu vejo.

Eu sei uma maneira de reconstruir o conteúdo do pendrive (ele contém apenas a partição de inicialização) reinstalando todo o sistema novamente, e isso forçará a construção da partição de boot novamente corretamente, mas estou procurando algo mais inteligente.

Então, como reconstruir toda a partição de inicialização + grub, não apenas polir 2 ou 3 arquivos dentro dela.

    
por greenoldman 07.08.2011 / 15:29

1 resposta

3

Ok, então se você quiser que o antigo pendrive funcione como o segundo, veja como você pode fazer isso:

  1. Faça o backup do conteúdo do pendrive antigo.
  2. Depois de ter os dois pendrives conectados e o sistema em execução, particione novamente o pendrive antigo de modo semelhante para como o segundo é a partição - ou seja, torne a partição /boot o antigo tem o mesmo número e tipo do novo (consulte as saídas de fdisk -l ). Não se esqueça de torná-lo inicializável.
  3. Limpe (mantendo um backup em algum lugar) o conteúdo de /boot/ no pendrv antigo e copie todos os arquivos do novo.
  4. Desmontar os dois pendrives, lembrando qual é qual (eu quero dizer /dev/sd[ab] etc.)
  5. Sobrescreva o setor de inicialização do seu antigo pendrive com o do seu novo:

    Aqui, estou assumindo que /dev/sdb é seu pendrive antigo e /dev/sdc é o NOVO - certifique-se de substituir os nomes de dispositivos apropriados, caso contrário você pode até atrapalhar todo o seu sistema!

    dd if=/dev/sdc bs=512 count=1 of=/dev/sdb

Mais uma vez, o parâmetro if= deve apontar para o novo - o que funciona bem agora e o parâmetro of= deve apontar para o pendrive OLD (aquele a ser corrigido).

Deve ser isso. O pendrive antigo deve funcionar como o novo agora.

    
por 07.08.2011 / 16:40