Como evito que dois sistemas operacionais bloqueiem arquivos grub?

6

Eu quero instalar o Linux e o OpenSolaris no mesmo disco rígido em diferentes partições. Estou preocupado porque o OpenSolaris parece gerenciar ativamente os dados do grub ao atualizar o sistema operacional (parte do recurso "ambiente de inicialização"). Há algo que eu deva preparar para evitar que meus dados do grub fiquem sujos? Se mais tarde eu quiser adicionar outra versão do Linux ao mesmo sistema, quais são as considerações? Devo escolher um sistema operacional e sempre fazer atualizações do grub daquele sistema operacional? Se sim, então como eu uso a instalação iso para uma nova versão do Linux? Não vai em frente e modifica os dados do grub por conta própria? Uma vez que eu já inicializei no Linux, e eu quero atualizar meus arquivos grub, devo executar um comando grub que leia os dados da seção de inicialização da unidade e colocá-lo no sistema de arquivos local em que estou atualmente inicializado?

    
por Chris Quenelle 29.10.2008 / 18:22

6 respostas

3

Você terá que dizer a um SO ou outro não para atacar automaticamente o setor de inicialização do GRUB.

Todas as distribuições do Linux que eu vi têm alguma forma de evitar que o CD de instalação deles danifiquem o setor de inicialização, mas geralmente estão em alguma opção avançada obscura.

A maioria dos dados de configuração do GRUB não é armazenados no setor de inicialização muito pequeno, que contém apenas um programa de carregador pequeno e um ponteiro para onde encontrar o restante. Os dados de configuração são normalmente armazenados em um diretório regular em uma partição comum na unidade ( /boot em várias distribuições do Linux). Então, a menos que o Solaris esteja realmente entrando e monkeying com os dados na partição do Linux, provavelmente não é um grande negócio ... se um sistema operacional obtiver o setor de inicialização criado pelo outro, você pode recuperá-lo facilmente.

    
por 29.10.2008 / 18:31
3

O Grub é um programa como qualquer outro. Há uma pequena seção no início do seu disco rígido (o registro mestre de inicialização) que aponta qual programa deve ser usado para carregar os sistemas operacionais. Essa é a coisa que fica prejudicada quando você instala um novo grub. É possível, no entanto, optar por não instalar o grub com um novo sistema operacional (exceto o Windows, que deve sempre ser instalado primeiro em um sistema de inicialização múltipla). Se você optar por não instalar o grub, você deve configurar o grub do sistema original para reconhecer o novo. Em outras palavras, você controla o grub de todos os sistemas operacionais de um (neste caso, parece que o Solaris seria a melhor escolha se for tão agressivo). Dentro deste sistema operacional, adicionar outras opções ao seu grub é muito fácil. Em /boot/grub/menu.lst você pode adicionar novas opções e selecionar seu pedido. Por exemplo, eu corro o Ubuntu, o Windows e o Gentoo para brincar. Meu menu.lst contém as entradas:

title       Ubuntu 8.04.1, kernel 2.6.24-18-generic
root        (hd1,0)
kernel      /boot/vmlinuz-2.6.24-18-generic root=UUID=887466bc-8a0d-4408-
17a-91ec1cfd9f2a ro quiet splash vga=795
initrd      /boot/initrd.img-2.6.24-18-generic
quiet

title       Microsoft Windows XP Professional
root        (hd0,0)
savedefault
makeactive
chainloader +1

title       Gentoo Linux 2.6.25-gentoo-r7
root        (hd0,1)
kernel      /boot/kernel-2.6.25-gentoo-r7 root=/dev/hdb2

Cada uma delas contém informações básicas sobre o sistema que eu quero carregar, incluindo nome, localização do disco rígido (disco e partição) e onde, nesse disco, a coisa a carregar é. Observe que, como o Windows quer carregar a si mesmo, deixamos que o grub saiba que vai carregar o bootloader do Windows na partição 0 do disco 0 (logo no início) e executá-lo. Para um sistema Linux, você realmente precisa apenas do nome, do drive raiz e da localização do kernel para adicionar um novo no seu menu grub.

Se você instalar mais tarde um linux, e esquecer de pular a instalação do grub, você também pode copiar o menu.lst de um para outro.

    
por 29.10.2008 / 19:50
2

Acho melhor você executar um dos sistemas operacionais como uma máquina virtual.

Com uma CPU moderna que suporta extensões de VM e um par de GB de RAM, você pode executar facilmente 3-4 máquinas. Use o snippet a seguir para verificar se sua CPU os suporta.

egrep '^flags.*(vmx|svm)' /proc/cpuinfo

Existem muitas opções para isso: Xen, kvm, VirtualBox, VMware.

    
por 29.10.2008 / 19:28
1

A última vez que configurei um sistema de dual boot (antes dos dias das máquinas virtuais, como na resposta da pessoa anterior), costumava dar a você a opção de criar um disquete de inicialização. Isso foi útil, porque depois que você instalou outro sistema operacional e ele escreveu em todo o Master Boot Record, você poderia inicializar a partir do disquete, configurar o Grub para carregar os outros sistemas operacionais e reinstalá-lo no MBR. Eu não sei qual é o equivalente moderno, porque eu uso o VMware.

    
por 29.10.2008 / 19:40
0

Não compartilhe /boot entre sistemas operacionais, é apenas mais trabalho. O padrão para a maioria das distribuições modernas é ter um único sistema de arquivos / , com /boot sendo apenas um subdiretório, mas mesmo que /boot seja sua própria partição, tudo ficará bem com um separado por sistema operacional. p>

Cada sistema operacional gerenciará seu próprio /boot , e um deles será a partição inicializável padrão - você deverá ser capaz de configurá-lo facilmente para carregar o outro. O Grub pode instalar seus cabeçalhos em apenas sua própria partição sem afetar todo o disco.

    
por 29.10.2008 / 18:39
0

você pode tentar instalar o WITHOUT grub e apenas manter um cd contendo o super grub, que permitirá que você inicialize qualquer um dos sistemas operacionais.

Super Grub Disk é esse utlity que, uma vez executado, roda o grub e você pode escolher o seu sistema operacional, corrigir o grub no seu MBR e outros.

eu acho que você também pode criar um disco de inicialização além do grub ou do lilo. Eu não tenho certeza como isso é feito.

    
por 30.10.2008 / 07:29