Detectando OSs instalados

3

Quando se tenta inicializar uma distribuição Linux (digamos, Ubuntu) com uma instalação pré-existente do Windows ou de outros sistemas operacionais, o instalador detecta a presença do outro sistema operacional.

Eu quero saber como um instalador faz isso.

Eu fiz minha pesquisa e encontrei pacotes como o os-prober e o debian-installer que podem ser usados para fazer isso.

Eu gostaria de saber como eles funcionam sem entrar em muitos detalhes.

    
por gokul_uf 17.08.2015 / 21:24

3 respostas

3

Em esta página sobre o os-prober, pude encontrar a seguinte frase: O programa Josh Kwan e Eu desenvolvi para di fazer isso é bastante flexível, novos SOs e distribuições Linux podem ser adicionados apenas soltando em um arquivo de teste para verificá-los. É bastante bom em investigar todas as informações necessárias para inicializar alguma instalação do Linux (as partições root e / boot, um kernel, um initrd e os parâmetros do kernel). Como todas as versões do linux fazem as coisas de maneira um pouco diferente, isso não é uma tarefa fácil, as técnicas usadas incluem parsing / etc / fstab, buscas em / boot, parsing grub menu.lst, etc.

Acho que esses aplicativos primeiro verificam as informações conectadas ao layout do disco (por exemplo, entradas de uma partição do sistema MBR ou EFI ou outro exemplo: ele pode reconhecer uma partição formatada como NTFS como parte do Windows) e montam partições relevantes e tente verificar algumas outras características (por exemplo, o CentOS inclui um arquivo chamado / etc / centos-release).

    
por 17.08.2015 / 22:28
1

por exemplo. os-prober no linux acessa uma grande variedade de informações sobre o

  • controladores de armazenamento disponíveis
  • discos inicializáveis
  • partições / volumes nelas
  • camadas de abstração usadas para acessá-las

E, finalmente, os rótulos, tipos e códigos da partição e do sistema de arquivos.

Alguns são bem conhecidos por serem capazes de conter sistemas operacionais "estrangeiros" e, em seguida, são verificados em busca de arquivos de inicialização específicos do carregador de inicialização ou do sistema operacional. Em geral, os nomes também podem ser extraídos de lugares conhecidos ou inferidos.

    
por 17.08.2015 / 22:32
0

Este não é um tipo de detecção 'automática' - é configurado na configuração do gerenciador de inicialização.

Um Bootloader é, por exemplo, um link

do GRUB     
por 17.08.2015 / 22:21

Tags