Confuso sobre boot.ini

1

Eu recentemente li um pouco sobre boot.ini e estou um pouco confuso. Pelo que entendi, boot.ini funciona como menu.lst para o GRUB (ou qualquer outro arquivo que o GRUB precisa). Portanto, se o boot.ini vier antes de o computador inicializar no Windows (ou qualquer outro sistema operacional), ele poderá ser usado em vez do GRUB? Se assim for, o boot.ini não é muito "coisa do Windows", é? (Desde que pode ser usado de forma totalmente independente do Windows). Talvez eu esteja perdendo alguma coisa e o que eu disse aqui é um completo lixo. Alguém pode explicar isso para mim? Obrigada!

    
por user1094565 19.07.2012 / 17:52

3 respostas

3

O arquivo boot.ini é parte do NTLDR , o gerenciador de inicialização usado no Windows NT até o XP e no Sever 2003 ( isto é, até a versão principal do kernel NT 5). É muito mais uma coisa do tipo "Windows", pois é distribuída com o Windows e projetada para ser usada com o Windows. No entanto, ele tem a capacidade de carregar o GRUB e qualquer outro carregador de inicialização.

Versões mais recentes do Windows (Vista, 7) usam BOOTMGR , que depende de um BCD (Dados de configuração de inicialização) armazenar em vez do simples arquivo de texto boot.ini . Ele pode ser usado novamente para carregar o GRUB ou outros gerenciadores de inicialização. Na verdade, programas como o EasyBCD e o Visual BCD Editor fornecem um processo muito simples para adicionar uma entrada para o GRUB.

Chainloading pode ser basicamente descrito como o bootloader substituindo-se na memória por outro diferente. Se um bootloader suportar loadloading, basicamente você poderá direcioná-lo para carregar qualquer arquivo que possa ler (em um sistema de arquivos FAT / NTFS no caso de bootloaders do Windows) e executá-lo como se o arquivo fosse o bootloader original. Teoricamente, você pode formar um loop, onde um bootloader carrega outro que carrega o original, e assim por diante ...

Há uma descrição muito boa do processo de inicialização no artigo da Wikipédia aqui .

    
por 19.07.2012 / 18:50
1

O carregador de inicialização do Windows é instalado no Registro mestre de inicialização da primeira unidade inicializável por padrão.

O processo de inicialização usa o arquivo boot.ini para configurar as opções a serem apresentadas na inicialização.

O gerenciador de partida do Windows é positivamente simplista quando comparado ao GRUB.

O Boot.ini tem uma semelhança de passagem com menu.lst, mas a semelhança é uma evolução mais convergente do que qualquer outra coisa.

É possível, embora não totalmente trivial, fazer o gerenciador de partida do Windows acionar outro sistema operacional. Para conseguir isso, você precisa de uma cópia dos registros de inicialização para a unidade de inicialização do outro sistema operacional, então você pode adicionar uma referência a isso no boot.ini que permitirá que esse registro de inicialização seja executado para carregar o outro sistema operacional. Veja o última entrada nesta discussão para mais detalhes.

Mesmo o GRUB não tenta realmente inicializar o Windows, ele simplesmente entrega (cadeias) ao gerenciador de inicialização do Windows.

    
por 19.07.2012 / 18:26
1

Até onde eu entendi, a inicialização para um PC compatível com IBM é a seguinte:

  1. O computador executa o teste automático de inicialização.
  2. O BIOS do computador localiza o dispositivo de inicialização e carrega e executa o MBR (Master Boot Record).
    Os sistemas modernos podem ter o EUFI em vez do BIOS. O UEFI pode carregar as unidades MBR e GPT. Eu vou ignorar esses por enquanto.
  3. O MBR contém a tabela de partições do disco. Uma das partições será marcada como 'ativa'. O BIOS carrega o setor de inicialização a partir da partição ativa para a memória e, em seguida, o executa.
  4. Se este for um setor de inicialização do Windows mais antigo , o programa no setor de inicialização iniciará e inicializará o arquivo NTLDR, que é o carregador do sistema operacional.
  5. O NTLDR usa o boot.ini para apresentar opções

Você pode apontar o carregador NT (ntldr) para outra instalação. Por exemplo. se o seu antigo boot.ini for assim:

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00"
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00 [VGA mode]" /basevideo /sos
C:\="MS-DOS"

então você pode adicionar uma linha com C:\bootsect.lnx="Boot Linux e colocar o bootsector do linux em um arquivo c: \ bootsect.lnx. Então você pode usar o mesmo menu para selecionar entre as opções de inicialização do Windows e o Linux. Selecionar a opção de inicialização do linux irá disparar quaisquer comandos que estejam naquele arquivo, o que pode ser um gerenciador de inicialização do GNU / Linux. Isso apresentaria um segundo (e possivelmente indesejado) menu para seleção.

Isso significa que o nltdr não inicializa nada além do windows, mas você pode deixá-lo passar para o processo de inicialização para outro gerenciador de inicialização.

    
por 19.07.2012 / 18:42