Micro Cosmo
Volte
19/02/96

< Gerenciador de Boot I >


Na coluna da semana passada vimos como é possível dar boot com dois sistemas operacionais diferentes que moram na mesma partição. Mas faltou dizer algo que não mencionei por me parecer evidente na ocasião mas que, por via das dúvidas, não custa enfatizar. Seguinte: como já discutimos aqui mesmo neste MicroCosmo, distintos sistemas operacionais podem usar diferentes sistemas de arquivos. O DOS e o Windows 95 só conhecem o sistema baseado na velha tabela de alocação de arquivos, ou FAT. Já o Windows NT, além da FAT, reconhece ainda seu sistema de arquivos denominado NTFS. E o mesmo ocorre com o OS/2, que trabalha com a FAT herdada do DOS ou com seu próprio sistema de arquivos de alto desempenho, o HPFS. E consegue até usarambos ao mesmo tempo. Desde que, é claro, habitem diferentes discos ou partições (por exemplo: o OS/2 pode “enxergar” no mesmo micro um drive C usando HPFS e um drive D usando FAT). Ora, no dual boot os dois sistemas coexistem na mesma partição. Que deve, por conseguinte, ser “enxergada” por ambos. E como o DOS somente reconhece discos que usam FAT, não é difícil concluir que, quando se deseja alternar entre os dois sistemas operacionais via dual boot, o sistema de arquivos usado pela partição onde eles cohabitam (obrigatoriamente a correspondente ao drive C) deve, necessariamente, se basear na FAT, nunca no HPFS.

Isto posto, vamos ao que interessa: o gerenciador de boot, ou boot manager, um jeito de escolher entre até três sistemas operacionais diferentes para dar o boot. Uma coisa aparentemente complicadíssima. Menos para nós, é claro. Que, com tudo o que sabemos sobre o boot, deslindaremos o mistério com o pé nas costas.

Mas antes de descobrir como ele faz, precisamos saber o que ele faz. Quer dizer: saber o que acontece quando se liga um micro que usa o boot manager.

No começo, nada de extraordinário. As coisas se passam como de hábito: teste de memória, leds que piscam e tudo o mais que costuma acontecer no início do processo de boot. O que não deve surpreender a ninguém que leu as últimas colunas. Pois trata- se, evidentemente, do POST, o auto-teste de partida. Que nada tem a ver com o sistema operacional e cujas rotinas gravadas em ROM são executadas sempre que o micro é ligado. E tudo segue o velho roteiro até o ponto em que, dando suas atividades por findas, o POST inicia aquilo que, normalmente, seria a carga do sistema operacional. Ou seja: lê o setor de boot onde está o código denominado “bootstrap”, ou registro de boot, carrega-o na memória e cede-lhe o controle da máquina.

Neste ponto, ao invés das costumeiras mensagens informando que um sistema operacional está sendo carregado, surge uma tela estranha para os que só recentemente começaram a mergulhar nas turvas águas da informática, mas bastante familiar para os veteranos dos tempos dos programas DOS em tela texto. Uma tela onde, imaginem, não aparece cursor do mouse nem existem ícones ou quaisquer figurinhas multicores. Uma tela que, no alto, informa laconicamente se tratar do menu do boot manager. Logo abaixo mostra duas ou três linhas (dependendo de quantos sistemas operacionais podem ser escolhidos para o boot) com os nomes dos sistemas disponíveis, uma delas destacada (durante a instalação do boot manager pode-se escolher um dos sistemas como default, caso em que a linha correspondente estará sempre destacada, ou não, caso em que a linha destacada corresponde ao sistema com o qual foi dado o último boot). E na base da tela, mais três linhas. A primeira diz que se você não selecionar um sistema em um dado número de segundos (também determinado durante a instalação), a máquina dará o boot pelo sistema correspondente à linha destacada. A segunda, que se você premir a tecla Esc desabilitará o temporizador e poderá demorar o tempo que quiser para escolher o sistema com o qual será dado o boot - um evidente exagero, já que este é o tipo da decisão que dispensa longas meditações. E finalmente a terceira, no pé da tela, informa que você pode mover o destaque com as setas para cima e para baixo para selecionar outro sistema operacional que não o atualmente destacado, e que teclando ENTER provocará o boot imediatamente com o sistema selecionado.

Ao que parece a máquina está executando um programa. Um programinha, aliás, muito simples. Na verdade um programa que, aparentemente, nada tem de extraordinário.

Exceto por um detalhe. Como se trata do gerenciador de boot, cuja finalidade é justamente permitir escolher o sistema operacional, evidentemente ele roda antes que o sistema operacional seja carregado. Ou seja: trata-se de um programa que roda em uma máquina ainda sem sistema operacional.

Pode?

B. Piropo