Chainload duas instalações do Grub2

14

Isso está realmente me deixando pra baixo. Eu tenho o Gentoo e o Ubuntu, ambos com o Grub2. O Gentoo tem uma partição /boot dedicada, enquanto o Ubuntu não possui. Eu tenho um menuentry no /etc/grub.d/40_custom do Gentoo para inicializar o Ubuntu (e o Ubuntu inicializa OK).

Como o Ubuntu vem com o Grub, quero carregá-lo, em vez de manter minha entrada, que define a raiz, o kernel, o initrd e o material. Isto é o que eu tenho para o chainloader (o Ubuntu está no /dev/sda4 e eu já instalei o Grub lá):

menuentry 'Chainloader' {
    insmod chain
    set root=(hd0,4)
    chainloader +1
}

Está me dando error: Invalid signature e não encontrei nenhuma solução disponível. Alguém pode apontar algo?

Este é o resultado de </dev/sda4 head -c 512 | hd

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

Este é o resultado de fdisk -l . /dev/sda1 é /boot do Gentoo, o Gentoo está em /dev/sda2 , o Ubuntu está em /dev/sda4 . O /boot do Ubuntu também está em /dev/sda4 .

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe001152b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           9       72261   83  Linux
/dev/sda2              10       13064   104864287+  8e  Linux LVM
/dev/sda4   *       18152       19457    10490445   83  Linux

Não há erro com grub-install /dev/sda4 --no-floppy --force

/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
    
por phunehehe 13.10.2010 / 20:34

3 respostas

4

Você pode carregar o GRUB2 a partir do GRUB2, eu apenas tentei da maneira que você descreveu e funciona. No entanto, as informações que você forneceu fazem parecer que a imagem de inicialização não foi incorporada no MBR do disco (ou não seriam todos zeros).

Eu tentaria isso, embora não seja exatamente usando o GRUB2 do Ubuntu (apenas o arquivo de configuração). Você pode criar uma entrada de menu no arquivo de configuração do Gentoo GRUB2 que carrega o arquivo de configuração do Ubuntu. Há duas maneiras que vejo para fazer isso.

O que eu usaria é com o comando normal , que permite especificar um arquivo de configuração para carregar no modo normal. Se você seguir esse caminho, existe um comando chamado normal_exit que você pode adicionar como um item personalizado na sua configuração do Ubuntu, o que lhe permitiria retornar à sua configuração do Gentoo.

A outra opção é o comando configfile , que permite especificar um arquivo de configuração alternativo para carregar. Parece que seria mais difícil "recuar" desta opção.

Mais informações sobre esses comandos podem ser encontradas aqui .

    
por 20.06.2011 / 07:46
3

A parte inicial do processo de inicialização consiste em carregar o código do primeiro setor do disco rígido, o chamado Master Boot Record (MBR) . Normalmente, o Grub é gravado neste primeiro setor de disco rígido e não no primeiro setor da partição / boot da partição. No entanto, normalmente você pode alterar isso durante a instalação do Linux, mas nas rotinas modernas de instalação, isso geralmente fica oculto.

Você diz que tem o Grub instalado em / dev / sda4, mas sua configuração parece correta e a mensagem de erro que você postou sugere, que o Grub pode não estar instalado corretamente na partição que você deseja carregar. Você deve inicializar no Gentoo, então fazer o chroot na partição do Ubuntu. Certifique-se que / boot agora aponta corretamente para o Ubuntu- / boot e não o do Gentoo! Agora instale o Grub 2 no primeiro setor do Ubuntu-Partition / dev / sda4: grub-install /dev/sda4 --no-floppy .

Como sempre, ao mexer com o MBR e as partições, verifique se você tem um backup funcional e atualizado antes de começar.

    
por 13.10.2010 / 23:13
-1

O sda4 não será (hd0,3) no grub, ou esse tipo de coisa mudou no grub2?

    
por 14.10.2010 / 19:52