Grub2 na partição de tabela msdos não carregará

0

meu laptop tem:

  1. 500gb hdd / dev / sda
  2. 22gb sdd / dev / sdb

Eu usei o boot do archlinux a partir de uma pequena partição ext2 em / dev / sda. O BIOS está configurado para usar o modo BIOS (não o uefi), a inicialização segura está desativada, o AHCI é automático. Esta configuração costumava funcionar.

Ontem fiz muitas mudanças aqui: instalei o windows 7 e troquei a partição. Agora a situação é:

  1. / dev / sda1 carregador do Windows 7
  2. / dev / sda2 windows 7
  3. partição estendida começando aqui
  4. / dev / sda5 boot (partição lógica, flag "boot")
  5. / dev / sda6 swap (partição lógica)
  6. / dev / sda7 home (partição lógica)

Nota: após a instalação do win7, o windows começou bem (seu bootloader foi instalado corretamente).

Uma vez que a restauração da partição linux estava completa, eu chrooted no meu sistema archlinux e reinstalado o grub em sda. O resultado foi que o laptop é iniciado, mas o BIOS reclama da falta de um sistema inicializável .

Eu posso iniciar meu archlinux a partir de um supergrubdisk , e isso confirma que a configuração do grub está bem. Eu tentei um milhão de vezes para reinstalar o grub em sda, ele apenas conclui sem erros, mas o resultado final é sempre o mesmo.

Infelizmente meu sistema original do archlinux foi instalado há mais de dois anos, e não posso ter certeza de que, naquele momento, instalei o grub na partição de inicialização (não no disco inteiro).

Estou faltando alguma coisa aqui?

A tabela de partições é msdos , funciona com o grub2? Requer uma tabela de partições GPT?

A partição de inicialização tem o sinalizador "boot", isso é suficiente?

Só para esclarecer: a bios é iniciada, mas não consegue encontrar algo "inicializável", portanto, recebo um erro no nível do BIOS. Eu nunca consigo grub ou um erro relacionado com o grub.

O que posso fazer para tornar meu laptop inicializável novamente?

    
por Desmond 04.07.2015 / 14:44

1 resposta

0

Primeiro, uma ferramenta útil para investigar praticamente qualquer problema de inicialização envolvendo o Linux é o Script de Informações da Inicialização. Esta ferramenta apresenta um arquivo chamado RESULTS.txt que inclui a maioria das informações necessárias para solucionar a maioria dos problemas de inicialização envolvendo o Linux. Por favor, execute esse script e examine os resultados. Se você não conseguir descobrir a partir daí, provavelmente vai querer postá-lo em um site pastebin e postar o URL aqui para outras pessoas ler.

Em segundo lugar, você escreveu:

The bios is set to use BIOS mode (not uefi)

Embora alguns computadores suportem tal configuração, muitos (eu suspeito que a maioria) não; ativar o modo BIOS / CSM / herdado simplesmente torna possível o uso do modo de inicialização . O firmware ainda pode escolher arbitrariamente inicializar no modo EFI / UEFI mesmo quando o modo BIOS / CSM / legado está ativado. Isso é relevante porque é totalmente possível que você tenha instalado o Windows no modo BIOS e o Linux no modo EFI; ou a máquina pode estar tentando uma inicialização no modo EFI apesar do fato de você não ter um carregador de inicialização no modo EFI. Configurações de modo misto podem ser pesadelos para manter. (Veja minha página na Web sobre este assunto para mais informações.)

Você pode testar seu modo de inicialização do Linux procurando um diretório chamado /sys/firmware/efi . Se estiver presente, você definitivamente inicializou no modo EFI; mas se estiver ausente, você provavelmente inicializou no modo BIOS. (Existem maneiras de inicializar no modo EFI e não ter um diretório /sys/firmware/efi , mas esse resultado é incomum.) É claro que, como você inicializou o Linux por meio de um disco de inicialização separado, o modo de inicialização não informa nada sobre carregadores instalados no seu disco rígido.

I tried one million times to reinstall grub on sda, it just completes without errors but the final result is always the same.

Qual comando exato você usou? Quais pacotes do GRUB você instalou? (A maioria das distribuições tem pacotes diferentes para o modo BIOS e o GRUB no modo EFI, embora eu não tenha certeza se isso é verdade para o Arch.)

The partition table is msdos, does it work with grub2? Does it require a GPT partition table?

O GRUB 2 suporta tanto o MBR ( msdos , conforme descrito pelo GParted e parted ) quanto o GPT. Este não é o seu problema - mas uma tabela de partição MBR indica que o Windows está definitivamente instalado no modo BIOS, já que o Windows vincula o modo de inicialização ao tipo de tabela de partição com bastante intensidade. (MBR significa BIOS, GPT significa EFI.) O Linux é muito mais flexível nessa questão, o que pode se tornar um problema em casos como o seu.

The boot partition has the "boot" flag, is it enough?

Em um disco MBR, o "sinalizador de inicialização" identifica uma partição que contém um carregador de inicialização de segundo estágio. Ele é usado pelo carregador de inicialização do Windows, SYSLINUX (IIRC) e alguns outros carregadores de inicialização. Não é (IIRC) usado pelo GRUB, então é basicamente irrelevante no seu caso.

Just to clarify: the bios starts but is unable to find something "bootable", thus I get an error at BIOS level. I never get to grub or a grub related error.

Sempre denuncie a mensagem de erro exata e completa . Geralmente, é útil fazer uma captura de tela (foto digital), já que o contexto pode fornecer pistas para os experientes em tais coisas.

Se eu tivesse que adivinhar, diria que uma das duas coisas está acontecendo:

  • Seu firmware está tentando inicializar no modo BIOS, mas algo eliminou ou danificou o carregador de boot no MBR, fazendo com que a inicialização falhasse. Nesse caso, a reinstalação do GRUB deve corrigir o problema. Eu sei que você diz que fez isso, mas sem saber o comando exato que você usou, eu não posso dizer se você usou o comando certo; e como eu sugeri anteriormente, você pode ter instalado repetidamente um carregador de inicialização no modo EFI, o que não fará bem se o computador estiver tentando apenas uma inicialização no modo BIOS.
  • Apesar do suporte a BIOS / CSM / legado no firmware, ele está tentando inicializar no modo EFI e está ficando confuso pela falta de um carregador de inicialização no modo EFI - ou talvez esteja encontrando algo danificado e, portanto, não está recuando em uma inicialização no modo BIOS.

A saída do Script de Informações de Inicialização e os detalhes adicionais que solicitei devem ajudar a identificar qual dessas duas coisas está acontecendo (ou se pode ser algo totalmente diferente).

Como alternativa, se quiser começar do zero, recomendo desativar o modo herdado BIOS / CSM /. Isso geralmente resulta em um caminho de inicialização mais simples no firmware, já que todas as opções do BIOS estão fechadas. Você pode, então, trabalhar com quaisquer problemas que o Windows e o Linux apresentem ao inicializar seus instaladores e ter certeza de que você está instalando ambos os sistemas operacionais no modo de inicialização nativa da máquina.

    
por 04.07.2015 / 22:39