Como restaurar o Grub Legado em um estado inicializável?


0

Estou usando o Grub 0.97 (chamado Legacy Grub) em uma unidade com uma tabela de partição MBR e quatro partições, sdb {1..4}. O conteúdo dessas partições é copiado de outro disco. sdb2 contém /, sdb1 contém o que será / boot (com o sinalizador de inicialização definido), sdb3 é um FS de troca e sdb4 é / home. (É sdb em vez de sda ​​porque esta unidade fica em um dock USB por enquanto.)

O sdb1 começa no setor 2048, conforme as políticas de alinhamento do setor. Contém Grub Legado.

Eu copiei os primeiros 446 bytes de outra unidade que usava a mesma versão do Legacy Grub para o MBR do sdb. Quando eu inicializo isso, eu recebo uma tela em branco após o POST com um cursor no canto superior esquerdo, o que é um tanto surpreendente (eu estava esperando que ele reclamasse de um estágio faltante 1.5, mas talvez não faça isso). Então eu queria instalar o estágio 1.5 do Legacy Grub (o estágio 2 já está no disco), então aqui está o que eu fiz:

  1. sdb2 montado como / mnt / t, sdb1 como / mnt / t / boot
  2. re-bound / {dev, proc, sys} como / mnt / t / {dev, proc, sys}
  3. chroot /mnt/t (para ter certeza de usar o Grub de sdb, não de sda)
  4. grub-install /dev/sdb

que rendeu em

/dev/sdb does not have any corresponding BIOS drive

que eu tenho por aí com grub-install --recheck /dev/sdb que atualizou /boot/grub/device.map, todos /boot/grub/*stage1_5 arquivos, bem como /boot/grub/stage{1,2}. Quando eu tentei arrancar a partir dele, recebo o mesmo erro: tela em branco com o cursor no canto superior esquerdo.

Então eu usei o shell grub no cenário acima:

  1. # grub
  2. >root (hd0,0)
  3. >setup (hd0)

que imprimiu algumas informações sobre atualizações, mas nenhum erro.

Contudo , Eu ainda estou recebendo o mesmo erro: tela em branco com cursor após a inicialização da unidade.

Questões:

  1. Os comandos grub acima pareciam não ter nenhum impacto nos primeiros setores da unidade. Todos os setores de 2 a 2047 são zerados mesmo após os comandos do grub acima. Onde está o estágio 1.5 do Legacy Grub?
  2. O que é /boot/grub/stage1? Ele difere do MBR real na unidade, na medida em que permite que o ponteiro do estágio 2 aponte para 0x01 0x00 0x00 0x00. O MBR real no disco aponta para algum local da unidade antiga. Eu teria esperado que a seqüência de comandos sobre atualizaria esse ponteiro para apontar para um estágio existente 1.5 (ou estágio 2?) Ou colocar o estágio 1.5 no setor 2 e atualizar o ponteiro para 0x01 0x00 0x00 0x00?
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.