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

0

Estou usando o Grub 0.97 (chamado Legacy Grub) em uma unidade com uma tabela de partições 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.)

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

Copiei os primeiros 446 bytes de outra unidade que usava a mesma versão do Legacy Grub para o MBR de 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 ele 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. montado sdb2 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 resultou em

/dev/sdb does not have any corresponding BIOS drive

que circulei com grub-install --recheck /dev/sdb , que atualizou /boot/grub/device.map , todos os /boot/grub/*stage1_5 arquivos e /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 usei o shell do 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.

No entanto, , eu ainda estou recebendo o mesmo erro: Tela em branco com o cursor na inicialização da unidade.

Perguntas:

  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 esperaria que a sequência de comandos aproximadamente atualizasse esse ponteiro para apontar para um estágio existente 1.5 (ou estágio 2?), ou colocasse o estágio 1.5 no setor 2 e atualizasse o ponteiro para 0x01 0x00 0x00 0x00?
por Arnold Judas Rimmer 24.03.2018 / 15:14

0 respostas