Isso realmente está me deixando para baixo. Eu tenho o Gentoo e o Ubuntu, ambos com o Grub2. O Gentoo tem uma /boot
partição dedicada , enquanto o Ubuntu não. Eu tenho um menuentry
no Gentoo /etc/grub.d/40_custom
para inicializar o Ubuntu (e o Ubuntu inicializa bem).
Como o Ubuntu vem com o Grub, quero carregar em cadeia esse, em vez de manter minha entrada que define a raiz, o kernel, o initrd e outras coisas. Isto é o que eu tenho para o chainloader (o Ubuntu está ativado /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 alguma coisa?
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, está no Gentoo, está no /dev/sda2
Ubuntu /dev/sda4
. Ubuntu está /boot
está em /dev/sda4
também.
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.
/dev/sda4
. Você tem mais de um disco? Qual é a sua tabela de partição? Por favor, publique a saída defdisk -l
e as mensagens degrub-install /dev/sda4 --no-floppy --force
.Respostas:
Você pode carregar o GRUB2 em cadeia do GRUB2, 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 os zeros).
Eu tentaria isso, embora não esteja 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. Existem duas maneiras de fazer isso.
O que eu usaria é 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 que 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 "desistir" dessa opção.
Mais informações sobre esses comandos podem ser encontradas aqui .
fonte
A parte inicial do processo de inicialização consiste no carregamento do 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 / inicialização. No entanto, você normalmente pode mudar isso durante a instalação do Linux, mas nas rotinas de instalação modernas, isso geralmente está oculto.
Você diz que possui 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 em cadeia. Você deve inicializar no Gentoo e depois chroot na partição Ubuntu. Certifique-se de que / boot agora aponte corretamente para o Ubuntu- / boot e não para o Gentoo! Agora instalar o GRUB 2 no primeiro setor do Ubuntu-partição / dev / sda4:
grub-install /dev/sda4 --no-floppy
.Como sempre, ao mexer no MBR e nas partições, verifique se você possui um backup funcional e atualizado antes de iniciar.
fonte
/dev/sda4
(os últimos dois bytes devem ser0x55 0xaa
). Você poderia postar a saída de</dev/sda4 head -c 512 | hd
?grub-install /dev/sda4 --no-floppy --force
, caso contrário, haverá algumas queixas sobre blocklistsO sda4 não será (hd0,3) no grub ou esse tipo de coisa mudou no grub2?
fonte