Por favor note, como Giles apontou, isso se aplica apenas à arquitetura x86.
Antecedentes
Se você quer aprender a ordem correta, você precisa instalar um sistema host no QEMU antes de instalar um kernel. Embora esta abordagem pareça contra intuitiva para aprender sobre o processo de inicialização, é a única maneira de trabalhar. Deixe-me explicar:
Um sistema em execução de qualquer SO tem pelo menos 3 partes:
- Um Kernel
- Um carregador
- O sistema operacional inicializado final.
Os computadores operam em dois modos:
- Modo real
-
Modo Protegido , às vezes mencionado incorretamente como Modo Virtual.
Todos os processadores x86 operam de alguma forma desses dois modos, não importa o quão sofisticados sejam ou com que rapidez operem. Para obter mais informações, consulte a lista à direita dos artigos da WikiPedia que eu vinculei.
Como isso funciona
- Todos os computadores são iniciados no modo real.
O - Modo Real faz coisas como Verificar as Configurações da BIOS, certificar-se de que todos os seus Dispositivos estão conectados e Controla o Relógio para o Tempo.
- Uma vez Real Mode Conclui a verificação, o controle é passado para o carregador, também conhecido como o bootloader. O bootloader faz exatamente o que o nome indica, carregando apenas pedaços de código suficientes para transferir o controle do PC do Real Mode para o Protected Mode. Alguns Bootloaders conseguem essa transferência no início de sua "aquisição" Alguns fazem no final, mas a maioria faz isso em Estágios. Veja a inicialização .
- Depois que o Bootloader concluir o carregamento dos estágios, o sistema operacional poderá lidar de maneira segura e eficiente com todas as outras operações, já que o PC está agora no "Modo Protegido Permanente" até a próxima reinicialização.
Como isso se relaciona com o Grub
Se você observar os arquivos que foram copiados quando instalou o Grub corretamente, verá arquivos contendo o texto Stage. Deve haver 3. Stage1 *, Stage1_5 * e Stage2 *
- Estágio1 Carrega
boot.img
, que está incorporado no MBR / EFI. Está configurado para anexar discos e nas cargas Very end core.img
- O Stage1_5 usa
core.img
para carregar os setores 0-62, comumente chamado de BootSector. Esses setores por convenção não contêm nada e, portanto, os itens colocados neles nunca são sobrescritos ou atualizados automaticamente
- Quando o Stage_2 começa, os primeiros 62 setores e o caminho para o seu kernel foram determinados. O Stage_2 carrega o kernel, e seus arquivos auxiliares, mais naturalmente, o Disco de RAM Inicial na memória. O Disco RAM e o Kernel são então descompactados e usados para configurar o sistema e transferir o controle para o sistema operacional Linux escolhido.
Veja GNU Grub
Agora, a razão pela qual eu digo isso é contra-intuitiva: Você não pode começar na Etapa 3 de Como isso funciona e trabalhar na maneira como isso se relaciona com o Grub . Depois que o Estágio1.5 terminar, o Estágio_2 enviará você para um prompt de resgate, como o Kernel e o Disco RAM Inicial, se você tiver um, uma vez descompactado, não terá nenhum dispositivo para configurar, no seu caso hd0
. Além disso, o erro que o Grub está relatando está correto.
error: no such device
está correto porque não há nenhum sistema operacional em hd0
para configuração, portanto, não há nenhum sistema operacional para informar ao Grub Stage_2: "Ei, sou o sistema operacional que precisa ser carregado". Como tal, você deve trabalhar para trás, construindo ou instalando o sistema operacional, instalando um kernel e, finalmente, instalando o Bootloader. No seu caso, você precisa configurar o QEMU para carregar a imagem ISO de um LiveCD como um CD-ROM, em seguida, instalar o sistema operacional no disco virtual hd0
e, em seguida, configurar o carregador de inicialização. Para obter uma lista de LiveCDs, consulte Distribuições principais do DistroWatch . Se você se sentir mais confortável com menos inchaço, tente uma Distribuição Baseada em Fonte, como o Gentoo .