
Tenho brincado com o Debian ultimamente, pois me pareceu o passo mais lógico depois de iniciar minha jornada no Linux com o Ubuntu (eu realmente não gosto do Unity e instalar o GNOME junto com isso me incomoda, pois não consigo desinstalar Unity completamente sem atrapalhar muitas das funções restantes da área de trabalho.) Uma coisa que sempre me incomodou durante a instalação é a opção de instalar o GRUB.
Parece-me que não deveria ser necessário e deveria apenas inicializar diretamente no kernel, como o Ubuntu e o Windows fazem, em vez de me fazer selecionar um, e minha escolha é sempre a mesma - a opção padrão.
Durante a instalação, o texto explicando a opção diz algo como "Precisamos tornar o Debian inicializável" - que é a principal razão pela minha hesitação em selecionar "não". Eu certamente quero que ele inicialize! Eu poderia aproveitar o tempo e ver o que acontece se eu selecionar “não”, mas acho que seria sensato perguntar a todos vocês primeiro.
É seguro selecionar “não” para a instalação do GRUB? O Debian ainda inicializará se não estiver instalado? Se for seguro selecionar “não”, há alguma desvantagem nessa opção?
Responder1
Hum... Como posso dizer. Debian é uma distribuição Linux que roda em um computador, mas para levá-lo a um estado em que possa começar a funcionar é necessário um gerenciador de inicialização. A distro basicamente pega carona no GRUB ou em qualquer outro bootloader até que esteja pronto para ser executado. Você poderia usar o syslinux como alternativa ao GRUB.
Responder2
Para expandir a resposta aceita…
Quando um PC x86 é iniciado, sua CPU está executando em modo real de 16 bits e executa o código armazenado no BIOS. Depois que o BIOS executa o POST e a configuração inicial, ele lê os primeiros 512 bytes do início do disco de inicialização e transfere a execução para lá — é o código inicial de um carregador de inicialização que deve fazer o resto.
Agora considereo que é descanso. No caso mais simples, o carregador de boot deve ser capaz de localizar e carregar a imagem do kernel e transferir a execução para lá. O carregador Linux padrão de fato mais antigo, lilo
mantinha um mapa contíguo de todos os setores nos quais o kernel estava armazenado. Mas o quadro mudou bastante desde então: mais sistemas de arquivos entraram em uso, tornou-se habitual manter o kernel em um dispositivo RAID ou em um disco lógico LVM ou em uma pilha de todos estes. Os computadores começaram a apresentar discos mais conectáveis, o que significa uma ordem arbitrária de inicialização e, portanto, problemas de nomenclatura. Agora considere que hoje em dia criar um sistema genérico baseado em Linux requer alguns recursos disponíveis antecipadamente.espaço do usuárioferramentas que são mantidas no chamado "initrd" (disco RAM inicial) ou "initramfs" (sistema de arquivos RAM inicial), então, na verdade, o carregador de boot carrega não apenas o kernel do Linux, mas também um initramfs correspondente para ele.
Portanto, a tarefa do carregador de boot é:
- O próprio Bootstrap - esses 512 bytes só podem encontrar e carregar algo mais complicado.
- Descubra e inicialize todas as camadas necessárias para acessar o sistema de arquivos de inicialização (o sistema de arquivos que contém o kernel e seu initramfs).
- Carregue tudo e transfira o controle para o kernel.
Agora considere que a maioria das pessoas acha útil ser capaz de visualizar e controlar de alguma forma esse processo, portanto, há um requisito para que o gerenciador de inicialização seja capaz de apresentar um tipo de menu e a capacidade de ajustar o que será carregado e como. A capacidade de carregar um kernel alternativo também pode ser um bônus (por exemplo, um novo kernel instalado a partir do repositório de atualizações de segurança do Debian nunca remove o kernel existente - em vez disso, esse kernel é mantido de lado e fica disponível para inicialização se uma regressão for encontrada em um novo).
Então, como pode ser visto, a menos que lidemos com algum tipo de sistema embarcado com requisitos de memória/espaço de armazenamento muito restritos e no qual ninguém controla como o kernel é carregado, não é razoável colocar essa funcionalidade diretamente no kernel, mais ainda , já que o carregador de boot é um software inerentemente altamente dependente da plataforma de hardware. É por isso que existe um gerenciador de inicialização e por que em um sistema genérico a necessidade de usá-lo é principalmente inevitável.